[0.7.1] — 2026-07-23
版本性质: 正式发布 Agent Skills、机器可读集成 CLI、火山方舟 Ark 一等
Provider、llms.txt 优先文档检索和真实 Skill/MCP 互操作验证;该版本是 Xenon
接入 ArkCLI、VeADK 等外部 Agent 生态的稳定契约基线。
ArkCLI / VeADK 生态端到端验证
- 新增
xenon integrations verify:默认只读检查四层 Agent Skill 根目录、MCP
配置、stdio 命令和凭证权限;显式--connect-mcp后执行真实
initialize → initialized → tools/list协议链路。 - MCP 验证支持按服务器选择、0.1–30 秒单请求墙钟上限和最多 32 个服务器;报告
给出可达数、工具数、协商协议版本与握手耗时,不调用工具,也不回显 env/header
值或 URL query。 - MCPClient 的请求超时现同时覆盖初始化、工具发现、工具调用和资源请求;HTTP
transport 复用同一超时配置,避免“doctor 正常但真实连接长期挂起”。 - 使用 ArkCLI 1.0.4 的真实
+connect --path产物验证:24 个内嵌 Skills 全部被
Xenon 发现,加载错误为 0;生态文档同时明确 VeADK 协议兼容与正式 runtime
适配的边界。 - 验证结果:关联套件 79 passed、完整离线套件 1600 passed / 36 deselected;
VeADK 官方mcp==1.26.0weather 示例完成 initialize/list/call 全链路 479.6 ms,
最终 wheel 的真实握手为 460.7 ms。
llms.txt 优先文档检索
- 新增只读
docs_fetch工具:从文档页确定性发现站点根或 docs 子路径的
llms.txt,解析 H1、摘要、H2 文件列表和 Optional 分组,并按用户 query
在本地排序相关链接,不产生额外 LLM 调用。 - 兼容
llms-full.txt、llms-ctx.txt和llms-ctx-full.txt;站点未提供
llms.txt 时透明降级到原 URL 的 HTML 抓取,并在结果中返回 strategy、尝试记录、
选中来源、失败来源和截断状态。 - 文档抓取沿用 SSRF、DNS/IP 和逐跳重定向保护;最多发现 4 个入口、读取 8 个
链接页、返回 30,000 字符,单个链接失败不会推翻其余有效文档。 - ReAct、Plan-Execute、原生工具 schema、执行策略、并行只读工具、收束预算、
上下文压缩和/tools已统一识别docs_fetch。
火山方舟 Ark 一等 Provider
- 新增正式
ark/<model>provider,默认数据面为
https://ark.cn-beijing.volces.com/api/v3,支持ARK_API_KEY、
ARK_BASE_URL、/setup和实时/models发现;不再要求把方舟伪装成
custom provider。 - 兼容读取旧
_custom_providers中的官方 Ark 配置;兼容视图不静默改写文件,
删除 Ark 凭证时会清理旧条目而保留其他自定义厂商。 - Ark 模型目录按
task_type/ 输出模态过滤,只把文本生成模型加入聊天池;
同时读取真实上下文窗口、输出上限和 function-calling 能力元数据。 - 模型目录分页复用单个 HTTP 连接,真实 126 条目录发现由约一分钟级降至
1 秒内;离线时回退到经过核对的文本模型列表。 - 普通对话、流式输出和原生 function calling 复用统一 OpenAI-compatible
协议;流式请求显式启用 usage 尾帧,缓存统计兼容
prompt_tokens_details.cached_tokens并保持ark/<model>统计身份。
Agent Skills 兼容层
- 原有
~/.xenon/skills/*.yaml配方之外,新增标准目录式
<name>/SKILL.md;兼容共享~/.agents/skills、Xenon 用户目录以及项目级
.agents/skills/.xenon/skills,按“共享用户 → Xenon 用户 → 共享项目 →
Xenon 项目”确定性覆盖。 - 启动与
/skill list只读取 YAML frontmatter;技能正文仅在命中时加载,
references/、scripts/、assets/不会被预先塞入 Prompt。 - 标准技能显式调用后进入 Xenon 的 ReAct 与权限链路,保留工具确认、执行边界和
MCP 能力;SKILL.md 中的文字不会被误判成用户的持久记忆指令。 - 资源读取新增目录穿越、符号链接逃逸、UTF-8、单文件 128 KiB 和最多 500 个
资源索引保护;单个损坏技能被隔离,不再导致整个技能注册表清空。 - 新增
/skill doctor,显示扫描根、格式计数与逐文件错误;删除项目覆盖版本后,
下层同名用户技能会自动恢复可见。
外部集成 CLI
- 新增
xenon integrations describe --json版本化能力契约,公开 Agent Skills
目录、MCP 传输能力和稳定命令模板,外部安装器无需猜测 Xenon 私有配置。 - 新增
xenon skill install/list/doctor;安装会先校验完整目录与符号链接边界,
使用同文件系统临时目录原子落盘,支持四种作用域和显式--force替换回执。 - 新增
xenon mcp add/list/remove/doctor;stdio 环境变量和 HTTP 认证头可以通过
stdin JSON/YAML 安全注入,结构化输出仅显示键名,不回显 token、header 值或
URL query。 - MCP 配置写入加入跨进程锁与
0600原子文件权限;REPL 惰性连接链路现可把
持久化的 stdio env 和 HTTP headers 完整传递到 transport。 - JSON 模式保证 stdout 只含一个结构化对象;语法错误、业务错误和成功分别使用
稳定退出码 2、1、0,便于 Ark CLI 等外部 agent helper 自动判断结果。
会话凭证安全
- 自动保存、
/save和旧会话迁移统一移除api_key、token、authorization、password 等凭证字段;会话只保存恢复所需的非敏感模型元数据。 - 读取旧版会话时原子清理已落盘凭证并保持
0600权限,不删除对话、工具轨迹或工作记忆。
用户意图与执行边界
- 新增“仅回答 / 只读 / 可写入 / 可执行”四级逐轮执行策略;Prompt 优化、难度路由和思考范式不能把代码生成擅自升级为写盘或命令执行。
write_code默认仅在对话中返回代码;“输出到对话”“不写入文件”“不要执行”等显式限制具有最高优先级。- 执行边界下沉到 ToolExecutor:只读任务不能写,写入任务不能执行 shell,权限确认不能越过用户当前指令授权;MCP 工具按远端动作名保守分级。
- 新增独立
research调研意图;“打算提交到某平台,请查一下……”按最后一个明确请求子句判定为只读,不再把背景中的“提交”误当成本轮写入授权。 - 只读调研会从原生工具 schema 中移除
clone_repo等写工具,底层 ToolExecutor 同时保留硬拒绝,模型无法通过重试或权限确认越界。 - 代码落屏前新增完整性保护:过滤工具协议,校验闭合代码块,Python 使用 AST 解析;损坏或截断回复在展示前自动重试,裸代码统一包装为 Markdown 代码块。
- 新增真实 DeepSeek 回归:用户要求“输出到对话、不写盘、不执行”时不进入 ReAct,返回代码可解析且临时目录无新增文件。
调研任务与长工具收敛
github_fetch新增repo_activity,以统一的最近 30 条 PR 抽样返回 push、更新时间、近期活动和中位合并耗时等维护信号;结果明确标注为公开样本而非厂商 SLA。- GitHub API 遇到限流、服务端故障或网络失败时自动降级读取公开 HTML;组织、用户和搜索页继续走通用网页读取,不再误报
owner/repo格式错误。 - 有副作用的写入、命令、Git 与克隆工具不再因超时被执行器自动重放;克隆超时会清理不完整缓存并返回确定性失败。
clone_repo、command和git的交互式活动行持续显示已耗时、超时上限和Ctrl+C取消提示;成功、失败、中断与异常路径都会回收进度线程。- ReAct 连续三次工具失败后停止无效探索,使用已有证据生成最终答复;GitHub API/HTML 双重失败也不会无限重试。
启动模型状态
- 提供商发现提前到欢迎卡之前,
MODEL现在展示实际已加载的首选模型与总数,不再先显示“未配置”后又加载模型。 - 默认启动时仅抑制模型列表探测产生的
httpxINFO 噪声;-v仍保留完整诊断,正常任务的 Ctrl+O 日志不受影响。 - 无效提供商以脱敏摘要显示(如“认证失败 HTTP 401,已跳过”),不再输出原始请求行或响应正文;欢迎卡后统一展示可用模型和提供商数量。
家目录隐私边界
$HOME现在是明确的账户边界,不再因.git、package.json、pyproject.toml等标记被当作项目;家目录文件树、关键文件和项目规则不会自动注入模型。- 无项目模式仍加载用户全局指令,但项目上下文根保持为空;具体的无标记子目录仍可作为有界 scratch 工作区,不会向上继承家目录标记。
- 记忆注册表支持无项目状态,此时只启用
user与session;普通“记住”默认落入用户全局,显式 project-local/project-shared 会要求先进入项目。 /memory status明确显示未激活的项目作用域,/project refresh同步重建记忆边界;不再以Path.cwd()回退并在家目录创建项目记忆文件。
权限确认可用性
- 修复 Rich 将权限面板中的
[y]、[n]、[a]、[q]误当作标记并吞掉的问题;面板现在明确显示每个操作的输入键,底部输入提示同步显示[y/n/a/q],并接受大小写输入。
缓存观测核心层
- 为普通、流式和原生工具调用统一生成隐私安全的 Prompt Manifest,按模型、引擎、阶段、稳定前缀、工具模式和上下文压缩代次划分缓存族。
- 新增逐请求缓存事件:记录厂商真实 hit/miss token、字段覆盖率、预期可缓存比例、前缀效率以及 cold/warming/warm/unavailable 状态;不持久化原始 Prompt 或工具内容。
- 本地 JSONL 历史采用有界滚动存储;明确区分“厂商返回 0 命中”和“厂商未提供缓存字段”,避免把未知错误显示为 0%。
- Reflection、Plan、ReAct、Novel、组合引擎与 Direct 对话均标注独立调用阶段;上下文 compact、clear、undo 会开启新的缓存代次。
- 新增
/cache status、/cache explain、/cache history、/cache doctor,分别展示当前状态、最近一次证据、跨会话隐私安全历史和确定性诊断。 - 状态栏使用 cold/warming/n/a/实际命中率语义;
/cost与退出报告不再把未提供缓存字段错误显示为 0%。 - 普通文本、流式与原生工具请求统一经过五层 Prompt Compiler:STATIC、SESSION_STABLE、HISTORY、VOLATILE、CURRENT;编译器保持消息与工具协议语义顺序不变。
- 工具 schema 和 response format 递归规范化并按工具名稳定排序,注册顺序变化不再制造新的工具前缀;动态 system 内容会进入
/cache doctor告警而不会被静默改写。 - AutoRouter 新增保守缓存亲和:只接受 30 分钟内厂商真实 hit 证据,并只在同 tier、健康、基础分差不超过 0.25 的模型间打破平局;显式模型、会话锁、能力和健康始终优先。
- 新增
/cache optimize --dry-run|--apply|--disable与真实/fix-cache别名;设置以私有本地 JSON 原子保存,可逆且不会改写 Prompt、工具协议或制造付费预热请求。
缓存前缀稳定性与本地版本一致性
- 上下文注入拆分为稳定层与易变层:固定引擎指令和项目上下文前置,已有对话历史保持连续,工作记忆与按轮检索记忆靠近当前用户请求。
- 单轮 Prompt 指导不再作为会变化的 system overlay 插到历史之前,改为绑定到本轮用户消息;提示文案不再把“结构化 Prompt”和缓存提升作未经验证的因果关联。
- Direct 流式路径和各推理引擎的 DeepSeek 模型 ID 统一归一为
deepseek/<model>,避免/cost把同一模型拆成两个统计桶。 - 欢迎页与
xenon --version统一读取运行源码的xenon.__version__,避免 editable install 的旧 distribution metadata 显示过期版本。
Star Core 品牌与终端活动状态
- 正式视觉标志从圆角方形/六边形轨道更新为 Star Core:八芒氙蓝星核、非对称群星与断续轨道,小尺寸不再退化成方块。
- 启动动画、README Logo、社交预览和工作流标题统一使用 Star Core 视觉语言。
- 新增终端标签状态机:模型、工具和命令执行时以固定宽度星位循环闪耀;等待输入、权限确认、记忆确认和任务完成时保持静止。
- 标签动画仅在交互式 TTY 启用,支持 CI/dumb 终端自动降级、手动关闭、ASCII 帧和退出标题恢复。
- 活动线程惰性启动、daemon 化并在所有退出路径回收;标题写入失败不会影响模型或工具执行。
验证
- 完整离线回归:
1600 passed, 36 deselected。 - Ruff、
compileall、SVG XML 校验、git diff --check、wheel 与 sdist 构建通过;家目录真实 TTY 启动下的/project与/memory status已验证。