前言¶
在 DSH 里做 GenOffice 相关的 XLSX 任务列表,常见做法是手动打开 GenOffice,或在多个会话之间自己决定「谁负责编排」。当你同时开着好几个活跃会话时,单纯触发技能并不能自动区分「单人直连」和「先指定编排会话」这两种路径。
下面介绍社区插件 dsh-genoffice-captain(维护者 rajpaulsingh6-stack,作者 Rajpaul Singh)。它在会话调用 GenOffice 任务列表相关技能时,单会话会直接启动 GenOffice;多会话则先弹出 DESIGNATE THE CAPTAIN 面板,让你选择编排会话或选择不做编排。
这是什么¶
dsh-genoffice-captain 是 DeepSeek Harness(DSH)上的工作流类插件(当前 package 版本 0.1.0,MIT 许可证)。定位可以概括为:在触发 GenOffice 任务列表技能时,负责启动 GenOffice,并在多会话场景下提供 Captain(编排会话)指定界面。
插件自带两份技能,首次启动时若 ~/.dsh/skills 下缺少对应文件,会复制为 DSH 合法名称(genoffice-xlsx-tasklist、genoffice-xlsx-tasklist-orchestration),且不会覆盖已有副本。
核心功能¶
触发条件¶
以下任一情况会进入插件逻辑:
- 你发送的消息中点名技能:
GenOffice_XLSX_Tasklist、/GenOfficeXLSXTasklistOrchestration,或 DSH 侧名称/genoffice-xlsx-tasklist、/genoffice-xlsx-tasklist-orchestration - 智能体通过
skill工具加载上述任一技能
单会话:直接启动 GenOffice¶
仅有一个活跃会话时,插件会启动(或前置)GenOffice,不再弹出额外界面。
多会话:DESIGNATE THE CAPTAIN 面板¶
存在多个活跃会话时,窗口右侧约四分之一区域会打开面板(左侧会话侧栏仍可见),标题为 DESIGNATE THE CAPTAIN,包含:
- No Orchestration 开关
- 下拉列表:列出当前打开且活跃的会话(按名称与「年龄」排序;● 表示 running,○ 表示 idle;含最近 6 小时内使用过的会话,子智能体会被排除)
- 尚无标题的会话显示为
Untitled session <id>,工作目录仅在 tooltip 中展示
行为要点:
- 打开 No Orchestration 并确认后,GenOffice 在无 Captain 的情况下启动;该选择会记在当前会话,此后同会话再次触发会直接启动 GenOffice。
- 点击 Designate 后,被选会话重命名为
⭐ <title>(无标题则为⭐ Captain),并取消此前 Captain 的星标;向该会话排队一条以/genoffice-xlsx-tasklist-orchestration开头的消息(以便 DSH 加载编排技能),然后启动 GenOffice。 - 已有 Captain 时,智能体再次加载技能不会重开面板;若由你手动输入技能名触发,面板仍会打开。
本地 API 与安全说明¶
插件提供 /api/genoffice-captain/* 路由,仅响应 loopback 请求;启动 GenOffice 需带自定义头的 POST,避免其他网页随意触发。实现上只启动 GenOffice 应用,不会执行消息中的任意文本。
环境与依赖¶
- DSH:需 DSH Web 或 DSH Desktop。README 记载在 macOS 上测试过 DSH Desktop 2.0.13(dsh 0.1.5-rc.2)与 DSH Web(dsh 0.1.5-rc.3)。
- GenOffice:需本机已安装 GenOffice。
- macOS:
/Applications/GenOffice.app - Windows:
%LOCALAPPDATA%\Programs\GenOffice\GenOffice.exe - Linux:
/opt/GenOffice/genoffice、/usr/bin/genoffice、/usr/local/bin/genoffice,或~/Applications/GenOffice.AppImage - 其他路径可设置环境变量
GENOFFICE_PATH - Node:插件要求 Node >= 20;纯 JavaScript,无依赖、无构建步骤。
安装与启用¶
DSH Web 或任意 CLI profile,使用官方文档中的命令:
dsh plugin --profile web add github:rajpaulsingh6-stack/dsh-genoffice-captain
DSH Desktop 的 profile 由应用管理,需在 profile 目录安装包并在 bundle 列表中登记,然后重启 DSH Desktop:
cd ~/.dsh/profiles/desktop
pnpm add github:rajpaulsingh6-stack/dsh-genoffice-captain
# then add "dsh-genoffice-captain" to dsh.profile.bundles in package.json
GitHub 直装无需 build 权限。插件以当前 dsh 进程权限运行,安装前建议阅读仓库源码与 MIT 许可证。
典型用法¶
- 安装并重启 DSH(Desktop 需完成
dsh.profile.bundles配置)。 - 在会话中触发任务列表技能(例如发送
/genoffice-xlsx-tasklist,或由智能体加载GenOffice_XLSX_Tasklist)。 - 仅一个活跃会话:GenOffice 应被拉起或带到前台。
- 多个活跃会话:在 DESIGNATE THE CAPTAIN 面板中:
- 若本次不需要编排,打开 No Orchestration 后启动 GenOffice;
- 若需要编排,在下拉框选中目标会话并 Designate,侧栏中该会话会显示⭐前缀,并收到编排技能相关消息。 - 面板会展示插件检测到的 bundled skills 信息;技能文件缺失时由插件自动复制到
~/.dsh/skills(不覆盖已有文件)。
维护者在仓库中提供自检命令:
node test.mjs
适用场景与注意¶
适合:已在 DSH 中使用 GenOffice XLSX 任务列表技能,且经常在多会话并行时希望统一「谁编排、谁直连 GenOffice」的开发者。
注意:
- 多会话列表规则(running/idle、6 小时内活跃、排除子智能体)以 README 为准;Captain 命名与消息排队行为由插件实现,编排逻辑依赖 bundled 的
genoffice-xlsx-tasklist-orchestration技能(编排思路部分借鉴社区 sub-agents / Orca 等项目,详见仓库 NOTICE.md)。 - GenOffice 为 Genspark 产品,与本插件、DSH 社区目录无官方从属关系;社区插件目录为独立站点,亦非 DeepSeek / 幻方官方应用商店。
- 星标、版本与兼容信息以 GitHub 与目录页为准;勿在未核对源码的情况下假定额外配置项。
结尾¶
dsh-genoffice-captain 把 GenOffice 任务列表技能的触发与「单会话直连 / 多会话先选 Captain」串成一条工作流,减少在多窗口 DSH 里手工协调编排会话的步骤。