zhxqc / dsh-oh-my-theme

Listed

DeepSeek Harness (dsh) web plugin with themes, global typography, @file mentions, project file tree, and Markdown preview.

mainOther View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:zhxqc/dsh-oh-my-theme

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 6dbea1aSynced Aug 18, 2026

dsh-oh-my-theme

English

npm npm downloads license GitHub stars Awesome DSH Plugin

DeepSeek Harness(dsh)网页端定制的「主题 + 文件工作台」插件:

  1. 皮肤与文字显示 —— 在 设置 → 通用设置 → Oh My Theme 中切换配色,并分别调整对话流、文件树和文件预览字号。
  2. @ 引用文件 —— 输入框里输入 @ 即可搜索当前项目文件,插入 @路径 引用,让 AI 精确读取内容,避免盲目搜索消耗上下文。
  3. 右侧文件面板 —— Codex 风格的项目文件树与文件预览,可独立显示或分栏显示;Markdown 与常见代码文件支持语法高亮,未知文本格式回退为纯文本。

按第三方插件的标准形态构建(与内置 ui-* 系列、dsh-at-filedsh-skin 同构)。无构建步骤:宿主半与浏览器半都是手写文件、原样下发。

功能

🎨 主题与文字显示

设置 → 通用设置 → Oh My Theme 中切换配色,并分别调整对话流、文件树和文件预览的字号与字体。

  • 内置 3 套起步皮肤 —— aurora(暗色极光紫)、coffee(暖色咖啡棕)、matrix(暗色终端绿),外加默认跟随内置外观。
  • 悬停实时预览 —— 鼠标移到色卡上,整个页面实时套用该皮肤(不落盘);只有点击才保存选择。
  • 全局文字显示 —— 对话流、文件树、文件预览字号可分别配置,预览字体可自定义;修改后立即生效并保存在当前浏览器。
主题与文字显示

✨ @ 引用文件

在输入框输入 @ 搜索当前项目文件,插入 @路径 引用,让 AI 精确读取内容,避免盲目搜索消耗上下文。

  • 按当前会话工作区搜索、排序;选中文件后插入 @相对路径 ,点击输入框中的引用文本后才打开右侧预览。
  • 目录项末尾带 /,输入 @src/ 可继续向下钻取。
@ 引用文件

📁 右侧文件面板(Codex 风格)

点击 Session log 左侧的工作区按钮打开。可切换「仅项目文件 / 文件与预览分栏 / 仅文件预览」,Markdown 与常见代码文件支持语法高亮。

  • 懒加载文件树 —— 目录按需逐层加载,自动跳过 node_modules / .git / 构建产物目录;文件树与 @ 菜单共用 VSCode Material Icon Theme 图标。
  • 快速打开文件 —— 在面板中点击搜索按钮,或按 Ctrl/Cmd + P,按文件名或路径筛选并回车打开;索引会复用 @ 引用的工作区缓存。
  • 多文件预览标签 —— 连续打开多个文件时保留独立预览标签,可切换或关闭;标签只在当前会话内有效,按需读取文件内容。
  • 隐藏依赖过滤 —— 点文件、隐藏文件及依赖/构建目录(包括 node_modules.pnpm.gitdist 等)不会出现在文件树或 @ 菜单中。
  • 独立视图 —— 面板标题栏可切换「仅项目文件 / 分栏 / 仅文件预览」三种布局。
  • Markdown 与代码预览 —— .md 使用 dsh 的 Markdown 渲染器;JS/TS/TSX、JSON、HTML/CSS、Vue、Python、Go、Rust、Java、Shell、YAML、SQL、Dockerfile 等常见代码文件复用 Shiki 高亮和复制按钮;未知 UTF-8 文本回退为纯文本(512KB 上限、二进制拒绝读取)。
工作区入口文件面板Markdown 预览
工作区入口文件面板Markdown 预览

数据存放位置:皮肤、字号、字体等偏好保存在当前浏览器的 localStorage 中,不会影响会话数据。

Git 记录(只读)

