xuanxue-dsh:在 DeepSeek Harness 中接入八字、紫微、奇门与星盘排盘

前言

在 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-bazi
  • xuanxue-ziwei
  • xuanxue-qimen
  • xuanxue-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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye