deepseek-harness-desktop/packages/skins/ths

156Star5Fork6Issue0Watching

为 DSH Web 界面换上同花顺风格外观:品牌红标题栏、行情状态栏、自选股侧栏与终端设置面板。

机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科

此插件是大仓库 ningbainb/deepseek-harness-desktop 的子包,星数与活跃度统计的是整个仓库。

语言
TypeScript
License
BSD-3-Clause
分支
main
ai-agentai-coding-assistantcodexdeepseekdeepseek-harnessdesktop-appdshdsh-plugin

安装

$ dsh plugin --profile web add github:ningbainb/deepseek-harness-desktop/packages/skins/ths

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 ningbainb/deepseek-harness-desktop/packages/skins/ths:先查看仓库 https://github.com/ningbainb/deepseek-harness-desktop.git 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

同花顺风格皮肤为 DSH Web GUI 换上品牌红标题栏、行情状态栏、自选股风格侧栏和交易终端面板,营造盯盘氛围。它只修改浏览器里的外观元素,不参与模型请求,适合想调整页面观感的普通用户。

核心能力

  • 在页面顶部加入品牌红标题栏,标题为「同花顺 · DeepSeek 在线」,附带白色蜡烛 SVG 图标和 –/□/× 三个桌面控件
  • 在标题栏中嵌入「上证指数」实时行情签(含指数、点位、▲/▼ 涨跌),配色按红涨绿跌
  • 在页面底部加入行情状态栏,依次显示「同花顺、上证指数、深证成指、创业板指、就绪、已连接、在线」七个单元格,红涨绿跌配色
  • 在状态栏末尾追加「代码指数」格,30 秒聚合一次所有 workspace 的当日代码净增减行(红涨绿跌)
  • 通过 CSS Modules 调整浅色与深色主题色板、自选股风格侧栏(红色行情线、行情行)、会话/详情面板和设置面板表面
  • 固定文档标题为「同花顺 · DeepSeek 在线」,并在浏览器标签页注入内嵌「同」字红色 favicon

技术实现

  • 语言: TypeScript + CSS Modules
  • 关键依赖: @deepseek-ai/cordis(ctx.effect 生命周期)、@deepseek-ai/dsh-client-connection(连接句柄上的 workspace.list / codeKline.list RPC)、lightningcss(编译 CSS)、tsdown(生成 bundle)、vitest(验证挂载与清理)
  • 架构模式: 通过 DSH bundle patch(cordis.patch.yml)将 ui-skin-ths 插入 Web 插件清单,host 侧 apply() 为空占位,浏览器侧 apply(ctx) 在 cordis fiber 生命周期内写入 DOM/CSS 并注册 disposer;样式表随 bundle 的 CSS Modules 自动注入,由 loader 随条目移除
  • 入口文件: packages/skins/ths/src/index.ts(host 空入口);packages/skins/ths/src/client/index.ts(浏览器侧核心入口,210 行);packages/skins/ths/src/client/ths.module.css(1417 行主题样式);packages/skins/ths/src/client/code-index.ts(代码指数聚合缓存)

适用场景

喜欢炒股氛围、需要长时间盯代码的普通用户,可以在 DSH Web 界面切到「同花顺」皮肤:标题栏带「上证指数」行情签,状态栏显示三大指数红绿涨跌,侧栏像自选股列表一样展示会话。皮肤对模型请求零侵入,适合只想换外观、不改交互方式的场景。

前置依赖与兼容性

依赖最低版本说明
DSH未声明包内未声明 DSH 版本或 dsh.compatibility;通过 bundle patch 接入客户端机制
Node.js`^22.19.0
平台跨平台package.json 将客户端标记为 platform: "web",未声明 oscpu 限制
原生模块无运行时原生模块依赖;界面变更和行情计算都在浏览器侧完成

安装方式

dsh plugin --profile web add github:ningbainb/deepseek-harness-desktop/packages/skins/ths

配置项

本插件无需额外配置。源码中未发现配置读取逻辑或用户设置项;皮肤启用由皮肤管理流程负责,启用后由客户端生命周期自动管理清理。

常见问题

Q: 这个皮肤影响模型请求或对话吗?

A: 不会。包内明确说明它只改变浏览器 DOM 与 CSS,不组装或发送任何 provider 请求,也不订阅任何模型事件;皮肤对模型调用链零侵入。

Q: 状态栏里的指数数值是实时行情吗?

A: 不是。状态栏里的「上证指数 / 深证成指 / 创业板指」是固定文案(3,342.17 / 10,846.59 / 2,201.33),仅用于视觉演绎;唯一会真实变化的是末尾的「代码指数」格,它每 30 秒聚合一次所有 workspace 的当日代码净增减行,红涨绿跌配色。

Q: 安装后界面没有变化怎么办?

A: 安装皮肤包不等于已经选中该皮肤。需要使用 dsh-skin use ths 切换;同一时刻只启用一个皮肤,切换由 dsh-skin use 脚本管理。

Q: 支持深色模式吗?

A: 支持。CSS 专门为 body[data-dsh-ths][data-ds-dark-theme] 定义了夜间交易色板;不过切换的是这套皮肤内部的浅色/深色两套终端配色,并不是切换回非皮肤外观。

Q: 关闭或切换皮肤后会留下页面痕迹吗?

A: 不会。客户端注册的生命周期清理器会移除 body 属性、标题栏、状态栏和 favicon;如果页面标题仍等于皮肤写入的字符串则恢复原标题,被会话标题覆盖时不会被一并回滚。测试覆盖了挂载、清理与「不清掉会话标题」三类场景。

Q: 侧栏的红色行情线/会话行效果依赖什么?

A: 依赖 ui-layout 模块在 AppFrame 列上挂的 data-pane 属性。没有这些属性时皮肤依然生效(窗口栏和状态栏正常),只是少了每个面板的表面样式。

Q: 加载 DSH 的瞬间为什么还有一段官方外观?

A: 皮肤要等插件 bundle 加载完毕后才能设置 data-dsh-ths 属性并注入 DOM,所以最开始的加载界面保留官方样式;属性一旦设置,启动页也会获得窗口边框,只是内部卡片仍是现代样式。

上手难度

入门 — 安装和启用只需使用皮肤管理命令,无需配置文件或用户参数;激活后由客户端自动管理清理。

已知问题与限制

  • 皮肤在插件 bundle 加载后才生效,最早的加载界面保留官方外观;启动页可获得窗口边框,但内部卡片仍是现代样式。
  • 主题切换只在皮肤内部两套配色间切换(浅色/深色终端色板),并不会切回非皮肤外观。
  • 状态栏里的指数数值是静态文案,不跟踪真实行情;只有「代码指数」格会每 30 秒基于所有 workspace 的当日代码净增减行动态刷新。
  • 同一时刻只启用一个皮肤,切换由 dsh-skin use 脚本管理;面板级 surface 依赖 ui-layout 在 AppFrame 列上挂 data-pane 属性。

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/ningbainb/deepseek-harness-desktop/packages/skins/ths)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录