tiphareth0/dsh-sshworkspaces--packages-dsh-workbench-tiphareth3

dsh-workbench-tiphareth

DeepSeek Harness Web UI 工作台(tiphareth 定制版):四列 IDE(聊天 / CodeMirror 编辑器 / 文件与 Git / xterm 终端),支持本地与 SSH 工作区;可配置扩展到任意路径

包名
dsh-workbench-tiphareth
版本
0.1.13
许可证
BSD-3-Clause
最近更新
2026年8月31日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:tiphareth0/dsh-sshworkspaces#d5d11e6c02ca02a46961da7c166f78ea6b371099&path:packages/dsh-workbench-tiphareth

使用

  1. 打开 http://127.0.0.1:3080,进入 Conversation 并创建会话(需选择一个本地工作区)。
  2. 工作台在右侧展开;头部 Workbench 按钮可隐藏/显示。
  3. 文件树点开文件即进入编辑器;⌘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 为未开启时的错误码。