lhenlihai-hub/dsh-deepseek-chat ↗★ 0
dsh-deepseek-chat
Ask DeepSeek — a floating chat window for DeepSeek Harness (dsh) Web UI. Draggable, resizable 4:3 dialog, select-to-quote from the main conversation, DeepSeek V4 Flash / Pro, powered by the API key you already configured in dsh.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:lhenlihai-hub/dsh-deepseek-chat说明文档
阅读完整 README ↗dsh-deepseek-chat
English | 中文
DeepSeek Harness(dsh)Web UI 插件:在对话页右侧新增一个**「问 DeepSeek」**入口,点开即是一个独立的简洁聊天面板,直接用你在 dsh 里配置好的 DeepSeek API 与 DeepSeek-V4-Flash / Pro 对话——与主 Agent 会话互不影响。
功能
- 💬 右侧入口 + 悬浮弹窗:屏幕右缘常驻「问 DeepSeek」竖排按钮,点击弹出 4:3 悬浮窗;标题栏可拖拽移动,右下角可自由缩放
- 🆕 全新独立对话:弹窗内的会话与 dsh 的 Agent 会话完全隔离,一键「新对话」清空重来
- 🖍️ 划词引用提问:在主会话中选中任意文字,右上角浮出「引用并问 DeepSeek」,一键带着引用开问
- ⚡ Flash / Pro 模型切换:窗口头部下拉即切,默认模型记住你的选择(localStorage)
- 🔑 复用 dsh 的 API 配置:宿主半侧通过
ctx.llm走 dsh 已注册的deepseek-official路由——API Key、baseURL、settings 覆盖全部生效,插件本身不接触、不存储任何密钥 - 🌊 流式输出:SSE 逐字输出,支持思考过程(reasoning)展示、随时停止
- ⚙️ 设置弹窗:默认模型选择、GitHub 意见反馈入口、一键卸载插件(两步确认)
- 🌗 跟随主题:自动适配 dsh Web UI 的明暗主题(
body[data-ds-dark-theme])
安装
# 从 npm 安装(发布后)
dsh plugin --profile web add dsh-deepseek-chat
# 本地开发:从源码目录安装
git clone https://github.com/lhenlihai-hub/dsh-deepseek-chat.git
cd dsh-deepseek-chat
npm install
npm run build
dsh plugin --profile web add link:$(pwd)
装完重启 dsh web,打开任意会话,屏幕右缘即可看到「问 DeepSeek」入口。
前置条件:已在 dsh 设置 → 模型 中配置 DeepSeek API Key(插件复用该配置,不另行索要密钥)。
卸载
- 面板内:设置(⚙)→ 卸载插件 → 确认;
- 或终端执行:
dsh plugin --profile web remove dsh-deepseek-chat
重启 dsh web 后生效。
开发
npm install
npm run build # 产出 lib/index.js(宿主半侧)+ lib/client.js(浏览器半侧)
npm run watch # 监听构建
npm run typecheck # 类型检查
注意:pnpm/npm 的
file:/link:安装是复制而非链接,改动源码后需重新remove+add(或重启 dsh)才会生效。
结构
src/
├── index.ts # 宿主半侧:/deepseek-chat/* 路由(chat SSE / models / uninstall)
└── client/
├── index.ts # 浏览器半侧入口:挂载 React 根
├── app.tsx # UI:入口按钮、聊天面板、设置弹窗
└── styles.ts # 内联 CSS(亮/暗双主题)
cordis.patch.yml # bundle patch(安装时自动挂进 web profile)