dsh-self-evolve
v0.1.0
Published
Hermes-style self-evolution for DeepSeek Harness: a skill_manage tool that lets the agent save proven procedures as skills, prompt guidance for when to save them, usage tracking, and a background curator that keeps the self-authored skill library healthy
Maintainers
Readme
dsh-self-evolve
中文 | English
为 DeepSeek Harness 提供 Hermes 风格的自进化能力:agent 把验证过的解题过程沉淀为 skill,后台 Curator 维护自建技能库的健康度,后续会话直接照已验证的流程走,不再从头试错。
闭环
- agent 解决了一个非平凡问题(多步修复、难找的根因、被用户纠正的工作流)。
- 提示词引导它调用
skill_manage(create)保存已验证的过程:步骤、坑点、验证方法。 - skill 落盘为
<skills root>/<name>/SKILL.md—— 正是dsh-skill-filesystem扫描的目录包形态,因此零额外接线进入下个会话的技能目录,天然享受渐进披露(目录只列名字+描述,正文按需加载)。 - 使用中发现 skill 有错,agent 在同一会话里
patch(精确文本替换,省 token,相当于给 skill 用的 Edit 工具)。 - Curator 淘汰不再发挥作用的技能。
注册内容
skill_manage工具 —— 动作:create/patch(首选)/edit/delete/write_file/remove_file/pin/unpin。每次写入盖上metadata.authoredBy: dsh-self-evolve和createdAt/updatedAt/version戳;只有带戳的 skill 可被修改——内置和人工编写的 skill 一律只读。delete是归档(移入状态目录),从不销毁。SKILL.md 默认上限 15 KB,资源文件 64 KB。- 提示词引导 —— 一段静态系统提示词(order 160):何时保存、何时 patch、记忆与技能的分界("skill 存过程,事实进记忆")。静态文本 ⇒ 缓存稳定。仅在组合了
systemPrompt服务的树中加载。 - 使用追踪 ——
tools/result观察者把每次成功的skill工具加载记入<state dir>/usage.json。账本与 frontmatter 分离,记录使用不改写 SKILL.md。 - Curator —— 每
curatorIntervalHours(默认 24 小时,启动 30 秒后)跑一轮:自建 skill 超staleDays(30 天)未用标记metadata.status: stale;超archiveDays(90 天)移入<state dir>/archive/<name>-<时间戳>/。pin 的技能豁免;从不硬删除;不碰非自建技能。状态写入后恢复文件 mtime,避免 Curator 自己的记账被算作活跃。
配置
| 键 | 默认值 | 含义 |
|---|---|---|
| skillsRoot | <dsh home>/skills | 自建 skill 的写入根(须是被扫描的技能根)。 |
| stateDir | <dsh home>/self-evolve | 使用账本 + 归档目录。 |
| staleDays | 30 | 多少天未用标记 stale。 |
| archiveDays | 90 | 多少天未用归档。 |
| maxSkillBytes | 15360 | SKILL.md 大小上限。 |
| maxResourceBytes | 65536 | 单个资源文件上限。 |
| curatorIntervalHours | 24 | Curator 最小间隔小时数;0 关闭。 |
| guidance | true | 是否注入自进化提示词段。 |
有意不做的(设计边界)
Hermes 在此之上还有两层,都是刻意独立的系统:
- LLM 评审式策展(fork 一个 agent 对每个技能投 keep / patch / consolidate / archive)——本插件的机械阶段已留好挂点(
metadata.status、账本、所有权门禁)。 - 离线 GEPA 进化(基于执行 trace 的优化,以 PR 形式提出)——应放在读取会话日志(
ctx.sessionQuery)的独立管线里,不属于运行时插件。
License
MIT
