dsh-doctor
asdf17128
Find what your DeepSeek Harness (dsh) patches silently broke — dead patches, config fields dropped by whole-config repla…
PROJECT TOPICS
PROJECT README
DSH Web UI 的终端面板(Terminal panel)插件,提供真实可交互的 shell 终端:
cmd.exe(可切换 PowerShell / pwsh / Git Bash),macOS 默认 /bin/zsh,Linux 默认 /bin/bash;可通过配置或面板里的下拉框切换。dsh web(或 dsh --profile web)能正常启动并打开浏览器界面。node-pty 加入 profile 目录 pnpm-workspace.yaml 的 allowBuilds 后重新执行安装命令。包已发布到 npm registry,一行安装:
dsh plugin --profile web add dsh-terminal
dsh plugin --profile web add github:giiiiiithub/terminal
仓库内已提交
lib/构建产物,git 源安装时无需现场构建。
Windows: dsh plugin --profile web add "file:C:/user/abc/terminal",假设本项目源代码在: C:/user/abc/terminalmacOS: dsh plugin --profile web add "file:/opt/dsh-terminal"Linux: dsh plugin --profile web add "file:~/dsh-terminal"插件含宿主端代码,必须重启 dsh web 进程才会加载:
# 停止当前 dsh web 进程(如 Ctrl+C,或结束 dsh --profile web 的 node 进程),然后:
dsh web
版本 ≥ 0.1.1 起插件自带
dsh.bundle,dsh plugin add会自动把插件登记进 profile 的加载层,无需再手动编辑cordis.patch.yml。 早期版本(0.1.0)需要手动添加条目,升级后请删除 profile 里手写的terminalinsert 条目,否则会和 bundle 层自动插入的条目重复。
刷新浏览器页面,会话头部出现 >_ 终端 按钮即安装成功。点击展开面板,首次展开会自动启动一个会话(默认 shell,Windows 下为 cmd.exe)。
dsh plugin --profile web remove dsh-terminal
或手动:在 profile 目录执行 pnpm remove dsh-terminal。
cordis.patch.yml 里手写过 terminal insert 条目,一并删除。>_ 终端 按钮消失即卸载完成。默认值可在 profile 的 cordis.patch.yml 里按 id 定点覆盖(bundle 层之后应用):
- id: terminal
config:
shell: cmd.exe # 默认 shell(Windows 下默认即 cmd.exe,也可填完整路径)
cwd: <工作目录> # 新会话默认工作目录,不配置该项时,每次新建terminal都会使用shd当前会话所在工作目录
env: # 追加到进程环境
LANG: "zh_CN.UTF-8"
| 配置项 | 默认值 | 说明 |
|---|---|---|
shell |
cmd.exe (win32) / /bin/zsh (macOS) / /bin/bash (Linux) |
新会话默认 shell |
cwd |
客户端工作区路径;都没有时为用户主目录 | 新会话默认工作目录。解析顺序:客户端请求参数(UI 默认传当前会话 workspace)→ 本配置 → 用户主目录 |
env |
— | 追加的环境变量 |
defaultReadTimeoutMs |
250 | read 长轮询上限 |
maxBufferBytes |
2,000,000 | 每会话输出缓冲上限,超出丢弃最旧字节 |
open 先逐出已退出会话,仍满则返回 session-limit 错误。kill 会立即释放会话 id。kill 终止 shell:Windows 上先执行 taskkill /PID <pid> /T /F 强制清理
进程树(node-pty 的控制台枚举辅助进程在个别情况下会失败,只杀 shell
本身),再走 node-pty 正常终止;Linux 下按进程组终止。仅当子进程主动
脱离控制台/会话(如以 CREATE_NEW_CONSOLE 启动)时仍可能残留。CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。