
wlj521/dsh-ui-tweaks
dsh-ui-tweaks
dsh-ui-tweaks is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile web add dsh-ui-tweaksRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-ui-tweaks)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from wlj521/dsh-ui-tweaks, cleaned of badges and images.
dsh-ui-tweaks
DeepSeek Harness(DSH)Web UI 插件:在设置面板中实时调整对话界面——字体大小、表格样式、对话框宽度、可开关的对话时间线、GitBar(输入框工具行内的 git 状态胶囊:分支在权限旁、差异在模型前),以及可开关的归档管理(设置中的「归档」页面:查看、恢复或彻底删除已归档会话)。
预览
| 对话时间线:右侧竖轨,悬停展开消息预览、点击跳转、随滚动高亮当前位置,自动避让右侧边栏 | 表格样式:Claude Desktop 浅灰圆角卡片风格 |
| 对话框宽度:消息列、输入框、统计栏同步变宽 | 设置面板:字体大小 / 代码字号 / 行高 / 表格样式 / 对话框宽度 / 时间线 / Git 状态栏 / 鲸鱼指示器等功能开关 |
| GitBar:输入框工具行内的 git 状态胶囊(分支在权限旁、差异在模型前),支持分支切换、删除、推送到远程,差异面板内可直接提交 | 分支面板:点击分支胶囊向上弹出——本地 / 远程分支列表,点击即切换,支持删除、推送远程,底部可新建分支 |
| 差异面板:文件列表 + 逐文件 diff(默认只显示有差异的 hunk),底部提交区可提交 / 提交并推送,宽度可拖动 | 终端面板:真 PTY 终端(xterm.js + WebSocket),完整终端交互,宽度可拖动、一键半屏 |
| 打开项目:会话头部的图标菜单——用资源管理器 / VS Code / IDEA / GoLand / WebStorm / PyCharm 打开当前项目;旁边的终端、差异图标一键唤出对应面板 | |
| 归档管理:设置中的「归档」页面,列出所有已归档会话(标题 / 工作区 / 相对时间),支持恢复与彻底删除 | MCP 管理:设置中的「MCP 管理」页面,列出所有配置的 MCP 服务器及其运行状态,支持添加 / 编辑 / 启用停用 / 删除 / 重启 |
功能
- 消息字体大小(px):直接输入数字(10–32),作用于消息正文、标题、表格与代码。代码字号可单独设置(8–32px 绝对值,默认 13;行内代码按比例跟随)——旧版的百分比配置(
codeFontScale)仍然兼容,一旦设置新的 px 值即以其为准。 - 表格样式:可选
默认或 Claude Desktop 风格(浅灰圆角单元格卡片、单元格间有间隙、无边框、单元格与行内代码同底色、表头不加粗)。Claude 风格下表格默认撑满列宽;放不下的宽表保持自然宽度、在表格内横向滚动(悬停出现滚动条),不会被挤压换行或裁掉后面的列。 - 对话框宽度(px):直接输入数字(600–1600);消息列、输入框、输入框下方的统计栏(轮数/步数/耗时/tok/s)三者同步变宽,宽表格的两侧「出血」量也随列宽同步计算——表格最多贴到消息区边缘(悬停出滚动条),不会伸出屏幕。
- 对话时间线(可开关,默认关闭):在消息区右侧显示细竖导航轨——每条用户消息一根指示线,悬停展开面板预览消息、随滚动高亮当前位置、点击平滑跳转到对应消息(自动加载更早历史)。浅色/深色模式都正常显示,且始终贴在消息区右侧:即使安装了右侧边栏(如 dsh-better-sidebar)并展开,时间线也会自动避让、不会与侧边栏重叠。会话中用户消息少于 2 条时自动隐藏。
- GitBar(默认关闭,可在设置中开启):当会话的工作目录是一个 git 仓库时,在输入框工具行内显示两颗与输入框原生控件(权限 / 模型选择)同款样式的紧凑胶囊——不再占用输入框上方单独一行,输入区因此更矮:
- 分支胶囊:位于权限(访问模式)控件之后;显示当前分支名(有未提交改动时在标题提示)。点击向上弹出分支面板——本地 / 远程分支列表(点击即
git switch),底部可新建分支(git switch -c并自动切换)。 - 差异胶囊:位于模型选择之前;显示
+N −M · K 个文件。点击从右侧滑出差异面板:文件列表 + 逐文件 diff(默认只显示有差异的 hunk,右上可切“完整文件”视图)。面板支持拖动拉伸宽度,展开时自动把对话区往左挤(不影响右侧时间线);面板内三段(文件列表 / diff 内容 / 提交区)之间的分隔线可上下拖动调整高度(双击复位;提交说明框随提交区高度拉伸,可写多行,Shift+Enter 换行)。提交区保留在差异面板底部(提交 / 提交并推送,说明留空自动生成)——原来的独立 commit 胶囊已移除。 - 挤压自适应:输入框工具行变窄时(例如差异面板拉宽把对话列挤小),胶囊像原生控件一样自动降级——先隐藏“· K 个文件”元信息,行再窄时收敛为纯图标,分支名与差异文字绝不会和权限、模型选择重叠。
- 非 git 仓库或无会话 cwd 时胶囊自动隐藏;所有操作走服务端
execFile('git', …)(无 shell、带超时)。
- 分支胶囊:位于权限(访问模式)控件之后;显示当前分支名(有未提交改动时在标题提示)。点击向上弹出分支面板——本地 / 远程分支列表(点击即
- 归档管理(可开关,默认关闭):设置面板中的「归档」页面,列出所有已归档会话(标题 / 所在工作区 / 相对时间),支持恢复与彻底删除:
- 恢复:把会话移出归档——日志与工作区槽位原样保留,会话回到侧边栏列表。
- 删除:彻底删除该会话——服务端将其 JSONL 日志从磁盘移除、从工作区记账与归档集合中清除、并清理投影缓存,会话永久消失(不可恢复)。只有正在运行(有任务在跑)的会话会被拒绝;已打开但空闲的会话也会从内存中移除,删除后实时从列表消失。
- 顶部另有全部恢复 / 全部删除批量操作(删除类操作需二次确认)。列表随
host/archived-sessions-changed事件与客户端会话列表刷新实时更新,无需刷新页面。
- MCP 管理(可开关,默认关闭):设置面板中的「MCP 管理」页面,展示 profile 里配置的所有 MCP 服务器(
@deepseek-ai/dsh-mcp-client实例)及其状态(运行中 / 错误 / 加载中 / 未运行 / 已停用)、命令、环境变量、已注册工具,并支持完整管理:- 添加 / 编辑:编辑器支持表单(实例 ID / 名称 / 类型 stdio 或 HTTP / 超时时间 ms / 命令 / 参数 / 环境变量 / URL / 请求头)或直接粘贴 YAML 两种方式,保存前会做格式校验(名称与 ID 字符集、超时正整数、URL 协议、命令非空、未知 YAML 字段等)。
- 启用 / 停用 / 删除 / 重启:改动直接写入 profile 的
cordis.patch.yml(保持注释与结构),DSH 内置补丁监视器热重载加载器——被改动的那个服务器实时启动/停止/重启,不影响其它服务器;重启单独运行时生效、不改配置。环境变量值仅在本机浏览器可见,用于编辑。 - 新增后请确认服务器能成功连接(状态为「运行中」并注册了工具);启动失败的实例会显示「错误」并可重启重试。
/init斜杠命令(可开关,默认关闭):在输入框键入/init(斜杠菜单中可见「分析当前项目并生成 AGENTS.md」),回车或点击后弹出语言选择——中文提示词 / 英文提示词,选中即向当前会话提交一段完整的 AGENTS.md 引导提示词:代理会自行探索项目(README、清单文件、构建脚本、关键目录),然后在仓库根目录生成或改进一份面向未来 AI 编码代理的AGENTS.md(项目简介、常用命令、代码风格约定、目录导览、注意事项;已存在时原地改进不
…

