跳到主内容

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)

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则