前言¶
在 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