dsh-plugin 使用指南
为 DSH 装上 GEML 块级文档能力:MCP 让模型按块读写 Markdown/SKILL 文档,附带调用图谱技能,告别多轮任务里整篇读写的 Token 浪费。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
geml
— 源: plugin_wiki.wiki_content
安装与验证
dsh plugin --profile web add @geml/dsh-plugin
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
- Markdown (为人排版):缺乏稳定的结构块与机器主键。Agent 哪怕只改一个参数,也必须读写整篇,不仅在多轮循环中极度浪费上下文预算,更极易引发文本格式与语义的漂移。
- JSON / XML (为机器序列化):充斥着冗余的包裹语法与结构噪点,既阻断了人类的直观阅读,又在长上下文中白白消耗昂贵的 Token。
- 临时记忆与碎片文件 (缺乏单一真相源):上下文被拆散在对话历史与各处 Markdown 拷贝中,“副本自诞生就在漂移”,导致版本脱节与幻觉失真。
- 自举——
GEML-spec.geml是用 GEML 写成的规范本身,每次测试都要求被干净解析。 - 一致性测试集 支持不同实现的兼容性。
— 源: plugin_wiki.readme_zh (fallback readme_raw)
常见问题
这个插件装了什么实际代码吗?
没有。它是一份纯配置 bundle,不含任何自写代码。GEML MCP 服务由 dsh 自带的 @deepseek-ai/dsh-mcp-client 启动 npm 上的 @geml/geml CLI,技能也只是 Markdown 文本,因此安装时不会触发任何构建授权。
安装后还需要做什么才能用?
装完直接生效。可以先跑 dsh --profile web --dump-config 看是否出现 "# == @geml/dsh-plugin" 这一层,再启动 dsh --profile web,模型就能看到 mcp__geml__geml_get / mcp__geml__geml_set 等工具。
它和官方 dsh 的文档工具是什么关系?
互不冲突。官方工具读写整篇文件,GEML 把文档拆成可寻址的块(按 id / 标题 / 行号定位),让模型只读要改的那一段,Token 消耗显著下降,原文件不会被改写格式。
我能把 MCP 钉到特定版本吗?
可以。在 profile 的 cordis.patch.yml 里按 id: mcp-geml 整段重写,把 args 里的 @geml/geml 改成 @geml/[email protected] 这种带版本号的形式即可;或者把 command 从 npx 改成 PATH 上的全局 geml。
卸载会留下什么残留吗?
不会。dsh plugin --profile web remove @geml/dsh-plugin 会同时移除依赖项和注入的 cordis 这一层,profile 回到安装前的状态。
— 源: plugin_wiki.faq_json
兼容性
- DSH: 未声明
- Node: 未声明
- Platforms: 跨平台
— 源: plugin_wiki.compatibility_json
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则