前言¶
在 DeepSeek Harness(DSH)里做智能体或日常开发时,主工作区往往已经打开一条「正式」会话:改代码、跑工具、看日志。若临时想问模型一个小问题,切到新会话或换掉当前标签,容易打断上下文。社区插件 dsh-plugins-quick-chat(维护者 cypher-yht)在 Web 界面右下角提供悬浮入口,点开是独立聊天面板,不切换你正在用的工作会话,并支持多个话题并行。下面介绍它是什么、能做什么,以及如何安装与使用。
这是什么¶
dsh-plugins-quick-chat 是标准 DSH bundle 插件(cordis.patch.yml + client 半区),分类为客户端,面向 DSH Web。npm 包名为 @local/dsh-quick-chat,当前版本 1.0.0,许可证 MIT。
一句话定位:DSH Web 右下角的悬浮「+」按钮,展开独立聊天面板,多话题并行,不打断当前工作会话。
核心功能¶
以下能力均来自项目 README,装完宿主并刷新页面后生效。
悬浮按钮与布局¶
- 按钮贴在大肥鱼表情桌宠左侧、对齐其底部;拖动桌宠时按钮跟随。
- 找不到桌宠时回退到右下角;宠物靠左时面板自动向右展开。
独立面板,不抢焦点¶
点「+」弹出面板,不切换当前工作会话,主视图保持原样。
多话题并行¶
面板左上角「+」可再开话题,上方胶囊切换;每个话题各自收消息,可同时多个会话并行聊。
输入与展示¶
- Enter 发送,Shift+Enter 换行。
- 只渲染模型回复正文(无思考过程 / 工具调用),支持 Markdown(代码块、行内代码、粗体、链接);运行时显示「正在回复…」。
重启后保留对话¶
话题的 sessionId 存在浏览器 localStorage['dsh-quick-chat.threads.v1']。下次打开会通过 retain 拉回会话,并从 DSH 会话日志重放历史;只有手动关闭话题才会从面板移除。
会话归属当前工作区¶
插件读取主视图当前会话的 cwd,用 workspaces.create({ path }) 幂等解析 workspaceId,再 sessions.create({ workspaceId }),新聊天落在当前工作区对应的 DSH 会话里。
安装与启用¶
在 PowerShell 中从 GitHub 安装:
dsh plugin add github:cypher-yht/dsh-plugins-quick-chat
开发时可用本地目录(推荐软链,改源码即生效):
dsh plugin add link:D:\path\to\dsh-plugins-quick-chat
注意:桌面客户端(Electron)使用 desktop profile,不能直接用命令行 --profile desktop 装插件;请在桌面端会话里的 plugin_manager 安装本插件。
装完后重启宿主,浏览器用 Ctrl+F5 硬刷新。
典型用法¶
- 在 DSH Web 中打开你要继续的主工作会话,照常改代码或对话。
- 点击右下角悬浮「+」,在独立面板里输入问题,Enter 发送。
- 需要并行讨论多个问题时,点面板左上「+」新建话题,用顶部胶囊切换;关闭某个话题才会从面板和本地记录中移除。
- 刷新或下次打开同一浏览器时,未手动关闭的话题会尝试保留并回放历史。
发送消息走 session.prompt(..., 'queue');创建会话时使用 sessions.create() 与 sessions.retain(id, { source: 'gateway' }),以拿到 binding.eventSource(消息流)和 binding.session(发送与运行态)。这些是改代码或排查问题时的技术参考,普通使用无需配置。
适用场景与注意¶
适合:在 DSH Web 里长时间占用一条主会话,又需要随时侧问模型、或多线并行短聊的开发者。
注意:
- 插件以当前 DSH 进程权限运行;安装前建议浏览 GitHub 仓库 源码并确认 MIT 许可证。
- 客户端插件环境只暴露
React.createElement / useState / useEffect,没有useRef;若自行改client.js,改完后需 Ctrl+R / F5 刷新页面,模块不会热替换。 - 社区目录 SkillHub 插件页 与 GitHub 为独立信息源,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本插件为社区贡献。
结尾¶
dsh-plugins-quick-chat 把「快速问一句」从主会话里拆出来:悬浮入口、独立面板、多话题与 localStorage 持久化,且新会话仍挂在当前工作区。需要安装命令与细节时,以 README 为准。