Back to home

fzs356113-oss

dsh-self-evolving-agent

自我进化 Agent — 越用越聪明的 DeepSeek Harness 框架: 三本日志 + 六触发场景 + 经验晋升管线 + soul.md 身份层 + 选择性经验注入.

Stars
0
Language
JavaScript
Created
Aug 16, 2026
Updated
Aug 16, 2026

Introduction

dsh-self-evolving-agent

Self-Evolving Agent · 自我进化 Agent — 把「自我改进 Agent」模式做成 DSH 原生框架: 三本日志 + 六触发场景 + 经验晋升管线 + soul.md 身份层 + 选择性经验注入。

English overview: This repository is a plugin for DeepSeek Harness (DSH), the 122k+ star agent framework where everything is a plugin. It turns a stateless DSH agent into a self-evolving agent: without touching model weights, it records failures, corrections and best practices into plain-text memory files (three logs), selectively injects only the experience relevant to the current task (never full-context dumps), and promotes repeatedly-verified lessons up a pipeline — from raw candidates (.learnings/) to project rules (AGENTS.md), identity behaviors (SOUL.md) and finally reusable skills (skills/). It ships two ready-made DSH workflows (learn-from-session, promotion-review with dry-run safety) plus an orchestrating skill (self-evolving-loop). Everything is UTF-8 Markdown/JSON — human readable and git diffable.

License: MIT Topic: dsh-plugin Stars

✨ 亮点

  1. 不改权重,靠文件记忆 — Agent 最大的结构性缺陷是"无状态": 每个会话从零开始,重复踩同一个坑。本框架用文件系统做记忆: 错误自动记录 → 模式识别 → 晋升为永久规则 → 提取为可复用技能,越用越聪明。
  2. 四层记忆 + 选择性注入 — 会话工作记忆(HOT)/ 三本日志(WARM)/ 行为规则 / 可复用技能(COLD)分层管理;每次只 grep 与当前任务相关的经验注入上下文,绝不全量注入(呼应「智能RAG选择性检索」: 精准而非全面)。
  3. 经验晋升管线.learnings/ → LEARNINGS.md → AGENTS.md → SOUL.md → skills/,逐级验证、人工审核、可降级可撤销,防误导优先。
  4. 六触发场景自动记录 — 命令失败 / 用户纠正 / 发现更好做法 / 知识过时 / 功能请求 / 重复模式,六种信号对应六种记录动作,见下表。
  5. 双工作流开箱即用learn-from-session 把零散经验整理入账;promotion-review 默认 dry-run,只生成提案不碰核心文件,确认后才执行晋升。

六触发场景速查

触发场景检测信号记录动作
命令失败命令非零退出 / 报错堆栈写 ERRORS.md: 命令/现象/根因/修复/可复现
用户纠正用户明确说"不对/应该…"写 LEARNINGS.md: 被纠正的行为与正确做法
发现更好做法试出更优解 / 官方文档更新写 LEARNINGS.md: 新旧做法对比与适用条件
知识过时旧做法报错 / 依赖大版本升级更新 LEARNINGS.md 条目或标记 obsolete
功能请求用户提出新需求 / 重复要同一个能力写 FEATURE_REQUESTS.md: 需求/价值/状态
重复模式同一问题第三次出现递增验证次数,达到 3 次提请晋升

灵感来源

本项目灵感来自以下概念与实践(引用中文概念名,不附路径):

  • LLM编译式知识库 — "每次探索都加总进知识库"的加总哲学,本仓库是其 Agent 端实现
  • 自我改进 Agent — 三本日志 + 六触发场景 + 晋升管线的原始模式
  • 智能RAG选择性检索 — 只注入与当前任务相关的经验,不全量塞上下文
  • 知识库的代谢律 — 输入 = 处理 = 输出,任何积压都会拖垮系统
  • CAD自动化装配 / MCP协议与CAD集成 — 把领域工作流插件化、可复用化的同源思路

架构

flowchart LR
    subgraph S[会话层 · HOT]
        A[任务执行] -->|六触发场景| B[.learnings/ 候选]
    end
    B -->|learn-from-session 工作流| C[三本日志 · WARM<br/>LEARNINGS / ERRORS / FEATURE_REQUESTS]
    C -->|验证次数 >= 3| D[promotion-review 工作流<br/>dry-run 提案 → 人工审核]
    D -->|晋升| E[行为规则层<br/>AGENTS.md 项目约定 / SOUL.md 身份 / TOOLS.md 工具陷阱]
    E -->|通用化| F[skills/ · COLD 可复用能力]
    F -.选择性注入<br/>只取与当前任务相关的经验.-> A

目录结构

dsh-self-evolving-agent/
├── README.md                     # 本文件
├── LICENSE                       # MIT © 2026 ZF
├── .gitignore
├── docs/                         # 概念文档
│   ├── 01-memory-layers.md       # 四层记忆与选择性注入原则
│   ├── 02-promotion-pipeline.md  # 晋升/降级/撤销规则
│   └── 03-triggers.md            # 六触发场景速查
├── templates/                    # 可复制的模板
│   ├── LEARNINGS.md  ERRORS.md  FEATURE_REQUESTS.md
│   ├── SOUL.md  AGENTS.md  TOOLS.md
├── workflows/                    # DSH 双文件工作流
│   ├── learn-from-session.meta.json / .workflow.js
│   └── promotion-review.meta.json / .workflow.js
├── skills/
│   └── self-evolving-loop/SKILL.md   # 主循环技能(触发词: 出错/失败/复盘…)
└── examples/
    └── sample-project/           # 可直接跑的示例项目(含 .learnings/ 与三本日志)
        └── skills/example-skill/ # 示例技能(示例数据,非仓库级技能 bundle,不被自动发现)

