liangmianya/dsh-synapse
liangmianya/dsh-synapseDeepSeek Harness 的可视化非线性对话工作区:把会话、追问与分支变成可浏览、可拖拽的对话地图。
会话收藏夹:把任意会话收藏进浏览器收藏夹式的管理面板——左侧会话行一键收藏/星标,主面板支持文件夹分门别类、备注、自定义显示名、一键继续会话、Fork 新会话、会话基本统计,外加一张清晰展示会话派生关系的 fork 关系图。
会话收藏夹插件:把任意会话收藏进一个浏览器收藏夹式的管理面板——文件夹分门别类、备注、自定义显示名、继续会话、Fork 新会话、基本统计,外加一张清晰展示会话之间 fork 派生关系的关系图。
| 列表视图(备注 + 统计 + 操作) | fork 关系图 | 会话行收藏入口 |
|---|---|---|
⋯ 菜单新增「收藏到收藏夹 / 从收藏夹移除」,行尾悬停出现 ☆ 星标按钮一键切换;收藏状态实时同步到收藏夹面板(乐观更新 + 失败回滚 + toast 提示,绝不假成功)uiWorkspace.openSession,与侧栏点击行为一致)sessions.fork API,子会话带自增标题)sessionStats 投影,不激活会话--dsw-* 设计 token,设置页切换 浅色/深色/跟随系统 即时跟随dsh plugin --profile web add @weibaohui/dsh-favorites -w
装完重启 dsh web 即生效。
⋯ 菜单点「收藏到收藏夹」npm run build:client),改动 client/*.js 后必须重跑sidebar.workspaces.session.menu.item(order 500)、sidebar.workspaces.session.row.action(order 250)、sidebar.panellist + main keyed slot(order -95)sessions.list 运行时行的 lineage 字段叫 parentId(类型声明 SessionSummary.parentSessionId 只对应冷摘要面),且 fork 出的子行要等一次 sessions.refresh() 才带上它——图布局两种字段名都认,面板 fork 成功后会主动刷新一次宿主列表storageDomain(域 dsh_favorites,表 folders + entries,每表带 valueSchema,坏记录 backup-and-skip),插件卸载不清数据,重装即回/dsh-favorites/api/*)每条路由先过 connection.requestRejection 信任栅栏(Host/Origin + 浏览器认证),存储写入全部 await(表 put 返回 Promise,200 即已落盘)window.__dshFavorites(services() / sessionsSnap() / graph()),与生态其他插件的 window.__dshXxx 惯例一致npm test(42 项:schema/归一化/路由旅程/栅栏拒绝/关系图布局/boot 冒烟);npm run verify:storage 用宿主真实存储包做「写入 → 关闭 → 重启 → 逐字读回」旅程(缺包自动跳过)本插件与 DeepSeek Harness(@deepseek-ai/dsh)的版本对应关系:
| 插件版本 | 适配 dsh 版本 | 备注 |
|---|---|---|
| 0.1.0 | 0.2.0-rc.2 | 当前版本,已在 @deepseek-ai/dsh@0.2.0-rc.2 下真机安装验证运行 |
发版约定:每次发布新版本时,请在上表追加一行,记录该插件版本实际验证所用的
@deepseek-ai/dsh版本。package.json的engines.dsh声明最低支持版本;本表记录实际验证版本,二者配合使用。
MIT