在同一个右侧工作台中切换「文件 / Git」,进入 Git 后再切换「更改 / 提交」,查看当前工作区的 Git 状态和历史,不执行任何写操作。

  • 更改视图 —— 按已暂存、未暂存、未跟踪分组,显示状态码;点击文件后通过现有 DiffBlock 组件预览工作区或暂存区 Diff,未跟踪文件也会生成 Diff。
  • 提交时间线 —— 从所有本地和远程 refs 分页加载当前工作区涉及的提交,以纵向时间线展示短哈希、主题、作者、时间和分支标签;选择提交后查看变更文件列表与提交 Diff,也可以单独查看某个文件。
  • 宿主安全边界 —— 只开放固定的 git status / diff / log / show 只读命令,路径限制在当前会话工作区,commit hash 做格式校验,命令有超时和输出上限。

Git 更改与工作区 Diff Git 提交时间线与提交 Diff

DeepSeek 实时余额

在输入框下方的会话统计栏查看实时余额,点击金额可打开详情;本功能只展示实时余额,不计算单次消费。

  • 宿主端通过 DSH credentials 服务解析 DEEPSEEK_API_KEY,调用官方 /user/balance 接口。
  • 浏览器只收到 CNY / USD 的总余额、赠送余额、充值余额和更新时间,API key 不会进入客户端或日志。
  • 余额会在宿主远程服务挂载后自动读取,也支持手动刷新;未配置密钥或宿主尚未重启时显示明确提示。
  • 默认不轮询,避免后台频繁请求;点击刷新时才发起一次轻量 HTTPS 请求。

安装

本插件是标准 dsh bundle。发布到 npm 后,使用包名安装到 web profile:

dsh plugin --profile web add dsh-oh-my-theme

本地开发或尚未发布时,也可以按项目路径安装:

# 在项目根目录安装
dsh plugin --profile web add .
# 或在任意位置按绝对路径安装
dsh plugin --profile web add /path/to/dsh-oh-my-theme

然后启动网页端:

dsh web

使用

皮肤

打开 设置 → 通用设置,「Oh My Theme」行位于内置「外观」行下方。把鼠标移到色卡上可实时预览整个页面的效果(此时不会保存);点击才确认生效。同一区域还可分别设置对话流、文件树、文件预览字号以及预览字体,修改后立即生效并保存在当前浏览器中。「默认」恢复跟随内置外观。

@ 引用文件

在输入框输入 @ 并继续输入路径片段 —— 弹出菜单列出当前项目的匹配文件和目录。选中文件会插入 @路径 ;点击输入框中的引用文本后才打开右侧预览。AI 会精确读取该文件,而不是盲目搜索。目录项末尾带 /,输入 @src/ 可以继续缩小范围,但不会打开预览。

文件树 + 文件预览

点击 Session log 左侧的右栏按钮打开 Codex 风格面板。面板标题栏可切换“仅项目文件 / 分栏 / 仅文件预览”,整个面板可拖拽调整宽度,最大 1200px;文字大小统一在 设置 → 通用设置 → Oh My Theme 中配置。.md 使用 dsh 共享的 Markdown 渲染器,常见代码文件根据文件名和扩展名映射到 Shiki 语言并显示高亮与中文复制按钮;未知文本格式回退为纯文本。面板始终跟随当前打开会话的工作区。点击搜索图标或按 Ctrl/Cmd + P 可快速打开文件;打开多个文件后可在预览顶部标签间切换,关闭当前标签会回到相邻标签。

Git 更改 + 提交

打开右侧工作台后切换到「Git」,再选择「更改」或「提交」。文件模式下的树形、分栏和预览按钮始终保留在同一工具栏;面板较窄时工具栏会自动收缩为图标并保留悬停提示,避免按钮换行。更改和提交视图默认只显示列表,选中文件或提交后再展开右侧 Diff 详情,减少窄面板下的空白占用;「工作区 / 暂存区」按钮只改变更改 Diff 来源。Git 不可用或当前目录不是仓库时,面板会显示宿主返回的错误,不影响文件树和预览。

卸载

dsh plugin --profile web remove dsh-oh-my-theme

许可证

MIT


Star 历史

Star History Chart

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected
DocumentationDetected

Repository information

Language
JavaScript
License
MIT
Last updated
Aug 17, 2026, 1:58 AM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.