dsh-oh-my-theme 是我为 DeepSeek Harness(dsh)网页端开发的「主题 + 文件工作台」插件,目前已经发布为 npm 包。
它最初从主题定制出发,现在已经扩展为一个围绕日常开发流程设计的工作台:既可以调整 dsh 的界面风格和文字显示,也可以在输入框中引用项目文件、浏览工作区、预览 Markdown 与代码、查看 Git 变化和提交历史,还能查看 DeepSeek 账户的实时余额。
这个插件解决什么问题
使用 AI 处理真实项目时,经常需要在对话、文件系统和 Git 状态之间反复切换。dsh-oh-my-theme 希望把这些高频操作集中在 dsh 网页端内完成:
- 通过
@文件路径明确告诉 AI 需要读取哪个文件,减少盲目搜索带来的上下文消耗。 - 在对话旁边直接浏览项目文件和预览内容,不必频繁切换编辑器或文件管理器。
- 查看当前工作区的 Git 变化、Diff 和提交历史,同时保持严格的只读边界。
- 根据自己的工作习惯调整主题、字号和文件预览字体。
主题与文字显示
插件在 设置 → 通用设置 → Oh My Theme 中提供主题和文字显示设置。
目前内置三套起步皮肤:
aurora:暗色极光紫。coffee:暖色咖啡棕。matrix:暗色终端绿。- 也可以选择“默认”,继续跟随 dsh 内置外观。
鼠标悬停在色卡上时,整个页面会实时预览对应皮肤,但不会立即保存;只有点击色卡后才会确认选择。对话流、文件树和文件预览的字号可以分别调整,文件预览字体也可以单独设置。
这些偏好保存在当前浏览器的 localStorage 中,不会修改会话数据或项目文件。
在输入框中引用项目文件
在 dsh 输入框中输入 @,插件会搜索当前会话的工作区,并显示匹配的文件和目录。
选择文件后会插入 @相对路径 。这样可以明确告诉 AI 应该读取哪个文件,而不是让它先在整个项目中搜索。目录项会以 / 结尾,输入类似 @src/ 的路径可以继续向下筛选。
点击输入框中已经插入的文件引用,还可以直接在右侧工作台中打开对应文件。
右侧文件工作台
点击 Session log 左侧的工作区按钮,可以打开 Codex 风格的右侧文件面板。面板提供三种布局:
- 仅显示项目文件。
- 文件树与文件预览分栏显示。
- 仅显示文件预览。
文件树采用懒加载方式,目录只在展开时读取。node_modules、.git、.pnpm、构建产物和隐藏依赖目录会自动过滤,不会出现在文件树或 @ 搜索结果中。
点击搜索按钮或按下 Ctrl/Cmd + P,可以按文件名和路径快速打开文件。连续打开多个文件时,每个文件会保留独立的预览标签,可以在标签之间切换或关闭。
Markdown 与代码预览
Markdown 文件使用 dsh 自带的 Markdown 渲染器。JavaScript、TypeScript、Vue、Python、Go、Rust、Java、Shell、YAML、SQL、Dockerfile 等常见代码文件会使用 Shiki 进行语法高亮,并提供复制按钮。
无法识别但属于 UTF-8 文本的文件会回退为纯文本预览。单个文本文件设有 512KB 读取上限,二进制文件会被拒绝读取,避免误加载大文件或无意义内容。
Git 变化与提交时间线
右侧工作台可以从“文件”切换到“Git”,查看当前工作区的 Git 状态和历史。整个 Git 功能只提供读取能力,不执行提交、暂存、切换分支或其他写操作。
更改视图
更改会按照已暂存、未暂存和未跟踪状态分组展示。选择文件后,可以使用 dsh 现有的 DiffBlock 组件查看工作区 Diff 或暂存区 Diff,未跟踪文件也可以生成对应的 Diff。
提交视图
提交时间线会从本地和远程 refs 分页读取与当前工作区相关的提交,显示短哈希、提交主题、作者、时间和分支标签。
选择一条提交后,可以查看该提交涉及的文件列表、完整提交 Diff,或者只查看其中某个文件的变化。
宿主端只开放固定的 git status、diff、log 和 show 命令。所有路径都限制在当前会话工作区内,commit hash 会进行格式校验,命令也设置了超时和输出上限。
DeepSeek 实时余额
插件会在输入框下方的会话统计区域显示 DeepSeek 账户实时余额,点击金额可以查看总余额、赠送余额、充值余额和更新时间。
API Key 只在 dsh 宿主端通过 credentials 服务解析,用于请求 DeepSeek 官方 /user/balance 接口。浏览器只会收到余额结果,API Key 不会进入客户端或日志。
余额默认不会自动轮询。只有首次挂载或用户主动点击刷新时才会发起请求,避免在后台持续产生不必要的网络请求。
安装与使用
插件已经发布为 npm 包,可以安装到 dsh 的 web profile:
dsh plugin --profile web add dsh-oh-my-theme安装完成后启动 dsh 网页端:
dsh web如果需要卸载:
dsh plugin --profile web remove dsh-oh-my-theme项目地址
项目代码、完整使用说明和更新记录都在 GitHub:
如果你正在使用 dsh,欢迎安装体验。遇到问题或有新的功能想法,也可以通过 GitHub Issue 反馈。