dsh-evolve 使用指南
自进化:agent 在会话内给自己热挂载/卸载持久化插件。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
自进化:agent 在会话内给自己热挂载/卸载持久化插件。
— 源: plugins.ai_summary
安装与验证
dsh plugin --profile web add github:william-jin-cmu/dsh-evolve
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
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 状态、版本、用途。- 同名重试必须能加载新源码:挂载失败不写 manifest、rev 不前进,若用 rev 做
import()的 cache-bust,重试会命中 Node 模块缓存加载旧的坏源码(这个 bug 正是在 E2E 里被 agent 自己诊断出来的)。现用进程内单调 seq 作为 cache-buster,与持久 rev 解耦。 - 中途改工具集会使该 session 的 prompt cache 前缀失效,一次性成本,正确性不受影响。
— 源: plugin_wiki.readme_zh (fallback readme_raw)
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则