v0.7.0 — User-Governed Memory
[0.7.0] — 2026-07-22
版本性质: 新增 User-Governed Memory 第四大产品支柱,并完成终端交互、工具协议、权限回执、上下文连续性和 DeepSeek V4 兼容性的系统性加固。
User-Governed Memory
- 新增
user、project-local、project-shared、session四层作用域;自动候选默认项目本地,未经确认绝不持久化。 metadata.json保存权威状态与创建/更新/检索/使用时间、计数、重要度、置信度、固定、过期、来源和替代链;小型 Markdown 分类文件供用户直接检查。- 单条、分类、作用域和上下文注入均有 token 阈值;私有作用域超限后按重要度、置信度、时间、检索和成功使用次数自动归档,固定和项目共享记忆不自动淘汰。
- 原子替换与跨进程事务锁共同保护读改写;线程及真实多进程并发写入不会丢失记录。
- 潜在冲突只提示、不静默覆盖;
/memory replace与/memory rollback建立可逆的 supersession 版本链。 - 新增
/memory status/list/search --explain/inspect/doctor/add/archive/restore/pin/unpin/migrate操作面;损坏作用域可诊断且不阻断其他作用域检索。 XENON.md、XENON.local.md、AGENTS.md后备层级与安全@path导入;限制根目录、符号链接、循环、深度和总字节预算。
终端与工具调用修复
Ctrl+O/Shift+Tab通过 prompt-toolkit 的终端切出机制重绘,展开折叠详情不再打乱固定输入区和状态栏。- 权限确认显示规范化后的真实命令/参数,不再出现
命令: ?;会话级放行按精确参数指纹记录。 - ThinkingPanel 正确处理并行工具动作与观察,工具计数和顺序不再错位。
- 识别 DeepSeek 文本形式 DSML 工具调用;direct 模式先验证再渲染,避免把协议标记当普通回复直接显示。
- 项目上下文、长期记忆和单轮提示改为可替换 overlay,各推理引擎统一注入,避免跨轮累积和上下文遗漏。
验证
- 离线回归:
1432 passed, 35 deselected。 - 新增记忆并发、冲突/回滚、完整性诊断、上下文使用计数、指令层级和终端回归测试。
- Python 变更范围 Ruff、
git diff --check、wheel 与 sdist 构建通过。
Bug 修复与可靠性补强
- 危险工具统一接入权限闸门,文件写入/编辑/批量变更改为原子、可回滚操作。
- 模型回退区分配置错误与瞬时错误,补齐断路器半开恢复和流式失败处理。
- Plan 串行/DAG 执行传播结构化失败,依赖步骤不会在上游失败后继续执行。
- GitHub 工具支持 HTTPS/SSH/blob/tree/raw URL、私有仓库认证、真实默认分支和安全缓存更新。
- 工具轨迹、工作记忆和自动保存跨轮持久,降低长会话状态丢失。
DeepSeek V4 兼容性
- 离线模型列表只保留
deepseek-v4-pro与deepseek-v4-flash,默认上下文更新为 1M。 - V4 Pro 默认使用并持久化
reasoning_effort=max;普通、流式和原生工具调用均按模型配置透传。 - 修复模型配置按别名保存、引擎按 canonical model ID 路由时配置未生效的问题。
- 思考模式原生工具调用会保留
reasoning_content、tool_calls与tool_call_id结果,支持当前会话跨轮续接。 - ReAct 在正式 DeepSeek V4 为主模型时自动启用原生工具协议,仍可由调用方显式关闭。
- 强制
tool_choice时仅对该次 DeepSeek V4 请求关闭思考模式,避免官方 API 的不兼容组合返回 400。 - 人民币定价快照按 2026-07-21 官方文档校准;旧别名仅用于历史账单匹配。
TUI 布局更新
- TUI 改为贯穿终端的双线输入区、固定底部状态栏、无边框回答与可折叠工具详情。
- 优化后的 Prompt 改为无边框 dim 排版,模型回复保持正常亮度,HTTP/调试日志降低视觉权重。
- 输入下边界和状态栏分行;状态栏由
prompt_toolkit固定在整个终端屏幕底端。
工程质量
- CI 覆盖 Python 3.10–3.12,区分离线/live/e2e 测试,并启用 Ruff、55% 覆盖率和包构建校验。
- 评测运行器移除 Python 3.11 专属的
datetime.UTC/contextlib.chdir,恢复 Python 3.10 兼容。