dsh-codex-file-panel:给 DeepSeek Harness Web UI 加一个 Codex 风格的工作区文件侧栏

前言

用 DeepSeek Harness(DSH)做智能体开发时,Web UI 是常用入口。但查看和修改工作区文件、确认 Git 变更、临时开个终端,往往要在浏览器、编辑器和终端之间来回切换,上下文断得很碎。

dsh-codex-file-panel 解决的就是这个问题:它把文件树、搜索、编辑、预览与 Git review 集中到 Web UI 的右侧面板,并补充底部终端等与文件工作流紧密相关的能力。下面按功能、安装、配置与安全边界的顺序介绍。

这是什么

dsh-codex-file-panel 是由 JesonChou 维护的社区插件,为 DeepSeek Harness Web UI 提供 Codex 风格的工作区文件侧栏。这里的「Codex」仅用于说明 UI 交互风格,项目本身是社区维护的第三方项目,不属于 DeepSeek 或 OpenAI。

当前版本为 0.4.0,许可证为 MIT。项目按照 Harness 官方 bundle 规范组织,仓库根目录本身就是一个可由 dsh plugin add 安装的插件包。

核心功能

已核实的能力如下:

  • Codex 风格的可调整宽度右侧文件面板,支持响应式收起与布局持久化。
  • 工作区文件树、文件名搜索、文本读取与保存。
  • Markdown、代码、图片、音视频和 PDF 预览,PDF 资源由插件本地提供。
  • Git 变更查看、暂存、取消暂存和提交。
  • 会话级多标签终端,支持断线短暂保活和尺寸同步。
  • 与 Harness 原生会话、语言包、布局和 client module loader 集成,界面文案覆盖中英文。

环境要求

组件 要求
DeepSeek Harness 0.1.0-rc.7 系列 API
Node.js 22 或更高版本
开发包管理器 pnpm 11(仓库锁定 11.21.0
运行界面 Harness Web UI

插件依赖 node-pty 原生模块。Windows、macOS 和 Linux 均应使用与本机 Node.js ABI 匹配的构建产物,否则终端功能无法正常工作。

安装与启用

从 GitHub 安装

安装 main 分支的最新源码:

dsh plugin --profile web add github:JesonChou/dsh-codex-file-panel

main 会继续变化。需要可复现安装时,先审计源码,再固定到 tag 或完整 commit SHA:

dsh plugin --profile web add github:JesonChou/dsh-codex-file-panel#<tag-or-commit-sha>

Git 安装获取的是源码,包内的 prepare 会构建 lib/。pnpm 10 及以上默认阻止依赖执行构建脚本,首次 add 可能先失败,并在目标 profile 的 pnpm-workspace.yaml 中生成待确认项。按终端输出的精确包键授权:

allowBuilds:
  dsh-codex-file-panel: true
  node-pty: true

保存后重新执行同一条 add 命令即可。注意这项授权允许依赖在沙箱外执行本机代码,只应对已审计且固定 commit 的源码开放。

从本地 checkout 或 tarball 安装

想先在本地检查源码,可以克隆后从根目录安装:

git clone https://github.com/JesonChou/dsh-codex-file-panel.git
cd dsh-codex-file-panel
corepack enable
pnpm install --frozen-lockfile
dsh plugin --profile web add .

tarball 方式包含预构建的 JavaScript,不需要为插件本身授权 preparenode-pty 仍可能需要本机构建授权:

pnpm install --frozen-lockfile
pnpm pack --pack-destination dist
dsh plugin --profile web add ./dist/dsh-codex-file-panel-0.4.0.tgz

验证与启动

经过上面的步骤,先用 --dump-config 确认插件层已加载:

dsh --profile web --dump-config

输出应包含 # == dsh-codex-file-panel 层。确认无误后启动:

dsh --profile web

卸载与升级:

dsh plugin --profile web remove dsh-codex-file-panel
dsh plugin --profile web update dsh-codex-file-panel

跟随 main 安装的用户用 update 即可;固定 tag/SHA 的用户应重新执行 add,并把 URL fragment 改为目标 tag 或 commit。更新后再次运行 dsh --profile web --dump-config 检查组合层。

配置

插件提供文件传输上限、终端数量、终端 shell、断线保活时间和目录排除项等配置,默认值适合本地开发。完整字段与默认值见仓库的 docs/configuration.md,本文不逐项展开。

安全边界与注意事项

先明确能力范围:这个插件具备读取和写入会话工作区、执行 Git 操作以及创建本机 PTY 的能力,也就是说它以当前 dsh 进程的权限运行。安装前应检查源码与许可证,确认可接受再引入。

服务端路由做了一层约束:路径不能逃逸会话 cwd、限制载荷大小并拒绝非 loopback 来源。但即便如此,也只应在可信的本地 Harness 环境中使用。两条红线:

  1. 不要未经认证把 Web UI 暴露到公网。
  2. 不要假设反向代理后的 loopback 检查等同于用户认证。

发现安全问题,请按仓库的 SECURITY.md 私下报告,不要公开提交 issue。

适用场景

它适合这样的开发者:在本地运行 DeepSeek Harness,主要在浏览器里使用 Web UI,希望在同一个界面完成查看和编辑工作区文件、review Git 变更、开终端这几件事,减少工具间切换。对可复现安装有要求的团队,建议走「固定 tag/SHA 加 tarball」的路径,并在授权 allowBuilds 前完成源码审计。

结尾

一句话回顾:dsh-codex-file-panel 把文件、Git 与终端收进 Web UI 右侧面板,让浏览器内的开发闭环更完整。仓库与配置文档见 GitHub(https://github.com/JesonChou/dsh-codex-file-panel );据收录信息,社区插件目录页为 https://www.skillhub.cn/plugins/JesonChou/dsh-codex-file-panel ,该目录为独立社区站点,与 DeepSeek 无官方从属关系,内容请以站点实际页面为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye