william-jin-cmu/dsh-evolve 预览 preview

william-jin-cmu/dsh-evolve

Plugin插件 Native原生 ⭐ 11 Sessions & Context会话与上下文

自进化插件:代理在会话中根据对话内容自行增加或削减能力——evolve_add可热挂载并持久化Cordis插件(下一步工具即可见),evolve_remove支持可逆卸载,重启后自动恢复。

Project Overview项目介绍

dsh-evolve is a native DeepSeek Harness plugin that enables in-session self-evolution for agents. It leverages DSH’s real-time tool list recalculation per step and Cordis 4’s rollbackable fiber effects to make new capabilities available immediately after mounting. Agents can detect recurring user needs that base capabilities cannot handle well, then write, persist, and mount full Cordis plugins to themselves. It works with all standard DSH profiles and does not require custom modifications to core DSH code. Plugins can be fully removed when no longer needed, and all persisted evolutions are automatically restored when DSH restarts.

Evolution is not limited to adding new tools. This plugin enables agents to modify their core behavior through system prompt sections, event hooks, and timers, all added via a single evolve_add call. Three core functions are exposed: evolve_add creates and persists a plugin to the local store and mounts it, evolve_remove fully unloads a plugin and cleans up all resources, and evolve_list lists all existing evolutions with their status. A pre-injected system prompt guides agents to add capabilities only when they are truly needed to avoid unnecessary bloat to the agent’s capability set.

This plugin is distributed as a standard DSH Profile Bundle. To install, you first build the plugin with scripts/build.sh, which requires DSH to be available in your PATH or the DSH_CHECKOUT environment variable pointing to your DSH checkout root, then add it to your DSH profile with dsh plugin --profile web add . Alternatively, you can install it via the DSH plugin registry, but the two installation methods are mutually exclusive and should not be used together. The default storage directory for evolved plugins is ~/.dsh/evolve, and evolved code runs without sandboxing, with the same permissions as the main DSH process.

dsh-evolve 是专为 DeepSeek Harness 开发的原生插件,支持代理在对话会话中实现自我进化。当代理发现用户反复提出的需求超出自身现有能力范围时,可以当场编写 Cordis 插件源码并热挂载到自身,新增的能力在下一个对话步骤就能直接调用。不需要时可完整卸载,重启后已挂载的进化插件会自动恢复。

进化能力不仅限于新增工具,还可以直接修改代理的行为逻辑。插件本身提供三个核心工具:evolve_add 用于将插件源码持久化存储到本地并热挂载,同名重复调用会替换旧版本;evolve_remove 用于完整卸载插件并清理所有资源;evolve_list 用于列出所有已添加的进化项。插件还预设了系统提示规则,引导代理只在必要时新增能力。

本插件是标准的 DSH Profile Bundle,可通过构建后添加到用户配置文件安装,也可通过 DSH 插件注册表安装,两种方式互斥不能同时挂载。存储目录默认为 ~/.dsh/evolve,启动时默认自动恢复所有已添加的进化。插件运行在无沙箱环境,拥有和主 DSH 进程相同权限,适合可信自用场景。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • No license declared - all rights reserved by default; ask the author before commercial use or redistribution未声明开源许可证 —— 默认「保留所有权利」,商用或再分发前先问作者
  • 11 stars - an early-stage project星标 11,属于早期项目
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:william-jin-cmu/dsh-evolve

把 william-jin-cmu/dsh-evolve 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-evolve

dsh-evolve

自进化 harness 插件:agent 在 session 内随对话给自己长出/剪掉能力。用户的表述暴露出一个缺口(反复要查的表、天天要算的换算、老要看的端点),agent 现场写一个 cordis 插件挂载给自己——新工具在下一个 step就可调用;不再需要时可逆卸载;重启自动恢复。

进化不限于工具。evolution 是完整的 cordis 插件:常驻 system prompt 规则、agent/step / agent/settled 事件钩子、定时器主动唤醒 agent——改行为、而不只是加能力的进化,同样一次 evolve_add 完成(三条非工具实录)。

依据的机制:dsh 的工具列表每个 step 都从当前挂载的插件实时重算(无 session 级快照),cordis 4 的 fiber 具有可回滚 effect——挂载即生效,dispose 即净。

工具

  • evolve_add(name, source, description?, config?) — 把一段纯 ESM cordis 插件源码持久化到 evolve store(~/.dsh/evolve/<name>.mjs + manifest),并热挂载。同名再次调用即替换(旧 fiber 先完整卸载)。
  • evolve_remove(name, keepSource?) — 卸载 fiber(它注册的工具/监听/服务全部自动清理)、移出 manifest、删除源码。
  • evolve_list() — 每个 evolution 的名称、fiber 状态、版本、用途。

另注册一段 system prompt(order 118)教模型进化姿态:会复用才长、过时就剪、长了剪了要告知用户;并附四条非工具进化的配方(常驻规则 → prompt section、每步自纠 → agent/step 钩子、事后自动化 → agent/settled 监听、主动性 → 定时器 + agent.send 唤醒)。

什么值得进化

不是所有事都配长一个工具——温度换算这种模型口算就对的,进化只是噪音。工具要挣到它的位置,得至少占一条模型裸答做不到的:

  1. 跨会话状态 — 随口记的账、喂药时间,下个会话还要接着用;
  2. 实时/外部数据 — 天气、汇率、你们的 git 仓库;
  3. 精确计算 — 日期边界、分类汇总、利息摊销,模型心算容易出错;
  4. 你的私有信息 — 家人的城市、家里的日子、项目的表,长进工具后零参数随口问。

还有第五条,它筛选的不是"值不值得进化",而是"该进化成什么形态":工具是 pull——模型得记得去调。凡是"不经过模型决策也必须发生"的需求(每次都要、自动发生、没人问也要来),做成工具就是错的姿态——该长的是 prompt section、事件钩子或定时器,见下面的非工具实录。

生活

你的日常表述 agent 长出的工具 凭什么需要工具
「今天买菜花了 86,以后我随口说你就记着,月底我要问分类统计」 expense_add / expense_stats:持久账本 跨会话状态:下个会话接着记、接着算
「我妈周六去杭州,要带伞吗?我经常帮家里人看天气」 weather_city:降水概率+带伞建议,「妹妹」自动对应深圳 实时数据 + 私有别名
「帮我记下宝宝生日、结婚纪念日、我妈生日」 family_* 三件套:日子固化在工具里 私有信息 + 精确日期计算
「供应商报价 12800 美元折人民币?天天要算」 convert_currency:实时汇率、双数据源容错 实时数据
「房贷 120 万 30 年,提前还 10 万能省多少利息」 等额本息摊销表工具 精确计算(模型心算容易出错)

工作

你的日常表述 agent 长出的工具 凭什么需要工具
「每周五我都要汇总三个仓库大家这周的提交写周报」 team_weekly_report:仓库清单长在工具里,按人/按仓库分组 私有数据源 + 多步聚合
「E4103 是什么错误来着?」(项目错误码表天天翻) lookup_error_code:实时解析表文件 私有信息
「这批实验数据 A/B 组差异显著吗」(每周都问) 显著性检验工具(t-test/卡方,出精确 p 值) 精确计算
「staging 现在什么版本?」(每天问) 包住团队 health 端点的状态工具 实时私有端点

以上带工具名的都不是设想——全部有下面的实录。

实证(未剪辑 E2E)

六条真实会话(dsh web + DeepSeek-V4-Flash,RPC 驱动,事件流原样提取)。重点看前两条:

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev vision-exp-tile 下一个 Next dsh-vscode-workbench →