前言¶
DeepSeek Harness (DSH) 是面向开发者的基座。随着模型能力的演进,模型将具备“元认知”,能够自我剖析。在有限的上下文中,传统 harness(包括 DSH)通常在超过阈值后被动压缩上下文,模型无法干预。DSH 的设计方向是配合模型的元认知,让模型容易地编辑自己的上下文,并能够为自己添加和删除工具。dsh-tools-meta 正是这一方向的具体实现,它把“为自己添加和删除工具”变成模型可以直接调用的动作。
插件定位¶
名称:dsh-tools-meta
核心价值:允许 agent 在 DSH 里为自己动态增删工具。新增的工具可以跨 DSH 重启存在。
维护者:DViridescent
核心功能¶
- 动态增删工具:允许 agent 在 DSH 里为自己动态增删工具。
- 持久化:新增的工具可以跨 DSH 重启存在。
- 可写资产:工具目录是模型自己的可写资产。
- 比 Skill 更直接:工具一旦注册就进入目录,调用时不需要“读 skill + bash 跑脚本”,一个工具调用直达。
- 复用现有能力:增删工具完全复用模型已有的文件工具,零新增工具。
- 实现简单:代码量约 200 行。
- 可被认知:agent 可以直接阅读源码,理解甚至修改插件本身。
安装与启用¶
使用 DSH 的插件安装命令添加此插件。
dsh plugin --profile <name> add dsh-tools-meta
使用方式¶
插件与一个简短的 skill 配合使用,不增加额外的模型工具。
1. 工具目录与注册¶
- 目录位置:
$DSH_HOME/tools-meta/<name>.ts。TS 模块,工具名 = 函数名 = 文件名。 - 注册机制:插件在每个模型 step 前扫描该目录。目录指纹变化时重建注册:新增自动注册、修改热更新、删除即卸载。
2. Skill 指引¶
meta-tools skill 在运行时注册,内容会注入工具目录与插件源码的绝对路径,指示模型按指示写入、修改或删除脚本。
3. 脚本格式¶
模型生成的工具脚本需符合以下格式:
export const description = '一句话:工具做什么、何时用。'
export const parameters = { text: { type: 'string', required: true, description: '参数说明。' } } // 可选
export const output = { type: 'object', additionalProperties: false, properties: { characters: { type: 'integer', required: true } } } // 可选
export async function <name>(input) { return { /* lossless JSON */ } }
4. 约束条件¶
- 仅可擦除 TS 语法。
- 顶层无副作用。
- 路径一律绝对路径。
依赖与要求¶
- 主机平面服务:
tools、subprocess(web profile 默认具备)。 - 可选依赖:
skills(存在则注册 skill)。 - Node 版本:≥ 22.18(支持
.ts原生 type stripping)。
适用场景与注意事项¶
此插件适合需要实现“自我进化”能力的 agent。工具目录作为模型的可写资产,是持续学习在 harness 侧的最小形态。
注意事项:
* 插件以当前 DSH 进程权限运行,请确保对目标目录有写入权限。
* 在安装前,建议阅读源码与许可证(MIT)。
结语¶
dsh-tools-meta 提供了一种让模型控制自身能力的机制。通过简单的 TS 脚本,模型可以将学会的知识沉淀为可复用的工具,实现从“使用工具”到“创造工具”的跨越。