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