deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:baisama-cloud/dsh-session-mover
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
在 DeepSeek Harness(DSH)Web GUI 中直接把会话拖到其他工作区的插件。
按住侧边栏(会话列表)里的任意会话行,拖到另一个工作区的标题行上松手,会话即移动到该工作区——同标题、同完整历史,原会话自动归档隐藏。
与 DSH 插件包相同的分发方式(参考 dsh-omni-bridge):
# 克隆到本地后,用 dsh 的 bundle patch 机制挂载
npm pack # 生成 dsh-session-mover-0.1.0.tgz
或在 DSH 配置的插件列表中加入该包,cordis.patch.yml 已声明:
- insert:
- id: dsh-session-mover
name: 'dsh-session-mover'
lib/client.js 是已打包的浏览器 bundle(window.__ModuleLoader__.load 形态,与 dsh-omni-bridge 相同);宿主 lib/index.js 在 webServer 上注册 POST /session-mover/move-session 路由供客户端调用。若作为动态插件运行,宿主同样提供 harness.handle('move-session') 配对(两种方式都已内置,逻辑共用)。
会话所属工作区由会话的
cwd(工作目录)决定。受平台约束(会话日志默认 zstd 压缩、会话头不可变、存储层无迁移 API),无法保留原会话 ID 原地搬家,因此采用「目标工作区克隆 + 原会话归档」语义。
dataTransfer(setData("text/plain", id)),但官方只允许同工作区内重排;document 层监听 drop,用语义属性(role="treeitem" + aria-expanded,而非样式类)定位光标下的工作区标题行,按其在树中的顺序映射到对应工作区;move-session:sessionQuery.readSession 读取源会话完整日志;sessions.create 在目标工作区创建携带完整历史的新会话(保持创建时间与 agent 预设,cwd = 目标工作区路径);sessions.flush 持久化;workspace.attachSession 归属到目标工作区;workspaceRegistry.archiveSession 归档源会话。workspaceRegistry 查询);CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。