它是什么,以及它不是什么
README 在 Before You Use It 一节里给出的自我定位相当克制:Aegis Method Pack (runtime-ready)。它是一个方法包——一批写给代理的指令与技能,而不是一个会去扫描你仓库的程序。README 用自己的话明确排除了这些身份:它不是完整的 Aegis Platform,不是守护进程,不是后台运行器,不是运行时核心,不是有权威的 GateDecision,不是有权威的 PolicySnapshot,也不是最终的完成裁决者。用户指令与目标项目自身的规则都优先于它的建议。
从机械层面看,这个包叫 aegis,版本 2.10.1,"type": "module",ESM,main 指向 .opencode/plugins/aegis.js。它的 dsh 字段只声明了一件事——一个 bundle patch,即 ./extensions/dsh/cordis.patch.yml——所以在 DeepSeek Harness 上,它以贡献一份组合补丁(composition patch)的 profile 插件形式安装,同时带上它附带的技能。它还声明了 pi 与 omp 的扩展路径,关键词里包含 pi-package、agent-skills、dsh-plugin 与 deepseek-harness。
核心思路:基线、证据,以及那句并非功能清单的引言
Aegis 围绕一套「架构 + 证据」的纪律构建。它的引言把机制讲得很直白:代理应当先在真实基线上做计划再动手改、用新鲜证据证明完成、并且别去打扰简单任务。README 把第一半展开为「owners, contracts, boundaries」——在碰代码之前先对齐项目真实的基线。证据那一半被表述为:完成声明必须附带「fresh verification evidence, covered scope, and residual risk」。第三半则是一句路由承诺:「Trivial requests stay on the fast path; ceremony only appears when the task genuinely needs it.」
同样值得注意的是 README 里没有什么:全文从未出现「drift」这个词。本条的 tags 与 useCases 提到 drift-check,上一版 tagline 也声称了「检查偏离」,但 README 真正点名的、与 drift 沾边的机制只有基准测试里的 contract pass rate,以及用「退役触发器」追踪已废弃的 fallback 与旧路径。因此,「漂移检测」应当被理解为对这套纪律的一种合理解读,而不是一个有文档依据的功能名称。
它实际产出什么:是引导,不是闸门
这一点值得说清楚,因为 README 本身对此相当清楚。在 Harness 上,这个包贡献的是技能与一份组合补丁。它影响的是「代理被要求怎么做」,它产出的是文字性产物:一次基线对齐、一份带验证证据的完成声明,以及在你主动要求时进行的一场决策访谈。它不是 linter,不是 CI 闸门,也不是一个能对你的仓库返回通过/不通过的检查器二进制。README 自己那句「不是有权威的 GateDecision」「不是最终完成裁决者」,就是现有材料里最明确的表述:它不拦截任何东西。README 中没有任何一句声称 Aegis 能拒绝一次编辑、拒绝一次提交,或让流水线失败。
在此之上还有若干可由用户直接调用的模式,全部用自然语言触发:Aegis goal: ... 用来框定范围、成功证据与边界;Grill me ... / 审问我 ... 启动一场「一次只问一个决策问题」的访谈,README 明确说它「does not plan or implement」;aegis:first-principles-review 则在实现之前对某个方向做第一性原理的压力测试。有两个默认值要记住:激活模式默认是自动;TDD 模式默认是 off——README 说 Aegis「does not automatically require TDD」,并且无论开不开,完成验证都照常适用。
验证到底是自动的,还是模型驱动的
是模型驱动、由指令约束的,而不是由工具强制的。这个包是一组技能加一份补丁;README 从头到尾没有描述一个会自行运行、检查你 diff 的验证引擎。它描述的是向代理索取证据,以及维护者自己的一套测试脚本——那些脚本检查的是方法包本身,而不是你的代码:tests/e2e/boundary-compliance-check.sh、workflow-quality-check.sh、install-verification-policy-check.sh、layer1-fast-check.sh。README 还为「能力没有按预期触发」写了一条触发链路诊断:安装/版本可见性、宿主技能发现、激活模式、using-aegis 路由、任务与技能的匹配,以及上下文压力。
README 里还有一个真正基于文件的机制值得点名:对于非平凡的项目工作,Aegis 会被动复用 CONTEXT.md 中的规范用语,或 CONTEXT-MAP.md 选定的某个有界上下文;只有当某个术语被解决、有歧义、被改名、被弃用或发生冲突时,才启用领域建模。文件在第一个术语被解决时懒创建,并且「remain glossary-only」,未解决的领域决策仍归用户所有。它还提到稳定的字节可能对缓存友好,但 Aegis「does not guarantee provider cache hits or savings」。
基准数字,以及它们能推到多远
README 报告了一项针对 Aegis 2.7.6(2026-08-11)的冻结留出集 A/B 基准:两臂使用同一个 Codex 客户端、同样的提示、同样的项目与工具策略,只有 Aegis 这一层投影不同。在 20 个用例、120 次有效运行中,contract pass rate 从 61.67% → 93.33%,unsafe outcomes 从 13.33% → 0%,95% 的用例簇区间为 +15.00 pp 至 +50.00 pp。
README 紧接着就给它划了边界,本条也应照做:这是「bounded advisory evidence」,评审方式是对臂别不可见的技术评审,而不是独立人工评审,而且宿主事件没有返回所观测到的模型身份。它还是一个只有 20 个用例、且绑定特定模型与推理档位的样本。请不要把它读成 Aegis 在你项目上的通用准确率声明,更不要读成安全保证。另外要单独注意:本条对应的包版本是 2.10.1,而基准测的是 2.7.6,README 并未说明这些数字在后续版本上被重新测量过。
运行要求
README 记录的安装方式是:在 DeepSeek Harness 上作为原生 profile 插件安装,然后在已安装的方法包根目录执行一个 Python 验证步骤:python scripts/aegis-doctor.py --write-config --json;后续更新走 scripts/aegis-update.py。因此安装路径上需要一个可用的 Python 解释器,尽管 README 没有给出 Python 版本;无论 README 还是 package.json 也都没有声明最低 Node 版本——包里根本不存在 engines 字段。
README 同样没有给出 Harness 版本下限。真正存在的具体版本约束写在 package.json 里:三个 peer 依赖 @deepseek-ai/dsh-agent、@deepseek-ai/dsh-llm、@deepseek-ai/dsh-skill-filesystem,均为 ^0.1.0-rc.6,并且三者在 peerDependenciesMeta 里全部标记为 optional。可选 peer 范围是安装要求,不是兼容性声明,且没有任何来源声明 harness 下限,因此本条不记录 dshTarget,验证等级止于 L2。没有任何特定模型、账号、密钥或外部服务是必需的,README 也未提出任何遥测或凭证方面的要求。
已知限制(沿用 README 自己的说法)
- 宿主支持参差不齐。 README 给自己的兼容矩阵分了级:Codex 与 OpenCode「有新鲜证据」;DeepSeek Harness、Claude Code、CodeBuddy、Trae、GitHub Copilot、Qoder、Kimi Code CLI、ZCode、Grok Build 有安装指南,但「release-level fresh host smoke is still pending」;Antigravity IDE/App 与 CC GUI 层属于结构性目标;Gemini CLI 已退役。在假定 Harness 这条路径久经考验之前,先读这一行。
- 它可能压根不触发。 触发健康度是 README 明确记录的隐忧,给出的是诊断链路,而不是保证。
- 范围被它自己的定位框住: 不是守护进程、不是后台运行器、不是完成裁决者,并且被你的指令与项目规则压过。它也默认不做后台自动更新。
- 可选的全局路由前缀是一份手工复制的宿主投影:它「does not install Aegis or prove skill discovery」,不受
aegis:update管理,而且宿主原生的技能匹配「may still remain host-controlled」。 - 未说明但容易被假定的部分: README 对遥测政策、隐私政策、安全审计流程一字未提,也没有给出星数。本条 frontmatter 里的 stars/forks 属于注册源元数据,无法用这两份许可来源核实。
信任面:它读什么、写什么、往哪里发
读:你项目的基线上下文,以及存在时的 CONTEXT.md / CONTEXT-MAP.md。写:在第一个术语被解决时懒创建的纯术语表上下文文件,以及它自己的配置——通过从方法包根目录执行 scripts/aegis-doctor.py --write-config 写入;README 特别警告不要在目标项目目录里运行 doctor。安装:向宿主 profile 写入一份组合补丁与技能文件。
关于对外行为,README 保持沉默。它没有记录任何遥测、回传、分析,也没有记录任何方向的凭证处理方式——这里「没有声明」并不等于「不会访问网络」。不过 README 里有一处细节确实值得谨慎对待:它让你把一段提示交给代理,而那段提示要求代理读取一个 GitHub 网址、并从 git+https://github.com/GanyuanRan/Aegis.git 安装,这既是一次网络抓取,也是一次远程安装,还会让你报出 profile 名称。许可方面,README 写明是 MIT;package.json 则没有 license 字段。本条 frontmatter 的 language: Python 反映的是 doctor 与 update 脚本,而不是整个包——它主体是 markdown 技能加上扩展文件。
什么时候用它、什么时候不要用
如果你本来就在用支持技能的代理宿主,并且想要一层纪律:让代理在改代码之前先对着项目的契约讲清自己的假设,让「完成」必须用证据而不是断言来交差,那 Aegis 值得一试。它按设计是跨宿主的——README 的目标是「one method pack, every host」——而「简单任务走快速通道」的承诺意味着你不会为了一行改动而背上繁文缛节。它派生自 Jesse Vincent 的 Superpowers,并受到 mattpocock/skills 的启发,但是按 Aegis 自己的格式重新实现,而不是逐字照搬。
但不要把它当成一道管控。它不拦合并,不替代测试、评审、linter 或 CI,README 也直接放弃了对「完成」的裁决权。不要指望它是在你仓库上自动运行的架构漂移扫描器——真实存在的是被要求的纪律,外加一项测量 contract pass rate 的 20 用例研究。如果你的宿主正好是 DeepSeek Harness,那么在你把任何关键流程压在它身上之前,请先掂量 README 自己那句「fresh host smoke is still pending」。
FAQ
Aegis 会拦截违反基线的改动吗?
不会。README 把它定位为方法包,并明确否认自己是有权威的 GateDecision、有权威的 PolicySnapshot 或最终完成裁决者,还说用户指令与目标项目规则优先于它的建议。你可以期待的是被记录的期望与一次证据索取,而不是被强制的拒绝。
「检查偏离」是自动进行的吗?
README 没有记录任何专门的漂移检查器,全文也从未使用这个词。它真正描述的是:改动前对齐 owners、contracts、boundaries 构成的基线;用退役触发器追踪已废弃的 fallback 与旧路径;以及在基准测试里测量 contract pass rate。本条 tags 里的「drift」是对这套纪律的解读,而不是 README 自己的用词。
基准数字是否意味着它能让我的项目变好?
那些是来自单一冻结研究的有界参考证据——20 个用例、120 次运行,评审是对臂别不可见的技术评审而非独立人工评审,观测到的模型身份也未返回。README 自己称其为参考性证据,并否认这是通用质量声明。它也没有说明这些数字在本条对应的版本上被重新测量过。
它会把我的代码上传到某个地方吗?
README 既没有记录任何遥测、分析或远程服务,同样也没有记录任何隐私或安全审计。这个问题的准确答案应当是「未说明」,而不是「不会」。README 规定的安装路径确实会从 GitHub 拉取内容,并要求你报出 profile 名称。
我需要特定版本的 Node 或 Python 吗?
包里没有声明 engines 字段,README 没有点出任何 Node 版本,两者也都没有给出 Python 版本。有文档依据的版本约束只有三个 @deepseek-ai/dsh-* 的 可选 peer 依赖,均为 ^0.1.0-rc.6,以及 doctor 与 update 脚本所隐含的 Python 使用。