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 为准。

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

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

小夜