dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Terminals view tab for DeepSeek Harness web UI — live background job count, streaming output, one-click kill
English | 中文
把模型运行的命令行——后台的和前台的都算——变成对话界面里看得见、点得关的东西:在 Web GUI 的「对话 / 轨迹」标签行右侧贡献一个**「命令行」视图标签**,标签文案实时反映当前会话存活的后台任务数量(命令行1、命令行×3);点击进入管理页,每条命令一行:
pwsh/bash 工具前台执行的命令(瞬时完成、从不进入 jobs 注册表)同样会被宿主半捕获——包装 ctx.shell.run(),按发起会话归属,经 /dsh-terminal-tabs/foreground 路由下发。运行中的行绿灯脉动并逐秒计时;已完成的显示退出码与耗时,命令下方 chevron 可展开捕获的输出尾。与后台任务分行合并展示后台子代理(subagent)一并计入,紫色圆点区分。
conversation.view 座位注册,与「对话」「轨迹」同源同权;切换、选中态由框架管理。jobsBySession 镜像;标签文案在每次投影时读当前会话镜像,零轮询 RPC。前台命令由页面打开期间轮询 /dsh-terminal-tabs/foreground(1.2 秒)合并展示。浏览器展示的输出来自插件在宿主半对 ctx.shell.start() 做的实例级包装:每个成功 spawn 的进程被一个私有定时游标持续抽干,增量同时写入每进程环形缓冲(48 KiB 上限,最旧滚出)。模型的 readOutput 语义保持不变——包装层是唯一消费者,模型每次读取仍拿到"自它上次读取以来"的全部字节。因此:
ctx.terminals)不走此通道,不展示ShellProcess.readOutput 的返回形状(当前为 { delta }),包装需同步调整——失效表现仅为看不到输出,不影响关闭等其他功能ctx.shell.run() 包装;无发起 agent 归属的运行原样放行。已结束条目保留最近 16 KiB 合并输出| 字段 | 默认 | 说明 |
|---|---|---|
routePath | /dsh-terminal-tabs/close | 关闭路由的绝对路径 |
tailPath | /dsh-terminal-tabs/tail | 输出尾读路由的绝对路径 |
foregroundPath | /dsh-terminal-tabs/foreground | 前台命令台账路由的绝对路径 |
includeKinds | ["bash","pwsh","subagent"] | 计入展示的任务种类(客户端过滤,宿主侧校验拼写) |
dsh plugin --profile web add github:bbboy31/dsh-terminal-tabs
纯 JavaScript 双平面插件(host 半 index.js + 浏览器半 client.js),无构建步骤。安装后刷新页面即用。
dsh plugin --profile web remove dsh-terminal-tabs
或在 插件市场 → 已安装 → 卸载(两步确认)。卸载会随纤维一并移除路由、标签与样式,无残留。
开发提示:Loader 按包名缓存已导入模块——改完宿主半后热重载不会生效,需更换包名(如
-r2)或重启进程;浏览器半改动刷新页面即生效。