Srien11 / dsh-sidecar

목록에 있음

DeepSeek Harness 持久化侧边追问插件:不离开主对话即可分支追问、自动保存并随时恢复。

main기타 소스 보기

설치

npx -y @deepseek-ai/dsh plugin --profile web add github:Srien11/dsh-sidecar

이 설치 명령은 GitHub 저장소 주소에서 생성된 확인되지 않은 시작점입니다.

README

유지 관리자가 작성한 문서 스냅샷입니다.

GitHub에서 보기 ↗
커밋 79ae6dc동기화 2026. 8. 18.

dsh-sidecar

在不离开 DeepSeek Harness 主对话的情况下,从某条已完成回答打开一个可持续追问、自动保存、随时恢复的侧边对话。

当前状态:0.1.0-beta.0,面向 @deepseek-ai/dsh@0.1.0-rc.6。核心运行路径曾通过真实安装与浏览器冒烟;本轮增量使用仓库现有依赖完成 81 项测试、类型检查、构建和 bundle 契约验证,未重新安装完整 Harness。Harness 仍处于预览期,后续 RC 可能带来破坏性变化。

已实现

  • 在已完成的 Assistant 回答旁显示“追问”按钮和已有分支数量。
  • 可先精确选中当前回答中的一段文字,再点击“追问”;引用会预填到输入框,child 仍继承该回答结束前的完整上下文。
  • 打开侧栏时不创建 Session;首次发送时才从回答结束边界 fork,并立即从普通对话列表隐藏,不切换当前主会话。
  • 同一回答支持多个持久分支,可选择已有分支或显式新建分支。
  • 可重命名当前分支;归档前需要二次确认,归档后自动切换到剩余分支。
  • 在右侧抽屉显示 child 新增历史,继承内容不会重复显示。
  • 直接向 child 发送追问、查看流式回答、工具摘要和回合错误。
  • child 等待审批、回答或计划确认时给出提示,可显式打开原生子会话处理。
  • 关闭按钮或 Escape 只收起抽屉,不删除 child;再次点击可恢复原问答。
  • 打开时聚焦侧栏输入框,关闭后把焦点还给原“追问”按钮。
  • 跟随 Harness 的中文/英文语言设置和明暗主题 token。
  • 通过官方 storageDomain 持久保存最小 childId -> anchor 记录;普通 Harness fork 不会被误认成 sidecar。
  • 系统隐藏的 sidecar 仍参与按钮计数和恢复;用户主动归档后才退出索引。
  • 插件卸载时清理 slot、轮询和样式节点。

安装

当前 Beta 尚未发布到 npm。源码安装需要 Node.js ^22.19.0 || >=24.0.0、pnpm 11.7.0 和 DeepSeek Harness 0.1.0-rc.6

git clone https://github.com/Srien11/dsh-sidecar.git
cd dsh-sidecar
pnpm install
pnpm build
dsh plugin --profile web add link:D:\absolute\path\to\dsh-sidecar

安装后重启 Web profile。npm 发布后,安装命令将简化为:

dsh plugin --profile web add dsh-sidecar

使用

  1. 打开包含已完成 AI 回答的会话。
  2. 如需针对具体片段,可先选中当前回答中的文字;不选则针对整条回答追问。
  3. 点击回答尾部的“追问”,选中片段会作为引用预填到侧栏输入框。
  4. 补充问题后按 Enter 发送,按 Shift+Enter 换行。主会话保持选中且不会被追加消息。
  5. 可在侧栏顶部选择、新建、重命名或归档分支。
  6. 点击关闭按钮或按 Escape 收起,之后从同一回答再次打开。

隔离边界

本插件保证的是对话记录隔离:追问和回答只进入隐藏的 child Session,不出现在普通对话列表,也不会自动写回、截断、重命名或归档 parent Session。

工具副作用不隔离。child 与 parent 仍可能使用相同工作区、文件系统和外部服务;如果 child 获准调用写入型工具,这些效果对主工作区同样可见。请使用 Harness 权限模式控制工具访问。

实现方式

插件只使用 Harness 0.1.0-rc.6 的公开接口:

  • sessions.fork 创建持久 child;
  • sessions.history 投影 child 历史;
  • SessionFace.promptcancelrename 驱动 child;
  • workspaces.archiveSession 将 child 从普通会话分组中隐藏;
  • storageDomain 和插件 RPC 通道持久化、读取分支锚点;
  • conversation.chat.assistant-actions 注入回答操作;
  • shell.overlay 承载抽屉。

当前 Client Runtime 一次只能 stage 一个原生 Session surface,因此抽屉使用轻量历史投影,不挂载第二个原生 Conversation surface,也不切换 sessions.current

开发验证

pnpm typecheck
pnpm test
pnpm build
pnpm check:bundle
pnpm pack --dry-run

当前 81 项测试覆盖锚点存储/RPC、sidecar 身份与归档边界、fork 原子性、精确选区、多分支管理、焦点、双语词典、主题契约和 child transcript 投影。

上述命令只复用现有 node_modules。完整 Harness 安装与浏览器冒烟属于发布前的独立验收,不作为日常本地回归步骤。

文档

许可证

MIT

프로젝트 파일 및 신호

표시된 항목은 디렉터리 스냅샷에서 감지된 공개 저장소 신호입니다.

테스트감지됨
보안 정책감지됨
기여 가이드감지됨
문서감지됨

저장소 정보

언어
TypeScript
라이선스
MIT
마지막 업데이트
2026. 8. 18. AM 3:18

신중하게 설치하기

소스 코드, 권한, 수명 주기 스크립트, 의존성 및 네트워크 접근을 검토하고 신뢰하지 않는 플러그인은 격리 환경에서 테스트하세요.