快速开始

前提

安装并启动 DSH:

npx @deepseek-ai/dsh web

然后在浏览器打开 DSH Web GUI(默认 http://127.0.0.1:3080)。

1. 安装技能

技能命名必须为 kebab-case ASCII(正则 ^[a-z0-9]+(?:-[a-z0-9]+)*$),目录保持一层 bundle 结构 skills/<name>/SKILL.md(官方技能发现不支持递归 **/SKILL.md)。把本仓库的 skills/self-evolving-loop/SKILL.md 安装到以下任一位置(推荐项目级):

  • 项目级(推荐): <projectRoot>/.dsh/skills/self-evolving-loop/SKILL.md
  • 项目级(备选): <projectRoot>/.agents/skills/self-evolving-loop/SKILL.md
  • 用户级: <dshHome>/skills/self-evolving-loop/SKILL.md(Windows 默认 dshHome 即 DSH 的 data 目录)

刷新 GUI 后技能即被加载。技能触发词: "出错" / "失败" / "又踩坑" / "复盘" / "回顾" / "学习"。

2. 运行工作流

DSH 的 workflow 工具接收三个参数: metascriptargs。使用方法: meta 参数 = <name>.meta.json 的完整内容;script 参数 = <name>.workflow.js 的完整内容;args 参数 = 传入 JSON(见下)。

learn-from-session 为例(在示例项目上运行):

{
  "meta":   { "...learn-from-session.meta.json 的内容..." },
  "script": { "...learn-from-session.workflow.js 的内容..." },
  "args":   { "projectRoot": "E:/知识库/04-项目/dsh-self-evolving-agent/examples/sample-project" }
}

promotion-review 同理,args 为:

{
  "projectRoot": "E:/知识库/04-项目/dsh-self-evolving-agent/examples/sample-project",
  "dryRun": true
}

安全默认: dryRun 缺省为 true,只生成 proposals/promotion-<日期>.md 提案文档,绝不修改 AGENTS.md / SOUL.md / skills;人工审核通过后设 dryRun: false 重跑一次才会真正执行晋升写入。

3. 典型回路

  1. 会话中踩坑 → 按六触发场景把候选经验写入 .learnings/(技能会现场指导)
  2. 会话结束跑 learn-from-session → 零散经验被分类、去重、合并进三本日志
  3. 日志中验证次数 ≥ 3 的条目 → 跑 promotion-review(dry-run)→ 人工审核提案
  4. 确认后 dryRun: false 执行晋升 → 规则进入 AGENTS.md / SOUL.md,通用能力提取为独立 skill
  5. 后续会话按任务相关性选择性注入经验,Agent 越用越聪明

文件清单

文件用途
README.md项目说明与快速开始
LICENSEMIT 许可证(© 2026 ZF)
.gitignore忽略依赖/日志/缓存/数据目录
docs/01-memory-layers.md四层记忆架构与选择性注入原则
docs/02-promotion-pipeline.md晋升/降级/撤销规则与防误导机制
docs/03-triggers.md六触发场景的检测信号与记录动作
templates/LEARNINGS.md经验日志模板(日期/场景/教训/验证次数/状态)
templates/ERRORS.md错误日志模板(日期/命令/现象/根因/修复/可复现)
templates/FEATURE_REQUESTS.md需求日志模板(日期/需求/价值/状态)
templates/SOUL.md身份层模板(沟通风格/工作偏好/红线,≤100 行)
templates/AGENTS.md项目约定骨架模板
templates/TOOLS.md工具陷阱骨架模板
workflows/learn-from-session.meta.json经验整理工作流 meta(inspect/extract/merge/report)
workflows/learn-from-session.workflow.js经验整理工作流脚本体
workflows/promotion-review.meta.json晋升评审工作流 meta(collect/evaluate/propose)
workflows/promotion-review.workflow.js晋升评审工作流脚本体(dry-run 安全)
skills/self-evolving-loop/SKILL.md自我进化主循环技能(何时记录/如何注入/何时晋升)
examples/sample-project/AGENTS.md示例项目约定(含已晋升规则)
examples/sample-project/SOUL.md示例项目身份(短示例)
examples/sample-project/.learnings/4 条模拟经验候选(2 条验证次数 ≥ 3)
examples/sample-project/LEARNINGS.md示例经验日志
examples/sample-project/ERRORS.md示例错误日志
examples/sample-project/FEATURE_REQUESTS.md示例需求日志
examples/sample-project/skills/example-skill/SKILL.md示例技能(已从教训晋升)
examples/sample-project/promotion-log.md示例晋升记录(说明格式)
docs/verification.md真实运行验证报告(两个工作流均已实跑)

文档

License

MIT © 2026 ZF — 详见 LICENSE

相关项目