# dsh-ui-web

> 把 DeepSeek 聊天的 Web 界面换成一台交易终端，顶栏跑行情快签、滚动跑马灯滚动 A 股港股美股加密外汇报价，底栏实时显示盘中和长桥指数。

## Metadata

- Author: [@CAPTAIN1275](https://github.com/CAPTAIN1275)
- Repo: <https://github.com/CAPTAIN1275/dsh-ui-web.git>
- GitHub: [CAPTAIN1275/dsh-ui-web](https://github.com/CAPTAIN1275/dsh-ui-web)
- Stars: 34
- Language: TypeScript
- License: [Apache-2.0](https://spdx.org/licenses/Apache-2.0.html)
- Topics: `dsh-plugin`, `dsh-plugin-market`, `dsh-plugins`
- Forks: 2
- Open Issues: 0
- Last push: 2026-08-16T18:08:27.000Z
- Added: 2026-08-20T00:00:00.000Z

## Install

```bash
dsh plugin --profile web add github:CAPTAIN1275/dsh-ui-web/packages/skins/trading
```

## Wiki

## 一句话定位
这是一个面向 dsh Web 端的「炒股皮肤」，把 DeepSeek 聊天的界面变成一台行情交易终端。它通过客户端插件机制热插拔，只改浏览器外观与本地数据请求，不影响对话与模型调用。

## 核心能力
- 渲染带 K 线品牌标的固定顶栏，并嵌入三条实时报价快签
- 滚动跑马灯持续展示 A 股港股美股指数加密外汇报价，红涨绿跌配色
- 底栏实时显示 A 股港股美股的盘中 / 午休 / 盘前 / 休市状态
- 状态栏渲染港美股指数格（装长桥插件时显示券商快照，否则显示公共行情）
- 工作区计数格读取当前打开的工作区数量；右侧连接状态指示
- 注入 K 线 favicon、固定文档标题为「交易终端 · DeepSeek 在线」
- 三级数据源自动降级：fun-ticker 自选列表 → 长桥行情快照 → 独立公共行情（腾讯 / 币安 / Frankfurter）
- 所有行情请求失败时安全降级为「--」，终端 chrome 不受网络影响

## 技术实现
- **语言**: TypeScript
- **关键依赖**: `@deepseek-ai/dsh-client-connection`、`@deepseek-ai/cordis`、`tsdown`
- **架构模式**: 客户端皮肤插件——`apply()` 仅修改浏览器 DOM 与注入 favicon/title，定时器统一在 cordis effect 清理器中撤销；所有写入都遵循「皮肤只移除自己写过的东西」的撤回纪律
- **入口文件**: `src/index.ts`（宿主页空壳）+ `src/client/index.ts`（浏览器主逻辑）

## 适用场景
喜欢盯盘同时也想用 dsh 写代码的人。装上后聊 DeepSeek 时能顺带扫一眼 A 股港股美股的滚动行情，以及 A 股港股美股当前处于盘中还是休市状态，无需再开额外软件；如果已经在用 dsh-fun-ticker 或 dsh-longbridge，跑马灯会自动跟随你的自选列表和券商真实指数。

## 前置依赖与兼容性
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| DSH 客户端 | 未声明 | 仅声明 `@deepseek-ai/dsh-client-connection` 作为客户端注入，未固定版本 |
| Node.js | 未声明 | package.json 未声明 engines 字段 |
| 平台 | 跨平台 | 纯前端皮肤，不绑定操作系统 |
| 原生模块 | 无 | 不依赖 node-gyp / 原生绑定 |

## 安装方式
```bash
dsh plugin --profile web add github:CAPTAIN1275/dsh-ui-web/packages/skins/trading
```

## 配置项
本插件无需额外配置。皮肤没有可配置的设置项，所有行为由内置默认值与已安装的兄弟插件（dsh-fun-ticker / dsh-longbridge，可选）自动决定。

## 常见问题
**Q: 这个插件是做什么的？**

A: 把 dsh 的 Web 聊天界面换成交互终端外观——增加 K 线品牌顶栏、滚动行情跑马灯、盘中和长桥指数状态栏，以及固定的「交易终端」页面标题与 K 线 favicon，写代码时像盯盘一样。

**Q: 需要额外安装行情插件吗？**

A: 不需要。皮肤内置独立公共行情源（腾讯 qt.gtimg.cn A/港/美股、币安 24h 行情、Frankfurter ECB 汇率），断网时所有报价格降级为「--」，终端 chrome 不会崩溃。装 dsh-fun-ticker 后跑马灯会跟你的自选列表走，装 dsh-longbridge 后港美股指数格读取券商快照。

**Q: 安装后怎么启用？**

A: 皮肤是按需启用，同一时刻只应激活一个皮肤。用 dsh-skin use trading（仓库内 scripts/dsh-skin 辅助脚本）切换，移除该行与对应包即可回到默认外观。

**Q: 是否影响模型请求？**

A: 不影响。皮肤只改浏览器 DOM、读取行情源，不发任何 cordis 事件、不组装不发送 provider 请求，对 KV 缓存也无任何影响。

**Q: 主题切换会变成其他皮肤吗？**

A: 不会。皮肤的调色板在亮/暗主题下都保持交易终端配色（亮色为白天交易观，暗色为 TradingView 风格石墨色），切换 Appearance 主题只是在两套交易终端配色之间切换。

**Q: A 股节假日会显示开市吗？**

A: 会的。盘中和状态栏只按工作日和时段建模，交易所节假日仍按开市显示——这是皮肤声明的已知限制，作为状态装饰可接受。

**Q: 美股报价反映的是哪个时段？**

A: 跑马灯美股来自腾讯源，反映纽交所/纳指的常规时段口径；加密与外汇全天候，只要网络可达就显示实时值。

**Q: 卸载会留痕迹吗？**

A: 不会。皮肤在 effect 清理器里删除 body 属性、移除三条栏与 favicon，并把页面标题还原为原标题（除非会话标题已经覆盖）。

## 上手难度
入门 — 单一命令安装、一个脚本启用，皮肤本身没有需要学习的配置项，普通人装上即用。

## 已知问题与限制
- 加载页保持原样：外壳的启动页在插件 bundle 加载前渲染，皮肤从定型后的 UI 开始生效，启动瞬间仍是默认外观
- 主题切换在皮肤内部：皮肤在亮/暗两种状态下都钉住自己的调色板，切换 Appearance 主题只在两套交易终端配色之间切换，不会切回默认外观
- 市场时段按工作日和小时建模，交易所节假日仍显示为开市，作为状态装饰可接受
- 美股报价经腾讯源为纽交所/纳指常规时段口径，盘前盘后不会反映在跑马灯上；加密与外汇 7×24 小时，只要网络可达就显示实时值
- 两个皮肤同时激活会同时注入窗口 chrome，需自行确保只启用一个皮肤行

---

This document is auto-generated by [deepseek-plugin.org](https://deepseek-plugin.org). HTML page: [dsh-ui-web](https://deepseek-plugin.org/plugins/CAPTAIN1275/dsh-ui-web/packages/skins/trading)
Wiki generated by AI (model: `MiniMax-M3`)
