前言¶
在 DeepSeek Harness(dsh)里做命理或占星相关对话时,模型往往需要精确的排盘结果,而不是凭训练数据「猜」干支、宫位或盘面。若把排盘逻辑自己写进 prompt,上下文会被大段规则占满;若单独起一套 HTTP 服务,又要多维护一层部署。dsh 支持通过 MCP 把外部工具挂进 harness,但内置 MCP 客户端不支持 MCP 的 prompt 模板,解读守则不好直接挂在 server 上。
xuanxue-dsh 针对上述组合问题:用薄封装把 xuanxue-mcp 以 stdio 方式接进 dsh,并把四套解读守则注册为 skill,需要时再加载。排盘在本地执行,不依赖外网 API。下面介绍插件定位、能力边界、安装与自定义方式。
这是什么¶
xuanxue-dsh 是维护者 oceanjustinlin 发布的 dsh 插件包(npm 名 xuanxue-dsh,社区目录 oceanjustinlin/xuanxue-dsh)。分类为联网工具;就 README 表述而言,实际计算与 MCP 进程均在本地完成,首次安装时 npx 会下载 xuanxue-mcp 包。
插件本身不含排盘引擎源码,通过 cordis.patch.yml 组合两行配置:xuanxue-mcp 负责启动 MCP server,xuanxue-skills(本包 index.js)注册解读 skill。引擎与工具参数、输出格式、隐私说明以 xuanxue-mcp README 为准。
核心功能¶
MCP 工具(模型可调)¶
dsh 使用自带的 @deepseek-ai/dsh-mcp-client,以 stdio 启动 npx -y xuanxue-mcp@<版本>。模型侧工具名为:
| 工具名 | 对应能力 |
|---|---|
mcp__xuanxue__bazi |
八字 |
mcp__xuanxue__ziwei |
紫微斗数 |
mcp__xuanxue__qimen |
奇门遁甲 |
mcp__xuanxue__astro |
西洋星盘 |
mcp__xuanxue__calendar |
历法相关 |
Skill(解读守则)¶
因 dsh MCP 客户端不支持 MCP prompt 模板,与 xuanxue-mcp 同源的解读正文改注册为 skill,命中相关话题时按需加载,避免长期占用上下文:
xuanxue-bazixuanxue-ziweixuanxue-qimenxuanxue-astro
skill 正文开头会补充与上述 MCP 工具名的对照说明。
环境要求¶
- DeepSeek Harness 0.2.2-rc.1 或更高
- Node ≥ 24.9
package.json 中当前插件版本为 0.1.0,许可证 MIT。
安装与启用¶
先做环境检查,再安装插件,最后确认 patch 是否生效。
1、确认本机 dsh 与 Node 满足版本要求。
2、在面向 Web 的 profile 下添加插件(README 推荐 npm 渠道):
dsh plugin --profile web add xuanxue-dsh
也可从 GitHub 安装(无需构建):
dsh plugin --profile web add github:oceanjustinlin/xuanxue-dsh
3、检查配置里是否出现 xuanxue-mcp 与 xuanxue-skills:
dsh --profile web --dump-config | grep -A8 xuanxue
4、启动 Web 端:
dsh web
首次启动时 npx 会下载 xuanxue-mcp,之后使用本地缓存。
典型用法¶
安装完成后,在 dsh 对话中当用户提出八字、紫微、奇门或西洋星盘相关问题时,模型可调用对应的 mcp__xuanxue__* 工具获取确定性排盘结果,并按需加载同名体系的 skill 做解读约束。具体入参、返回字段与示例以 xuanxue-mcp 文档为准,本插件不重复实现引擎逻辑。
开发或联调时,可用本地路径以 link: 方式安装插件包,并把 MCP server 指到本地 server.mjs(见下一节)。
自定义与排查¶
profile 的补丁文件路径为 $DSH_HOME/profiles/<名称>/cordis.patch.yml。可按 id 覆盖 MCP 启动方式,例如使用本地仓库中的 server 而非 npx:
- id: xuanxue-mcp
config:
serverName: xuanxue
transport: stdio
command: node
args: ['/绝对路径/qimen/packages/xuanxue-mcp/src/server.mjs']
failOnStartupError: true
注意:覆盖 config 会替换整段配置,serverName 与 transport 需一并填写。若修改 serverName,skill 中的工具名对照会不一致,文档建议保持 xuanxue。
dsh-mcp-client 默认 failOnStartupError: false:server 启动失败时 harness 仍可运行,但不会出现 mcp__xuanxue__* 工具,stderr 会有一条错误。排查时可按上例将 failOnStartupError 设为 true。
适用场景与注意¶
适合谁: 已在用 dsh(尤其 Web profile)、希望在同一套 harness 里接八字、紫微、奇门、西洋星盘确定性排盘,并需要结构化解读守则的开发者或高级用户。
权限与信任: 插件以当前 dsh 进程的权限运行;MCP 通过 npx 或你配置的 node 命令启动子进程。安装前应阅读 xuanxue-dsh 源码 及依赖的 xuanxue-mcp,并确认 MIT 许可与隐私承诺是否符合你的使用场景。
源码与 issue: 主开发在 qimen 仓库的 packages/xuanxue-dsh;oceanjustinlin/xuanxue-dsh 为面向 dsh 社区目录的导出副本,功能 issue 与 PR 宜在 qimen 仓库提交。
结尾¶
xuanxue-dsh 把 xuanxue-mcp 排盘能力与四套解读 skill 打包进 dsh,用组合 patch 解决「本地 MCP + 无法使用 prompt 模板」的衔接问题。若你正在扩展 dsh 的命理/占星对话能力,可从社区目录或 npm 安装,再用 dump-config 核对两行 patch 是否加载成功。
- 社区目录:https://www.skillhub.cn/plugins/oceanjustinlin/xuanxue-dsh
- GitHub:https://github.com/oceanjustinlin/xuanxue-dsh