WebUI 崩溃时用终端续聊会话并审批操作
26.1/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add marshfolx/dsh-rescue-tui该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 71 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/8) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
- 发起网络请求lib/fetch-provider.js:54
async fetch(request, signal) { - 发起网络请求lib/fetch-provider.js:72
response = await globalThis.fetch(url, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-agent@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-web给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 终端续聊会话
- 终端审批操作
- WebUI崩溃应急维护
网页 UI 挂了时用的极简应急维护 TUI
README
由 DeepSeek 最新模型翻译生成dsh-rescue-tui
WebUI 挂掉时的极简终端维护入口:一个纯插件挂载的 DSH profile bundle。
会话续聊 · 权限三层继承 · 终端审批 · 模型路由切换。零核心改动,装上即用。
适用场景
- WebUI 挂了:web server 起不来、端口被占、浏览器端异常——会话日志在磁盘上完好,TUI 直接续聊
- SSH / 远程维护:没有图形界面,一个终端就是全部
- 低配环境 / 应急救援:零第三方 UI 依赖(原生 readline + ANSI),残破环境也能跑
功能特性
| 🔄 会话续聊 | 启动列出历史会话(当前工作区优先),数字键 resume;无标题会话自动节选首条用户 prompt 作标题;崩溃残缺回合由持久化层自动合成关闭 |
| 🛡️ 权限三层继承 | 原样挂载 sandbox-policy + approval + permission-presets:默认 workspace-write(写入限工作区)+ ask 审批;越界操作终端弹 y/N |
| 🔀 模型路由切换 | /model 动态列出 llm-pi-ai 目录全部分组;同一会话日志原位重开换路由(历史保留);save 可写入默认设置 |
| 🧠 推理强度 | /effort low\|high\|max\|off 独立调整,不必换模型 |
展开完整文档(README 剩余 1 节)
dsh-rescue-tui
WebUI 挂掉时的极简终端维护入口:一个纯插件挂载的 DSH profile bundle。
会话续聊 · 权限三层继承 · 终端审批 · 模型路由切换。零核心改动,装上即用。
适用场景
- WebUI 挂了:web server 起不来、端口被占、浏览器端异常——会话日志在磁盘上完好,TUI 直接续聊
- SSH / 远程维护:没有图形界面,一个终端就是全部
- 低配环境 / 应急救援:零第三方 UI 依赖(原生 readline + ANSI),残破环境也能跑
功能特性
| 🔄 会话续聊 | 启动列出历史会话(当前工作区优先),数字键 resume;无标题会话自动节选首条用户 prompt 作标题;崩溃残缺回合由持久化层自动合成关闭 |
| 🛡️ 权限三层继承 | 原样挂载 sandbox-policy + approval + permission-presets:默认 workspace-write(写入限工作区)+ ask 审批;越界操作终端弹 y/N |
| 🔀 模型路由切换 | /model 动态列出 llm-pi-ai 目录全部分组;同一会话日志原位重开换路由(历史保留);save 可写入默认设置 |
| 🧠 推理强度 | /effort low\|high\|max\|off 独立调整,不必换模型 |
| 🌐 网络工具 | web_search 开箱即用;自研 ~100 行匿名 HTTP fetch provider 补齐 web_fetch(HTML→markdown、私网拦截、截断控制) |
| ✂️ 工具面裁剪 | 保留 pwsh/bash、fs 编辑、todo、jobs、搜索抓取;禁用 subagent/workflow/ralph/goal/plan-mode/skills——救援场景一个人一个 agent 就够 |
安装
前置:Node ≥ 22、官方 @deepseek-ai/dsh CLI、pnpm ≥ 10。
方式 A · 一键安装脚本(Node,跨平台)
git clone https://github.com/marshfolx/dsh-rescue-tui.git
node dsh-rescue-tui/scripts/install-profile.mjs # 默认创建 rescue profile,从 npm 安装
或直接从 GitHub 安装:
node dsh-rescue-tui/scripts/install-profile.mjs --package "github:marshfolx/dsh-rescue-tui"
开发模式:源码直连
node dsh-rescue-tui/scripts/install-profile.mjs --link /abs/path/to/this-repo
方式 B · 手动安装(任何 profile 通用)
$dir = "$env:USERPROFILE\.dsh\profiles\rescue"
New-Item -ItemType Directory -Force $dir | Out-Null
1. cordis.yml 与 cordis.patch.yml 写入空模板 '[]'(launcher 每次 boot 会重写 cordis.yml) Set-Content "$dir\cordis.yml" "[]"; Set-Content "$dir\cordis.patch.yml" "[]"
2. pnpm-workspace.yaml:packages: [- .] + nodeLinker: hoisted
3. package.json —— bundles 必须包含本插件: { "name": "dsh-profile-rescue", "private": true,
"dependencies": { "dsh-rescue-tui": "^0.2.0" },
"dsh": { "profile": { "bundles": ["@deepseek-ai/dsh-base", "dsh-rescue-tui"] } } }
4. 安装并启动
pnpm install --dir $dir
dsh --profile rescue
方式 C · 开发模式(源码直连)
profile 的 dependencies 用 link: 协议指向本仓库根(package.json 所在处),改代码即时生效,无需重装(插件自身依赖安装在仓库根 node_modules)
使用
$ dsh --profile rescue
dsh rescue TUI — WebUI 挂掉时的极简维护入口
── 会话列表 ── 1 2026-08-24 20:27 · dsh-fix-ui · 156d8a5f-bf81 修复登录超时的问题 2 2026-08-23 12:53 · eval · 5b198c22-a3f4 (untitled) 数字=继续该会话 · n=新建 · q=退出选择> 1
指令一览
| 分组 | 指令 |
| 会话 | /sessions 回列表 · /new 新会话 · /exit 退出 |
| 权限 | /perm 查看当前与可选 · /perm read-only\|workspace-write\|danger-full-access 切换 |
| 路由 | /model 列出全部 provider/model · /model opencode/mimo-v2.5-free [effort] [save] 切换 |
| 强度 | /effort 查看 · /effort low\|high\|max\|off |
| 审批 | y / n 回应当前审批 · /y /n 预答下一次审批 |
| 其它 | /help 帮助 |
回合进行中:直接输入 = 排队追问;Ctrl+C = 打断当前回合;空闲双击 Ctrl+C = 退出。
管道/脚本调用时 EOF 会 fail-closed:未决审批按拒绝处理。
权限模型
与 WebUI 完全同源的机制,零改动继承:
| 预设 | 文件沙箱 | 审批 |
| read-only | 只读 | ask |
| workspace-write(默认) | 限工作区 + 会话私有临时目录 | ask |
| danger-full-access | 不限 | never |
会话创建时钉扎权限预设,resume 保留原有效权限;切换前端不产生权限漂移。
工作方式
dsh --profile rescue
→ @deepseek-ai/dsh-base (模型适配器 / 工具 / 持久化 / 沙箱 / 审批 全部来自 base) → dsh-rescue-tui cordis patch (裁剪协作工具行 + 插入三行) ├─ rescue-runner 终端 REPL:会话选择、resume、事件流渲染、审批应答 ├─ rescue-web-fetch 匿名 HTTP fetch provider(启用 web_fetch) └─ tool-web config fetch: true → ctx.agents.create()/resume() 同一套 ~/.dsh/sessions 日志,WebUI 与 TUI 天然互通
验证矩阵
| 场景 | 结果 |
| 组合校验 + boot→菜单→退出 | ✓ |
| resume 含崩溃残尾的真实历史会话 + 续聊 | ✓ |
| 越界写入被沙箱拒绝 → 升级审批 y 放行 → 文件落盘 | ✓ |
| /perm 查看 / 切换 / 回读 | ✓ |
| 单回合并行 pwsh + web_search | ✓ |
| /model 切 opencode/mimo-v2.5-free(日志实证 "provider":"opencode" ×6) | ✓ |
| /effort max → low 切换与回读 | ✓ |
已知边界
- WebUI 后端进程仍在运行时,不要两边同时续同一个 session(追加式日志双写冲突)
- fetch provider 无 JS 渲染能力,SPA 页面拿不到动态内容——此类需求用 pwsh 跑 curl 兜底
- 上游偶发 PI_AI_ERROR: network_error 会提前结束回合,重发即可(不做静默自动重试)
- peer 依赖对齐 @deepseek-ai/*@^0.1.1-rc.2,harness 大版本升级需回归
- Windows 下 bash 行由 base 平台门控自动禁用(pwsh 栈接管),POSIX 反之
开发
pnpm install # 仓库根执行
pnpm check # node --check 全部模块
$env:RESCUE_TRACE='1'; dsh --profile rescue # stderr 过渡探针
插件契约照搬官方 headless runner:export { name, inject, apply },服务经 ctx.get() 获取,事件经 ctx.on('session/event' | 'approval/request') 订阅——无构建步骤,纯 ESM JS。
License
MIT © marshfolx预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
marshfolx/dsh-rescue-tui
WebUI 崩溃时用终端续聊会话并审批操作
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目