最近一段时间,我一直在思考一个问题:
Agent Harness 会不会也需要自己的“发行版”?
Linux 内核提供了核心能力,但大多数人真正安装和使用的是 Debian 、Ubuntu 这样的发行版。发行版不仅打包内核,还负责默认组件、依赖关系、安装升级、兼容策略,以及一套相对稳定的使用体验。
我觉得 Agent Harness 可能也会经历类似的阶段。
DeepSeek Harness 提供了一个很有意思的基础:agent loop 、tools 、skills 、plugins 、MCP ,以及“everything is a plugin”的扩展模型。
但从一个可扩展的 harness ,到一个可以长期使用、持续演化、随时升级和回滚的工作环境,中间还有一层没有被充分解决。
所以我做了:
oh-my-dsh
https://github.com/amplifthq/oh-my-dsh
它是一个面向 DeepSeek Harness 的社区发行版,目标不是 fork 上游,而是在上游之上提供一套可组合、可覆盖、可验证的发行层。
一句话定位:
如果 DeepSeek Harness 是内核,oh-my-dsh 惝试成为类似 Debian 的发行版层。
oh-my-dsh 不复制或魔改 DeepSeek Harness 的核心代码,而是通过 overlay 方式组合:
上层可以覆盖下层,但用户自己创建的内容始终拥有最高优先级。
这么设计主要是为了避免两个问题:
项目的安装、更新和回滚也是围绕这个模型设计的。发行版本可以替换,但用户自己的成长记录应该保留下来。
我不希望这里的“自进化”只是让 Agent 自动修改自己的 prompt 。
我更关心的是一条完整、可治理的演化链路:
围绕这条链路,oh-my-dsh 目前包含几个核心部分:
统一发现当前环境里的 Skills 、Plugins 、MCP 、Prompts 和其他可用能力,让 Agent 不需要依赖一份静态、容易过期的能力清单。
把一次成功的解决过程,提炼成可以重复执行、带有明确边界的 Skill 。
这里的重点不是“自动生成一段提示词”,而是形成可以检查、测试、版本化和移植的能力单元。
当一个能力需要新的命令、Hook 、MCP Server 或运行时扩展时,可以进一步把它封装成 Plugin 。
Skill 更接近可复用的方法和工作流,Plugin 则扩展运行时边界。两者解决的是不同层次的问题。
Eval 使用冻结的输入快照和机器可判定的 assertions ,比较修改前后的行为差异。
它支持:
Eval 只负责评估,不会自动挂载 Plugin 、应用 proposal 或修改能力目录。
Optimizer 根据执行轨迹和 Eval 失败生成结构化、可审查的改进建议。
目前它是 proposer-only:可以提出修改,但不能绕过评估和批准流程直接改写系统。
这也是我对 self-evolve native 的理解:
系统应该原生支持自我改进,但自我改进不等于自我授权。
Agent 可以发现缺口、提出修改、生成候选能力并运行评估;但权限提升、能力挂载和默认行为变更,仍然应该经过明确的治理边界。
除了自进化链路,目前还包括:
Portable 安装:
curl -fsSL https://github.com/amplifthq/oh-my-dsh/releases/latest/download/install.sh | sh
omd setup
omd
也可以通过 npm:
npm install --global oh-my-dsh
omd setup
omd
当前边界 先主动说一些目前的限制:
项目地址:
https://github.com/amplifthq/oh-my-dsh
在 DeepSeek Harness 社区的介绍:
https://github.com/deepseek-ai/deepseek-harness/discussions/3113
欢迎拍砖,尤其想听听大家对下面几个问题的看法:
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.