前言¶
在 DSH 裏開發插件時,會話和工具鏈都跑在宿主進程裏。一旦插件把宿主搞崩——界面停在半路、對話不再繼續——你往往只能自己翻日誌、改配置、重啓。社區插件 dsh-paradise(npm 包名 @corvus-dsh/dsh-paradise)由 corvus-dsh 維護,定位是星火 OS 的微內核:在會話類插件之下提供協議與適配層,並可以脫離 DSH 桌面端作爲獨立宿主運行;在配置你自己的模型 API 後,還具備「檢測崩潰 → 拉起維修會話 → 嘗試修復並重啓宿主」的自修復鏈路(README 標明爲測試功能)。
下面按定位、能力、安裝與典型用法說明,事實均來自項目 GitHub README 與 package.json(當前資料中版本爲 0.9.2-beta.1)。
這是什麼¶
一句話:彼岸層只回答「怎麼在宿主上安全地造會話並讀寫」,不回答「什麼時候該造、造來幹什麼」。
代碼上分爲三層:src/protocol/(與宿主無關的契約)、src/adapters/<host>/(各宿主特性)、src/read/(宿主中立的讀取)。對外導出 SessionAdapter / StorageAdapter / ToolAdapter 等協議,並在 DSH 側提供寫層四個模塊(inject、session-writer、trigger、delete),供同系的 memory、graft-slice、observer 等插件依賴。
同時,dist/harness-server.js 與 dist/watchdog.js 讓你可以在不裝 DSH 插件的情況下,用 Node 直接起 Web UI 與看門狗——這是 README 裏強調的「獨立宿主」路徑。
核心功能¶
適配層與自修復(邊界須先弄清)¶
README 用表格劃清了兩種配置:
| 你填了什麼 | 彼岸是什麼 | 能做什麼 |
|---|---|---|
| 不填賬號 / API Key | 只是適配層 | 協議、適配器、獨立宿主、看門狗、UI;能檢測宿主異常、降級、記錄崩潰現場;不會自行拉起會話去修(沒有模型就沒有「修」) |
| 填入你自己的賬號 / API Key | 具備自修復鏈路 | 檢測失效 → 用你的 API 起維修會話 → 讀崩潰與源碼 → 產出並執行修復 → 重啓宿主並再探測 |
目標場景:開發插件時把 DSH 宿主本身搞崩。憑據需自行配置,倉庫不含 Key。已知限制包括:沙箱基於 node:vm(官方說明非安全邊界)、模型生成的修復腳本可能出錯,嘗試會落在 reports/ 供審計;README 要求先在非生產環境演練。
獨立宿主 Web UI¶
啓動後默認 http://127.0.0.1:38080,提供節點列表、聊天區、狀態面板與「宿主守護」區。支持新建節點、「建 3 節點」(策劃 / 開發 / 測試)、「一鍵提煉記憶」(無模型憑據時會明確拒絕)。數據目錄默認 ./.starfire,會話以 sessions/node-*.jsonl 等形式落盤,重啓可恢復。
看門狗¶
watchdog.js 在 HOSTED(僅探測)與 REPAIRING(拉起獨立環境並下發維修)之間切換。維修環境由看門狗啓動,而非由瀕死的 DSH 啓動。無模型 Key 時仍可發現崩潰並拉起維修節點,但診斷與寫出修復需要模型,否則會記錄拒絕而非假裝修好。
軟接管與其它¶
宿主在 agent loop 內監控連續工具失敗(閾值 3)與上下文 token 估算(60000),超限時注入強制中斷提示,不重寫對話。無 Key 時 UI 仍可操作,但與節點對話、提煉記憶、維修寫修復均會明確提示未配置模型。
安裝與啓用¶
DSH 生態上是「一切皆插件」;目錄站 SkillHub 插件頁 與 GitHub 倉庫由社區維護,與 DeepSeek / 幻方無官方從屬關係。插件在當前 DSH 進程權限下運行,安裝前宜自行查看源碼與許可證。
環境要求¶
| 項 | 版本 |
|---|---|
| Node | ≥ 22.5.0(node:sqlite) |
| DSH | ≥ 0.2.1-rc.5 |
| 外部 npm 依賴 | 無(僅 Node 內置模塊) |
兩條安裝路線(勿混裝同一插件的兩條路)¶
路線 A:npm registry(beta)
dsh plugin add @corvus-dsh/dsh-paradise@beta
dsh plugin add @corvus-dsh/dsh-memory@beta
dsh plugin add @corvus-dsh/dsh-graft-slice@beta
dsh plugin add @corvus-dsh/dsh-observer@beta
查 beta 通道版本:
npm view @corvus-dsh/dsh-paradise@beta version
路線 B:GitHub 直裝
dsh plugin add github:corvus-dsh/dsh-paradise
dsh plugin add github:corvus-dsh/dsh-memory
dsh plugin add github:corvus-dsh/dsh-graft-slice
dsh plugin add github:corvus-dsh/dsh-observer
區別簡要:registry 拿已發佈產物、便於釘版本(如 @corvus-dsh/dsh-paradise@0.9.1-beta.1);GitHub 直裝跟倉庫當前提交,適合跟進最新修復。順序上須先裝內核 dsh-paradise,再裝其餘三個。
裝完確認:
dsh plugin list
期望四行 fiberPhase 均爲 active;若爲 null 或異常,README 提示常見原因爲 Node 低於 22.5。
卸載順序(先業務後內核):
dsh plugin remove dsh-observer
dsh plugin remove dsh-graft-slice
dsh plugin remove dsh-memory
dsh plugin remove dsh-paradise
npm 上裸名 dsh-memory、dsh-observer 已被第三方佔用,README 要求始終使用 @corvus-dsh/* 作用域。
典型用法¶
1. 僅跑獨立宿主(README 寫明可不裝 DSH 插件)¶
在已有構建產物的目錄中:
node dist/harness-server.js
瀏覽器打開 http://127.0.0.1:38080。常用參數:--port(默認 38080)、--host(默認 127.0.0.1)、--home(默認 ./.starfire)。
2. 配置模型後使用 UI 對話¶
bash 示例(憑據換成你自己的):
export DSH_HARNESS_BASE_URL=https://api.deepseek.com/v1
export DSH_HARNESS_API_KEY=sk-...
export DSH_HARNESS_MODEL=deepseek-chat
node dist/harness-server.js
配置成功後 UI 右上角「模型」顯示已連接。
3. 看門狗與維修 API¶
node dist/watchdog.js \
--pid-file ./.starfire/dsh.pid \
--probe-port 8080 \
--repair-env-port 38080 \
--interval 10000
手動觸發維修示例:
curl -X POST http://127.0.0.1:38080/api/repair \
-H "content-type: application/json" \
-d '{"reason":"host died","crashLog":"/path/crash.log"}'
另可查狀態、建節點、建三角色:
curl http://127.0.0.1:38080/api/state
curl -X POST http://127.0.0.1:38080/api/session -d '{}'
curl -X POST http://127.0.0.1:38080/api/team -d '{}'
4. 在 DSH 內與同系插件聯用¶
安裝四件套後,paradise 作爲內核提供協議與寫層,memory、graft-slice、observer 在其上擴展記憶、切片與觀察等能力;具體行爲以各倉庫 README 爲準。
適用場景與注意¶
適合誰: 需要在 DSH 上穩定造會話、寫回宿主存儲的插件作者;希望用獨立宿主 + 看門狗演練崩潰與維修流程的開發者;願意自帶 API Key、並接受自修復仍爲測試特性的團隊。
務必注意:
- 無 Key 時系統可降級到「發現崩潰 + 維修節點記錄」,不能代替人工讀日誌與重啓 DSH。
- 自修復依賴模型輸出腳本,存在誤修風險;應在非生產環境驗證,並查看
reports/。 - 插件與獨立宿主均在你本機權限下執行代碼與寫盤,安裝前請審閱 corvus-dsh/dsh-paradise 源碼與 LICENSE。
- README「從源碼運行」段落包含
git clone示例,僅用於本地構建與跑 harness;DSH 插件安裝請使用上文dsh plugin add命令,不要與 clone 路徑混爲一談。
結尾¶
dsh-paradise 把會話協議、DSH 適配、獨立宿主與看門狗收進一個微內核:不配置模型時仍是可用的適配與觀測層;配置憑據後才進入完整的自修複試驗鏈路。要進一步覈對安裝命令與 HOST 指南,請以倉庫 README 爲準。