dsh-paradise:DSH 會話棧下的「彼岸層」與獨立宿主

前言

在 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、並接受自修復仍爲測試特性的團隊。

務必注意:

  1. 無 Key 時系統可降級到「發現崩潰 + 維修節點記錄」,不能代替人工讀日誌與重啓 DSH。
  2. 自修復依賴模型輸出腳本,存在誤修風險;應在非生產環境驗證,並查看 reports/。
  3. 插件與獨立宿主均在你本機權限下執行代碼與寫盤,安裝前請審閱 corvus-dsh/dsh-paradise 源碼與 LICENSE。
  4. README「從源碼運行」段落包含 git clone 示例,僅用於本地構建與跑 harness;DSH 插件安裝請使用上文 dsh plugin add 命令,不要與 clone 路徑混爲一談。

結尾

dsh-paradise 把會話協議、DSH 適配、獨立宿主與看門狗收進一個微內核:不配置模型時仍是可用的適配與觀測層;配置憑據後才進入完整的自修複試驗鏈路。要進一步覈對安裝命令與 HOST 指南,請以倉庫 README 爲準。

羽毛球分组比赛记分
小程序二维码

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

小夜