tiphareth0/dsh-sshworkspaces--packages-dsh-workbench-tiphareth ↗★ 3
dsh-workbench-tiphareth
DeepSeek Harness Web UI 工作台(tiphareth 定制版):四列 IDE(聊天 / CodeMirror 编辑器 / 文件与 Git / xterm 终端),支持本地与 SSH 工作区;可配置扩展到任意路径
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:tiphareth0/dsh-sshworkspaces#d5d11e6c02ca02a46961da7c166f78ea6b371099&path:packages/dsh-workbench-tiphareth说明文档
阅读完整 README ↗使用
- 打开 http://127.0.0.1:3080,进入 Conversation 并创建会话(需选择一个本地工作区)。
- 工作台在右侧展开;头部 Workbench 按钮可隐藏/显示。
- 文件树点开文件即进入编辑器;⌘S 保存;⌘P 快速打开。
编辑器主题(与工作区主题解耦)
编辑器主题是插件级独立配置,不影响 DeepSeek Harness 的工作区主题及其设置。内置四档:
| 主题 | 说明 |
|---|---|
| 月之暗面(默认) | 深空蓝黑 + 月光光谱语法色 |
| VS Code 深色 | 经典 Dark+ 配色 |
| VS Code 浅色 | 经典 Light+ 配色 |
| 跟随系统 | 跟随 DSH 应用亮/暗主题(上游默认行为) |
切换入口:设置 → 插件 → Plugin configuration,找到 dsh-workbench-tiphareth 卡片,点右上角齿轮按钮,在弹窗中选择编辑器主题(即时生效,持久化在浏览器 localStorage)。
语法高亮覆盖 Python / R / Shell(sh/bash/zsh/ksh/fish 及 .bashrc/.zshrc 等 dotfile)/ JS / TS / JSON / Markdown / YAML / HTML / CSS 等主流语言。主题样式只作用于编辑器列与状态栏,不触碰工作区其他区域。
打开工作区外的文件(定制功能)
- 在文件树顶部的快速打开框输入 以
/开头的绝对路径 后回车(例如/etc/hostname),即可打开工作区外的文件。 - 开关入口(推荐):设置 → 插件 → Plugin configuration → dsh-workbench-tiphareth 齿轮弹窗,用「工作区外文件访问」开关一键开启/关闭。开关点击即生效并持久化到 profile 配置(重启后保留),无需手改文件。
- 也可手动编辑
~/.dsh/profiles/web/cordis.patch.yml(profile 层,配置 HMR 实时生效,无需重启):
- id: workbench-tiphareth
name: dsh-workbench-tiphareth
config:
allowOutsideWorkspace: true
- 开启后:打开工作区外路径会先弹确认框;保存到工作区外路径同样先弹确认框。确认后才真正读取/写入磁盘。
- 关闭方式:用上述开关关闭,或把
allowOutsideWorkspace改回false/ 删除该 patch 行。
安全模型(定制说明)
- 所有文件操作(read/write/list/rename/delete/img/raw/open)默认以会话工作区为 jail 根;
..穿越、绝对路径、符号链接逃逸均被拒绝(上游原有逻辑,测试覆盖)。 - 工作区外访问仅当请求携带
outside: true(浏览器端自动附带)且 profile 配置allowOutsideWorkspace: true时才放行;放行后路径仍按 filesystem 根解析并做规范化。 - 浏览器端在读取/写入工作区外路径前强制确认。
- 相关 host 路由:
GET /git/fs/config向浏览器暴露当前开关;FS_OUTSIDE_DISABLED为未开启时的错误码。