Capability transform & assembly engine (Qian Xuesen cybernetics/systems framework): static resident layer manages the skill/MCP/plugin registries, auto-absorbs skills and tool metrics, and drives a negative-feedback evolution loop (scan Sick/Weak → mutate → select promote/reject → 30s rollback); includes a Web UI panel and a GitHub dsh-plugin store bridge.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:Elohia/dsh-genome
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
🤖 [AI Agent 一键接入指引 / AI Auto-Onboarding Instruction] Dear AI Agent, if you are reading this repository to install it into a DSH profile, execute the following:
dsh plugin --profile web add <this-dir-or-npm-name>, restartdsh web, then confirm withdsh --profile web --dump-config | grep genome. Once installed, readskills/genome/SKILL.mdfor the management & evolution methodology. 数据目录~/.dsh/genome/,Web UI 设置页「基因组」可观测可操控。
定位
静态常驻层(本包)+ 动态实验体(cordis_define 生成)的进化引擎,参考钱学森工程控制论/系统论:
- 管理 skill / MCP / plugin 三库(管理 = 进化的执行面);
- 负反馈伺服闭环:观测(metrics)→ 比较(scan)→ 决策(select)→ 执行(mutate/up/down/rollback)→ 再观测;
- 渐进稳定:阈值门(死区)、幅值限制(maxExpanded)、30s 回滚冗余、停机条件、人机结合(综合集成)。
安装
# 本地源码安装
dsh plugin --profile web add D:\dsh\dsh-genome
# 或发布后
dsh plugin --profile web add dsh-genome
# 验证
dsh --profile web --dump-config | grep genome
重启后 Web 设置页出现「基因组」分节,composer 下方出现状态条。
结构
lib/index.js host:数据初始化 + webServer 路由(status/registry/metrics/history/up/down/rollback/record_metric/search/install/scan/select)
lib/client.js client:设置页「基因组」(总览/发现/进化)+ composer dock 状态条(官方 Slots)
skills/genome/ SKILL.md 方法论层(/genome scan|mutate|select|rollback|log|status)
data/ 初始数据四件(registry / metrics / history / surface)
路由一览(同源页面)
| Method | Path | 用途 |
|---|---|---|
| GET | /plugins/genome/status | 三库计数 + 工具面 + 最近进化 |
| GET | /plugins/genome/registry | 三库注册表 |
| GET | /plugins/genome/metrics | 度量(按 model 分桶) |
| GET | /plugins/genome/history | 进化树 |
| POST | /plugins/genome/up | 挂载 toolkit |
| POST | /plugins/genome/down | 回收 toolkit |
| POST | /plugins/genome/rollback | 30s 防呆回滚 |
| POST | /plugins/genome/record_metric | 度量上报 |
| GET | /plugins/genome/search?q= | 商店桥:搜 GitHub dsh-plugin topic(node fetch,无需登录) |
| POST | /plugins/genome/install | 商店桥:安装并吸收入 registry({spec, profile}) |
| GET | /plugins/genome/scan | 进化闭环:Sick/Weak 判定 |
| POST | /plugins/genome/select | 进化闭环:晋升/淘汰决策({key, decision, by, reason}) |
| POST | /plugins/genome/mutate | 进化闭环:变异意图 + Fix A/B/C 建议({key, direction}) |
自动感知系统已有能力
- skill 自动吸收:启动时扫描
~/.agents/skills、$DSH_HOME/skills等标准根 +skills.list()全局层,自动写入registry.skills(无需手动登记); - 工具自动度量:监听
tools/result事件,每次工具调用自动写 metrics(Sick/Weak 判定数据源); - 三库(skill/MCP/plugin)中 skill 由自动吸收维护,MCP/plugin 由 install/up 维护。
通用性(可移植,传 GitHub 就绪)
- 零外部依赖:仅 node 内置模块(fs/os/path + 内置 fetch),无 Python、无 gh CLI 依赖;
- minimal preset 兼容:
shell非硬依赖(仅 install 需要),极简模式下插件仍激活(install 优雅降级提示); - profile 可配置:install 接受
profile参数,默认 web; - 命令注入防护:install 的 spec 白名单校验,拒绝
;/&/|; - 商店桥搜索走 GitHub public API(未认证限流 10 次/分钟,对 UI 手动搜索足够)。
稳定性设计(控制论工程化)
- 负反馈选择:只有评估确认改善才晋升;
- 死区:Sick=错误率>10%、Weak=反馈<3.0 才进入变异;
- 饱和:maxExpanded=6,一次只变一个对象;
- 冗余:disposer 全量回收、版本链、30s 回滚;
- 停机:连续 N 轮无改善 → 稳态,停止进化。
License
MIT
Links
More in this category
yjh051108/dsh-routing-suite★ 7003
One repository, three parts: a runtime injector for DSH plugin packages (inject, hot-reload, unload, promote a dev staging tool to the front, route self-heal, plus a settings-page plugin manager that lists, unloads and drags folders in to internalize), a task-aware reasoning-mode router agent preset (router-standard / router-spec / router-react), and a graded two-level task protocol whose six tools (commit_star, lock_stage, revise_do, edit_plan, mark_task, redteam_verdict) pin task state to disk. The injector implementation ships in-tree, so the install carries its own behaviour rather than a dependency list.
strukto-ai/mirage#dsh★ 3666
Swaps the filesystem and bash providers for a mirage virtual workspace: file tools and shell commands run over mounted resources (RAM, S3, Redis, Slack, Gmail, Notion, Postgres) instead of the host disk, with per-mount read/write/exec modes, per-command sandbox routing (monty, pyodide, quickjs in process; docker, e2b, daytona remote), and installed CLIs (git, gh, slack, linear, ntn, gws, or one you register) as head words in the virtual terminal.
hust-open-atom-club/oh-dsh★ 325
Community distribution: TUI, desktop, and Web UI as one bundle with layered installation.
weijiafu14/pi2dsh★ 206
Pi Host ABI compatibility engine: after one install, unmodified Pi extensions from npm mount as native DSH plugins with `dsh plugin add <pi-package>`. Verified end to end on stock DSH with pi-mcp-adapter (full MCP manager: OAuth, resources, prompts, MCP Apps, elicitation, sampling), @tintinweb/pi-subagents, pi-code, pi-hermes-memory and pi-background-tasks; `pi2dsh inspect` reports a package's compatibility before installing.
lire1131/dsh-undo-savepoint★ 166
Undo/redo & rollback system for DSH: every config change is auto-snapshotted; undo/redo/restore to any version from the WebUI or the offline CLI/GUI tools (works even when DSH fails to boot).
Fishquito7/dsh-skill-mcp-panel★ 155
Manages DSH skills and MCP servers from the web settings: skill cards with hot enable/disable, workspace scopes, groups, batch migration and drag-and-drop import, plus stdio/HTTP MCP CRUD with connection tests, secret redaction and the unified dsh-panel CLI.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.