dsh-import-workbuddy:把 WorkBuddy 会话完整迁入 DSH

前言

DeepSeek Harness(DSH)把会话、工具调用和持久化都交给插件扩展。若你之前在 WorkBuddy 里攒了不少对话,换到 DSH 后常见做法是手动复制,或指望通用导入插件——但生态里面向 pi、opencode、codex、claude-code 的导入器(例如 dsh-import-agents 一类)并不识别 WorkBuddy 的数据格式,且往往拿不到工具执行结果,只能在 DSH 里留占位符。

WorkBuddy 的 jsonl 里保存了完整的工具输出。dsh-import-workbuddy 由 musewizard 维护,归类为「记忆」类插件,作用是把 WorkBuddy 会话原样搬进 DSH:导入后既能浏览历史,也能在同一会话上继续聊;工具调用与结果会一并保留,而不是被替换成空壳描述。

这是什么

插件全名 dsh-import-workbuddy,当前 npm 版本为 0.1.0,MIT 许可。官方简介:Import WorkBuddy conversations into DeepSeek Harness (dsh). Tool calls and results come across intact.

它解决的是「WorkBuddy → DSH」的单向迁移与续聊,不替代 WorkBuddy 本身,也不改动源 jsonl。

核心功能

  • 列表与导入:在 DSH Web 输入框通过 slash 命令列出本地 WorkBuddy 会话,并批量或按条件导入。
  • 工具链完整:相对只认其他 IDE/Agent 格式的导入插件,本插件读取 WorkBuddy jsonl 中的完整工具输出并写入 DSH 会话布局。
  • 幂等与固定 ID:重复执行不会重复导入;会话 id 固定为 wb-<原 id>,已导入的会跳过。
  • 工作区挂载:导入后按 WorkBuddy 原始项目目录名挂到同名 DSH 工作区,不存在则新建;源目录已删除的会话留在未分组。
  • 可配置根路径与截断:可通过 profile 指定 WorkBuddy projects 根目录、是否自动挂工作区、工具结果截断长度等。

安装与启用

插件以 DSH 插件形式安装,需 Node.js >= 22.19.0(见 package.json)。安装命令以仓库 README 为准。

从 npm 安装(发布后):

dsh plugin --profile web add dsh-import-workbuddy

从源码目录安装:

cd dsh-import-workbuddy
dsh plugin --profile web add .

从 GitHub 安装:

dsh plugin --profile web add github:musewizard/dsh-import-workbuddy

装完后重启 dsh web,并刷新浏览器页面;README 说明旧页面连接会断开,需重新打开。

卸载:

dsh plugin --profile web remove dsh-import-workbuddy

已导入的会话不会随卸载删除;若要清理,需手动删除 ~/.dsh/sessions 下 id 以 wb- 开头的目录。

典型用法

在 DSH Web 输入框中使用下列命令(README 原文):

/workbuddy-list                  # 看看有哪些会话
/import-workbuddy                # 全导
/import-workbuddy --dry-run      # 只看,不写

常用参数:

  • --limit 5:只导最近 5 个
  • --project dfyqq:按目录名筛选
  • --since 2026-10-20:仅导入该日期之后有改动的会话
  • --tool-truncate 4000:工具结果超过 4000 字才截断
  • --no-tools:不要工具调用,只要对话文本

配置

在 profile 的插件条目上增加 config,例如:

- id: import-workbuddy
  name: dsh-import-workbuddy
  config:
    toolTruncate: 4000
    attachWorkspaces: false
    root: "E:/portable/workbuddy/projects"
  • toolTruncate 默认为 0,表示不截断。
  • root 一般不必填;插件会依次尝试:
$WORKBUDDY_HOME/projects
~/.workbuddy-ai/projects
~/.workbuddy/projects
~/Library/Application Support/WorkBuddy/projects   (macOS)
~/.config/workbuddy/projects                       (Linux)
%APPDATA%/WorkBuddy/projects                       (Windows)

WorkBuddy 程序装在哪块盘不影响,数据通常在用户目录上述路径之一。

会丢什么

导入前应对预期差异有数,README 明确列出:

  • 图片:WorkBuddy 存 blob 引用,DSH content 块无图片类型,只能写成 [图片: 文件名] 并附带原图路径,二进制内容无法迁入。
  • Token 用量:WorkBuddy 未记录,DSH 侧为空。
  • 运行时事件:job / approval / retry / stream 等源文件里没有的事件不会生成;浏览历史不受影响。

适用场景与注意

适合谁:仍在使用或曾使用 WorkBuddy,希望在 DSH 里统一查看历史、并在原对话上下文上继续用 DSH 工具链的用户。

权限与安全:插件随当前 dsh 进程权限读取本机 WorkBuddy projects 目录并写入 ~/.dsh/sessions。安装前建议阅读 GitHub 源码 与 MIT 许可证,确认路径与数据处理方式可接受。

生态说明:DSH 社区插件目录托管于独立站点 SkillHub 插件页,与 DeepSeek / 幻方无官方从属关系;本文安装与用法均以仓库 README 为准。

测试:仓库提供 npm test(22 个用例,使用构造数据,不读取本机会话);tests/validate.mjs 按 DSH 布局约束校验事件序列。

结尾

经过上面的步骤,你可以把 WorkBuddy jsonl 里的对话与工具结果迁到 DSH,并沿用 wb- 前缀的会话 id 继续聊天。若需参数细节或更新,以 README 为准。

  • 目录页:https://www.skillhub.cn/plugins/musewizard/dsh-import-workbuddy
  • GitHub:https://github.com/musewizard/dsh-import-workbuddy
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