Repository navigation
Releases: wangzhuoyuan229-source/aivchatdemo
Release list
ChatApp v1.4.7
本次更新统一了按钮文字与图标居中,操作文字调整为 14px,工具栏和弹窗支持窄窗口换行。页面、会话、菜单、弹窗及展开区域加入 180ms 可中断淡入动画,聊天流式输出不会反复触发。
同时包含当前的自动场景、剧情时钟和参考回复修正:校验实际入退场与地点变化,保留精确剧情时间,避免过期问题或无依据选项干扰当前回复。
下载与安装
适用于 Apple Silicon Mac,macOS 12 或更高版本。解压 ChatApp-macOS-arm64.zip 后,将 ChatApp.app 替换到应用程序目录;本机聊天记录、知识索引和 API 配置保留在用户数据目录中。
安装包包含 .NET 运行时及完整内置知识库。包使用 ad-hoc 签名,未经过 Apple 公证。
验证
- Debug / Release:各 911 项通过、7 项真实 API 测试默认跳过;本轮发布未重新运行真实 API 测试。
- Linux CI:主分支与 v1.4.7 标签均通过。共享记忆断言已消除操作系统中文排序差异。
- macOS 实屏与最小窗口布局检查、13 项原生动画检查通过。
- 安装包签名、ZIP 完整性与内置知识库逐文件校验通过。
SHA-256:75538f29ad5189a33dff23c3bcbee4aaefa290691ad78394aa9810a4a30b07ce
完整变更与此前模型验收记录见仓库 CHANGELOG.md 和 docs/autonomy-stability-acceptance.md。
Windows / Linux 补充发行(2026-10-17)
以下包均从本 release 的原始 tag v1.4.7(221084f6268794354e5621c7c96c11dc691f0e74)在本机 Parallels 虚拟机中构建,不包含后续未发布改动。原 macOS 附件保留。
| 系统 / 架构 | 附件 | 使用方法 |
|---|---|---|
| Windows ARM64 | ChatApp-1.4.7-Windows-arm64.zip |
完整解压到本地目录,运行 ChatApp.UI.exe |
| Windows x64 | ChatApp-1.4.7-Windows-x64.zip |
完整解压到本地目录,运行 ChatApp.UI.exe |
| Linux ARM64 | ChatApp-1.4.7-Linux-arm64.tar.gz |
使用 tar -xzf 解压,进入目录运行 ./ChatApp.UI;依赖见包内 README-Linux.txt |
均为自包含便携包,包含 .NET 运行时及完整的 1,792 个内置知识文件。请保留整个目录。Linux 包面向 ARM64 桌面环境,不适用于 x86_64。校验值见 ChatApp-1.4.7-cross-platform-SHA256SUMS.txt。
验证范围:Windows 11 ARM64、Ubuntu 26.04 ARM64;Windows x64 包在 Windows 11 ARM 的 x64 兼容层中验证,未做原生 x64 硬件验证。两系统均使用独立空数据目录完成解压后启动和窗口检查,本次未调用真实 AI API,未做完整输入法回归;Windows 包未作发行证书签名。
- Linux 原始 tag 的 Debug / Release 各 911 通过、0 失败、7 项真实 API 测试跳过。
- Windows 原始测试首次为 856 通过、55 项临时 SQLite 数据库清理失败、7 跳过。仅在独立测试副本的五个清理函数中增加连接池释放,全部业务断言及产品源码不变。其后完整批曾出现 1 项自动保存等待超时;该失败记录保留。最终在先完成编译、再单独运行测试的固定新批中,Debug / Release 各 911 通过、0 失败、7 跳过;测试原等待上限与并发未改。该结果不代表原始 Windows 测试未作适配即全部通过,也不证明此前超时的根因已修复。
- 发布包仍从未修改的原始产品源码生成;包内知识库逐文件 SHA-256 与 tag 一致。新增附件上传后重新下载核对字节数与 SHA-256。
ChatApp v1.4.6
本版本增强统一剧情时间确认、AI 自主场景与临时角色安全边界,修复共享记忆并发处理和 Embedding 索引稳定性问题。macOS arm64 安装包已包含 .NET 运行时与内置知识库。
v1.5.0
新增
- 统一剧情时间线从 Day 0 · AM 开始,并保持多角色场景时间一致。
- 每 3 个完整对话轮次生成 1 条不超过 50 字、包含角色/场景/时间的共享记忆。
- 新角色加入、地点转换或两者同时发生时创建新临时场景,标题统一为“场景|剧情时间|参与角色”。
- 自动头像优先匹配名称含“精一”的知识图片,并支持用户上传后裁切。
改进
- 每次角色输出前读取绑定知识、可见长期记忆和未总结上下文。
- 连续转场保留仍在场角色及临时角色身份,触发消息直接归属新场景。
- 编辑重发和重新生成会重建受影响的自动记忆。
验证
- Release 配置自动化测试 198/198 通过。
- macOS arm64 包已通过深度签名、ZIP 完整性、版本及 1792 个内置知识文件校验。
- SHA-256:59cf3855f5ebcdcc506ba26fb146db983ebb4ce4018c726c85c4e636e0b69f84
v1.4.5
v1.4.5
- 临时场景/群聊启动改为更宽口径的确定性规则,并在创建前弹窗确认
- 场景导演 25 秒超时 + 一次纠错重试;知识型单候选节点可确定性恢复
- 参考回答新增后处理兜底:确定性抽取 → 短超时辅助提取 → 安全模板
- API Key 输入框自动化掩码,辅助功能树不再暴露明文
- 旧 SiliconFlow 推荐配置自动迁移到新默认模型,Embedding 变化后后台断点重建索引
- Debug/Release 离线测试 263/263 通过
- 真实 API:记忆 3/3,完整临时角色生命周期 3/3,新默认 8B 视觉 3/3
macOS arm64 包:ChatApp-macOS-arm64.zip(SHA-256: ad5c6915a422790e3e872fca05b795d6e893b46a2a790ba8780174e438ba71ae)
v1.4.3
本版本聚焦沉浸式多角色对话体验与发布基线:
- 统一剧情时间线,首个角色从 Day 0 AM 开始并在场景切换时推进。
- 角色加入、地点变化或两者同时发生时创建新的临时场景;临时群聊名称包含场景、时间和参与角色。
- 共享记忆每 3 轮生成一条不超过 50 字、包含角色/场景/时间的摘要,并在回复前检索知识库、记忆和未总结上下文。
- 创建角色时优先使用知识库中名称含“精一”的头像并支持裁切,也支持用户上传头像。
- 验证:Debug 与 Release 配置测试均通过(198/198);macOS arm64 安装包已完成 ZIP、签名、版本元数据和内置知识库校验。
安装包 SHA-256:ae8dadb04d407ecd60b14a9f8ca1e400b39b07bf8e6da4e3ae667c22fccef2e1
v1.4.1
更新日志
项目遵循语义化版本号。版本日期按 Asia/Shanghai 记录。
[1.4.1] - 2026-08-23
改进
- 知识库临时角色支持显式
「角色名」标记与 AI 场景引入:在转场、会议、任务、医疗、用餐等多人节点,从当前主角色所选知识分组检索职责相关角色,经场景导演确认确实应当在场后自然加入自动临时群聊;场景未打开时立即回收候选角色,角色退场或场景结束后删除隐藏临时角色,用户角色只退场不删除。 - 共享长期记忆按连续剧情或场景生成不超过 50 字的精简记忆,并连续处理所有已满批次;已有超长自动记忆会在后续整理时重新压缩,场景结束摘要完成向量索引后再返回私聊。
- 每次私聊、重新生成、AI 开场问候及群聊角色发言前,统一先处理已满记忆批次、召回共享长期记忆,并按当前角色注入尚未总结的对话上下文;群聊不会把其他角色的待总结发言冒充为当前角色经历。
修复
- 修复只有首条上下文摘要被压缩、后续共享记忆仍保存大段原始对话的问题。
- 修复 AI 回复完成后消息列表未定位到最新消息的问题,私聊、群聊和重新生成结束时都会请求滚动到底部。
[1.4.0] - 2026-08-23
新增
- 私聊支持自动多角色场景:AI 可按当前情境自主引入角色,用户也可通过点名或括号动作引入已创建角色或当前主角色知识库中有可靠依据的隐藏场景角色;角色实际入镜后自动创建并切换到“主角色+时间+地点”的临时群聊。
- 自动场景支持角色动态入场、离场、注视/点名优先发言和非固定轮次互动;场景结束后事务性地把消息、附件、引用、说话者快照与长期记忆归并回主角色私聊,保存精简场景摘要并自动返回私聊。
- 新增持久化
SceneSessions与SceneSessionParticipants,记录场景状态、父私聊、地点、时间、参与者来源及结束摘要;崩溃重启后重新打开主角色会恢复仍在进行的场景。 - 新建角色启用版本化的固定角色扮演启动指令:只使用新建菜单内容确定性填空,在首次 AI 问候前作为不可见系统上下文执行;旧角色继续使用原提示行为。
- 角色表新增
PromptTemplateVersion,旧数据库幂等增加该列并将既有角色保留为版本0,避免升级后静默改写角色设定。 - 最近群聊卡片新增删除操作;确认后删除群聊消息、附件、成员关系及由该群聊产生的长期记忆,但保留成员角色。
- 长期记忆改为全角色共享召回;每条记忆保留来源角色,管理窗口统一展示来源并支持新增、编辑、删除和清空。
- 外观相关话题自动增强角色绑定知识中的外观文字和图片召回;外观细节被明确约束为客观设定,资料未覆盖时不得自行补造,非必要不主动描写。
改进
- 私聊与群聊统一增加沉浸式剧情推进协议:短回复、继续、快进和转场会触发具体的下一情节节点;工作、任务和专业活动保持主线,并在节点之间适度穿插饮食、通勤、休息和睡眠等生活内容;允许创造不违背设定的临时事件与环境变化,同时继续禁止编造角色固定经历、能力、外观和世界规则。
- 对话历史中已经发生的行动、事件和承诺改为本次会话的连续性依据,角色会自然承接任务进度、人物态度和场景位置,减少被动附和、无故重置与重复桥段。
- 角色扮演叙事镜头改为始终跟随用户所扮演的角色;用户括号中的动作、继续、快进和转场指令会被扩写为完整过程、自然反应与环境反馈,同时保留用户对台词、重大决定和不可逆行动的控制权。
- 当角色确实向用户提出问题、邀请或选择时,在输入框上方以纯文本提供 2—3 个与当前剧情相关的模糊回复方向,仅供参考且不响应点击、不修改输入内容;提示不会替用户确定台词、重大决定或不可逆行动。
- 具体场景中的回复增加为更长、更充实的多段剧情回合:优先补全行动过程、人物连续反应、空间变化与环境感受,同一角色可在一轮中分段说多句话,并按“承接—行动—结果或新信息—下一步入口”主动推进;简单问答仍保持简洁。
- 自动对话摘要由过程复述改为 100—160 字的状态摘要,只保留任务进度、关键结果、未决事项和影响后续的关系变化;保存前增加长度兜底,避免模型超长输出占满共享记忆卡片。
修复
- 重写文本输入子系统并升级至 Avalonia
12.1.1的 macOS 原生输入后端:所有TextBox显式启用 IME;聊天框与通用输入弹窗改用统一的ImeTextBox,并显式复用原生TextBox主题模板,确保输入区域可见、可点击和可键入;控件直接读取模板中的预编辑状态,组合输入期间不再进入应用快捷键;删除KeyUp、异步撤销换行和手工推断候选词的旧路径,中文候选不会再触发发送、确认或群聊@选择,Shift+Enter保持换行。 - 默认 SiliconFlow 对话模型使用官方 ID
deepseek-ai/DeepSeek-V4-Flash;曾由错误版本写入的dsv4flash会自动纠正,DeepSeek 官方端点继续使用deepseek-v4-flash,其他自定义模型不会被覆盖。 - 角色库将角色与最近群聊拆分为独立切换分块,各自占满可用高度并独立滚动,避免群聊过多时把角色卡片挤出视野。
- SiliconFlow
DeepSeek-V4-Flash的角色回复固定使用 Think High,保留推理质量并避免进入更慢的 Think Max;共享记忆与知识检索改为并行执行,缩短私聊和群聊的回复前等待。
稳定性与安全
- 玩家主动创建的群聊保持
Manual来源,自动场景关闭接口会拒绝处理任何非AutoScene群聊;临时场景也不会出现在“最近群聊”列表,避免误删或与长期群聊混淆。 - 切换或清空会话时取消仍在进行的旧请求,避免迟到结果继续更新已离开的对话。
- API Key 与 Bearer Token 即使尚未注册,也会按凭证格式自动脱敏;设置加载时提前注册三路 API 密钥。
- 用户可见错误统一分类并脱敏,覆盖聊天、设置、角色、知识库、记忆管理、启动与多模态响应错误。
- 配置 JSON 损坏时安全回退到当前可用默认设置,不访问或覆盖真实用户数据。
质量保障
- 新增固定提示词、旧库迁移、共享记忆召回与来源标注、快捷发送策略、提供商模型映射、自定义模型保留、损坏配置回退及敏感信息脱敏测试。
[1.3.7] - 2026-08-22
本版本发布当前 Unreleased 中的角色创建、群聊管理、共享记忆、输入法兼容、模型性能、知识库外观召回与稳定性改进。
[1.3.6] - 2026-08-21
新增
- 群聊头像支持创建时选择本地图片;未设置时自动使用前四名成员头像生成
2×1或2×2拼图,旧群聊自动回退为成员拼图。 - 聊天中的用户头像统一使用内置用户头像资源。
改进
- 最近群聊卡片不再显示更新时间;数据库新增可空语义的
Conversations.Avatar字段,并提供旧库幂等迁移。 - 全局 UI 更新为 Apple 桌面应用风格:使用系统蓝和 grouped background 灰阶、SF/PingFang 优先字体、连续圆角、轻材质顶栏、即时按压反馈,并统一浅色/深色语义资源;角色列表选中继续使用中性灰而非蓝底。
[1.3.5] - 2026-08-21
安全
- 升级 Semantic Kernel 至
1.71.0、EF Core/SQLite 至8.0.30,并显式使用新版 SQLitePCLRaw 原生 bundle,消除已知 Critical/High 依赖漏洞。 - 启用 NuGet 全量依赖审计,
NU1901–NU1904在 restore 阶段按错误处理;CI 使用锁定依赖恢复并输出漏洞报告。
改进
- 引入
Directory.Packages.props集中管理 NuGet 版本,并为各项目生成packages.lock.json。 - RID 发布使用
obj/下的平台专用锁文件,避免 self-contained 发布改写常规构建锁文件。 - Embedding 适配迁移到
Microsoft.Extensions.AI.IEmbeddingGenerator,消除 Semantic Kernel 升级后的弃用警告。 - 设置页隐藏尚未实现的语音、好感度与 FreeForAll 入口;旧配置中的 FreeForAll 自动回退到 Hybrid。
- 增加版本一致性与未完成功能可见性测试,统一
v1.3.5开发版本标识。
质量保障
dotnet build0 警告/0 错误,120 项测试全部通过;NuGet 审计无已知漏洞。- macOS arm64 完整发布脚本通过,Windows x64 自包含发布输出验证通过,均包含 1792 个内置知识文件。
[1.3.4] - 2026-08-21
新增
- 帮助与支持新增 B站(UID:451598529)、小红书(7439240082)、邮箱(1037561013@qq.com)并附“欢迎私信”提示:
DeveloperSocials.All扩展 3 项,MainWindow弹窗底部新增常驻文案,支持IUrlLauncher打开与ClipboardService复制。
改进
- 应用图标全面更新:新增
ChatApp.UI/Assets/icon.png(512px,Window.Icon="/Assets/icon.png")、icon.ico(WinExeApplicationIcon,6 尺寸含 PNG 压缩)与AppIcon.icns(macOSCFBundleIconFile=AppIcon,Contents/Resources/AppIcon.icns),publish-macos.sh新增图标搬运与校验,ChatApp.UI.csproj版本升至1.3.4/1.3.4.0,Info.plist同步为1.3.4/6,侧边栏版本标识v1.3.4,READMECurrent/Release 链接与帮助表述同步更新。 - 占位图标为临时渐变 AI 图,后续替换
Assets/icon.png后需按icon.ico(256/128/64/48/32/16)与AppIcon.icns(1024..16 @2x)重新生成(PIL/iconutil流程已在仓库保留),或直接提供新源图由维护者重新导出。
质量保障
dotnet build0 警告/0 错误,dotnet test保持 117 项通过;MainWindow弹窗新文案不影响现有契约,图标资源经AvaloniaResource/Content双通道校验,publish-macos.sh仍通过BundledKnowledge与图标存在性检查。
[1.3.3] - 2026-08-21
新增
- 消息撤回:用户 2 分钟内可撤回最后一条本人消息,撤回后原文回填草稿栏并聚焦(
ChatBubbleViewModel.CanRecall+ChatViewModel.RecallMessageAsync+IChatHistoryService.DeleteMessageAsync),超期置灰。 - 群聊 @ 成员:输入框键入
@自动弹出成员列表(ChatViewModel.FilteredMentionCandidates+Popup),支持过滤、上下选择、回车/点击插入@Name,发送时导演优先让被 @ 成员发言(GroupChatOrchestrator提及优先)。
改进
- 新建角色极简化:首屏仅保留头像、名称、用户扮演角色、知识分组、补充设定 5 项,
CreateRoleWindow高度 680,旧字段(简介/背景/性格/说话风格/示范对话/开场问候)收进Expander 补充设定(高级)默认折叠,CreateRoleViewModel.SupplementaryPrompt复用Role.SystemPrompt兼容老角色。 - 聊天气泡隐藏时间:
ChatView.xaml气泡时间TextBlock IsVisible=False仅保留ToolTip,Message.CreatedAt仍用于排序与导出,侧边栏时间不动。
质量保障
dotnet build0 警告/0 错误,dotnet test117 项通过(含撤回/提及/新建简化契约),ChatView虚拟化与@弹窗轻量。
[1.3.2] - 2026-08-21
新增
- 帮助与支持常驻侧边栏:左侧导航栏新增
💬入口,MainWindow全窗Panel.ZIndex=10模态弹窗展示DeveloperSocials(GitHub / 邮箱 / 反馈),MainViewModel.IsDeveloperHelpOpen+IUrlLauncher.TryOpenAsync外链与ClipboardService回退,SettingsView移除底部滚动内分组以修复截断。 - 统一 API 预设:
UnifiedApiPresets(SiliconFlow 推荐deepseek-ai/DeepSeek-V3.1 + BAAI/bge-m3 + Qwen3-VL/ 阿里百炼qwen-plus + text-embedding-v4 + qwen3-vl-flash/ OpenAIgpt-4o-mini),AiSettings.UnifiedPreset持久化,SettingsView预设下拉在统一模式下自动填充三模型。
改进
- 统一API默认切换至 SiliconFlow:
RemoteApiEndpointPolicy.DefaultBaseUrl→https://api.siliconflow.cn/v1,AiSettings默认deepseek-ai/DeepSeek-V3.1+BAAI/bge-m3+SiliconFlow/Qwen3-VL-32B-Instruct,UseUnifiedApi=true(ConfigurationService对旧库缺useUnifiedApi保持false兼容),SettingsViewModel预设与DetectProvider同步(BAAI/bge-m3+ 提示文案)。 - 统一模式下模型选择锁定:
AreIndividualModelsEnabled = !UseUnifiedApi || UnifiedPreset==Custom,ChatModel/EmbeddingModel/VisionModel在预设非自定义时IsEnabled=false,VisionModel对qwen3-vl-flash等旧 ID 自动迁移至Qwen/Qwen3-VL-32B-Instruct(AiSettings.MigrateToRemoteApiOnly+SettingsViewModel硅基检测)。 - 版本标识同步:
ChatApp.UI.csproj1.3.2/1.3.2.0,Info.plist1.3.2/4,MainWindowv1.3.2,README默认服务更新为 SiliconFlow 三件套,修复设置页滚动容器Grid RowDefinitions="*"+VerticalAlignment=Stretch截断。
质量保障
dotnet build0 警告/0 错误,dotnet test117 项通过(含统一预设、视觉迁移与旧库幂等新契约),publish-macos.shBundledKnowledge拷贝校验仍通过。
[1.3.1] - 2026-08-21
改进
- 修复知识库/设置页左侧 340px 空白占位:
MainWindow中间栏改为Auto+IsVisible="{Binding MiddleView}"折叠,RightView占满剩余宽度;左下角版本标识升至v1.3.1。 - 知识库“分组 / 文件夹”支持折叠:
GroupNode新增IsExpanded/HasChildren/IsVisible,KnowledgeFolderTree按FolderPath前缀判定父子,KnowledgeView左栏新增“全部展开/全部折叠”与每行▾/▸按钮,子文件夹随祖先联动隐藏,折叠状态在刷新/导入后保留。 - 删除“外观与阅读”设置:移除设置页深色主题切换与聊天气泡字号调节,启动时不再读取
UiSettings并固定 Light 主题与 14 号字,相关ThemeMode/ChatFontSize文案与校验逻辑一并清理。 - 设置页为 34 项设置添加“?”通俗帮助:每项标签旁
16×16 圆形 ?,ToolTip Placement=Right/ShowDelay=0悬停即显、移开隐藏,同时Flyout点击可常驻;修复初版Border Top/200ms悬停不显示问题,文案面向非专业用户解释作用与可选值(如统一 API、Embedding 预设、协议、Top-K、温度等)。 - 聊天输入框支持回车发送:
ChatView的InputBox_KeyDown兼容Key.Enter/Return,Enter发送、Shift+Enter换行,增加Watermark="输入消息,回车发送 · Shift+回车换行"提示。
质量保障
dotnet build0 警告/0 错误,dotnet test117 项通过,发布脚本BundledKnowledge拷贝校验仍通过。
[1.3.0] - 2026-08-20
新增
- 记忆管理窗口:私聊按角色、群聊按当前发言者查看/新增/编辑/删除/清空记忆条目;编辑后立即重嵌入向量,下次召回即反映变化。
- 消息气泡操作:一键复制(含附件引用信息)、重新生成最后一条 AI 回复(替换旧回复并重新计算上下文)、编辑已发送消息后重发(发送后替换该消息及其后的回复)。
- 会话整理:私聊/群聊支持重命名与置顶(置顶优先于更新时间排序,重启后保持);一键导出为 Markdown(含角色名、时间、附件快照)或结构化 JSON(含引用文档 Id)。
- 知识引用溯源:AI 回复下方展示所引用的知识文档标签(点击跳转知识库对应文档),未命中时不显示标签。
- 长对话摘要压缩:上下文接近窗口上限时用 LLM 生成“摘要 + 关键记忆点”替换早期消息并缓存,保留最近完整消息;摘要生成失败自动回退原有截断逻辑。开关与保留条数可在设置页配置。
- 深色主题与阅读设置:跟随系统或手动切换深浅主题(全局即时生效并持久化),聊天气泡字号可调(12–22)。
- 数据库新增
Conversations.IsPinned与Messages.CitedDocumentIds两列,旧库幂等迁移,历史数据与附件快照完整保留。
改进
- 全部视图(角色列表、知识库、设置、群聊、创建窗口、对话框)改用主题画刷(DynamicResource),深色模式无对比度问题。
- 长对话上下文构建抽离为可测试的摘要/截断管线,与记忆抽取相互独立。
- 聊天消息列表改用虚拟化面板(ScrollViewer + VirtualizingStackPanel),长对话切换与滚动不再一次性创建全部消息元素。
- 启动加载并行化:角色、知识库、设置三路
LoadAsync并行执行,冷启动时间缩短。 - 会话级召回缓存:记忆与知识检索结果按角色/会话作用域缓存(60 秒 TTL + 容量上限),同会话重复相似提问不再重复调用 Embedding 与向量检索;记忆编辑、删除、清空时按角色即时失效。
- 消息列表分页加载:默认每次取 120 条,滚动到顶部可"加载更早消息"(游标分页,配合新增查询索引)。
- 本地日志文件:按日滚动写入
~/Library/Application Support/ChatApp/logs/chatapp-YYYY-MM-DD.log(Windows 为%LOCALAPPDATA%,随CHATAPP_DATA_DIR重定向),保留 7 天自动清理;所有日志行写盘前经密钥打码,API Key 不会落到日志。
新增
- 设置页新增"测试聊天连接"与"测试 Embedding 连接"按钮:发送最小请求验证端点、模型与密钥,失败原因分级展示且绝不回显 API Key。
质量保障
- 新增 12 项测试:引用解析去重、导出 Markdown/JSON 结构、文件名清洗、置顶排序、重命名、尾部消息截断、引用列持久化与旧库迁移幂等、记忆编辑重嵌入。
- 新增 16 项测试:召回缓存 TTL/作用域隔离/容量淘汰、日志密钥打码/按日滚动/过期清理、计划 3 索引(新库与旧库幂等)、
beforeId游标分页、连接探测缺 Key/缺模型守卫路径与错误信息不含密钥。 - 当前测试套件共 117 项测试全部通过。
[1.2.0] - 2026-08-20
新增
- 设置页新增“统一 API 模式”开关:聊天、Embedding 与多模态识图可共用同一远程 HTTPS 端点和 API Key(推荐 SiliconFlow 等聚合平台),只需分别为各功能填写模型 ID。
- 保留三路独立 API 接入能力,两种模式可随时切换;切换到统一模式时,已填写的独立端点与密钥会被保留,切回独立模式后自动恢复。
- 运行时端点解析统一收口:统一与独立模式均沿用
RemoteApiEndpointPolicy的 HTTPS/禁本地校验,设置解析契约测试覆盖两种模式与回退路径。
改进
- Embedding 与多模态运行时缓存签名按有效端点/密钥计算,避免统一模式下复用旧客户端。
- 统一模式下若主端点为 DeepSeek 官方(不提供 Embedding/视觉),设置页会给出明确提示。
- README 补充统一 API 模式说明与 SiliconFlow 配置示例。
质量保障
- 新增统一 API 设置契约测试 14 项:模式解析、端点/密钥复用与回退、运行时端点校验、旧设置 JSON 兼容(缺省
useUnifiedApi默认独立模式)、迁移归一化与 ViewModel 持久化。 - 当前测试套件共 89 项测试全部通过。
[1.1.0] - 2026-08-16
新增
- 知识库支持 PNG、JPEG、WebP 图片,图片描述、标签和向量独立保存,并可在私聊和群聊中按角色知识分组检索。
- 新增阿里云百炼、智谱、火山方舟和 S...
v1.4.0
v1.4.0
- 自动多角色场景与临时群聊生命周期
- 场景消息、附件、记忆和摘要安全归并
- 用户聚焦叙事、定向回应、动态入退场与长回复
- 中文输入、默认模型和 UI 稳定性改进
SHA-256: 78e14150bdc1669a3002ab710f3be9f61fbc5ea942e59adfb2e1e5fa3c320fac
v1.3.7
本版本包含角色创建启动指令、群聊管理、共享记忆、中文输入法兼容、DeepSeek V4 Flash 性能优化、外观知识召回增强及稳定性改进。\n\nmacOS arm64 安装包 SHA-256:aab298e5b57d878bb94fede149a718deb3c1c7f987f69a9a1299179ef0d6da7b
v1.3.6
[1.3.6] - 2026-08-21
新增
- 群聊头像支持创建时选择本地图片;未设置时自动使用前四名成员头像生成
2×1或2×2拼图,旧群聊自动回退为成员拼图。 - 聊天中的用户头像统一使用内置用户头像资源。
改进
- 最近群聊卡片不再显示更新时间;数据库新增可空语义的
Conversations.Avatar字段,并提供旧库幂等迁移。 - 全局 UI 更新为 Apple 桌面应用风格:使用系统蓝和 grouped background 灰阶、SF/PingFang 优先字体、连续圆角、轻材质顶栏、即时按压反馈,并统一浅色/深色语义资源;角色列表选中继续使用中性灰而非蓝底。
v1.3.5
[1.3.5] - 2026-08-21
安全
- 升级 Semantic Kernel 至
1.71.0、EF Core/SQLite 至8.0.30,并显式使用新版 SQLitePCLRaw 原生 bundle,消除已知 Critical/High 依赖漏洞。 - 启用 NuGet 全量依赖审计,
NU1901–NU1904在 restore 阶段按错误处理;CI 使用锁定依赖恢复并输出漏洞报告。
改进
- 引入
Directory.Packages.props集中管理 NuGet 版本,并为各项目生成packages.lock.json。 - RID 发布使用
obj/下的平台专用锁文件,避免 self-contained 发布改写常规构建锁文件。 - Embedding 适配迁移到
Microsoft.Extensions.AI.IEmbeddingGenerator,消除 Semantic Kernel 升级后的弃用警告。 - 设置页隐藏尚未实现的语音、好感度与 FreeForAll 入口;旧配置中的 FreeForAll 自动回退到 Hybrid。
- 增加版本一致性与未完成功能可见性测试,统一
v1.3.5开发版本标识。
质量保障
dotnet build0 警告/0 错误,120 项测试全部通过;NuGet 审计无已知漏洞。- macOS arm64 完整发布脚本通过,Windows x64 自包含发布输出验证通过,均包含 1792 个内置知识文件。
macOS arm64 (Apple Silicon) · SHA-256
95af115261c35b164a79dc5cf2d60cd390b222b6900f2e5cbe15262d5bdbb860 ChatApp-macOS-arm64.zip