dsh-genoffice-captain:GenOffice 任务列表与工作流编排入口

前言

在 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 中展示

行为要点:

  1. 打开 No Orchestration 并确认后,GenOffice 在无 Captain 的情况下启动;该选择会记在当前会话,此后同会话再次触发会直接启动 GenOffice。
  2. 点击 Designate 后,被选会话重命名为 ⭐ <title>(无标题则为 ⭐ Captain),并取消此前 Captain 的星标;向该会话排队一条以 /genoffice-xlsx-tasklist-orchestration 开头的消息(以便 DSH 加载编排技能),然后启动 GenOffice。
  3. 已有 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 许可证。

典型用法

  1. 安装并重启 DSH(Desktop 需完成 dsh.profile.bundles 配置)。
  2. 在会话中触发任务列表技能(例如发送 /genoffice-xlsx-tasklist,或由智能体加载 GenOffice_XLSX_Tasklist)。
  3. 仅一个活跃会话:GenOffice 应被拉起或带到前台。
  4. 多个活跃会话:在 DESIGNATE THE CAPTAIN 面板中:
    - 若本次不需要编排,打开 No Orchestration 后启动 GenOffice;
    - 若需要编排,在下拉框选中目标会话并 Designate,侧栏中该会话会显示 ⭐ 前缀,并收到编排技能相关消息。
  5. 面板会展示插件检测到的 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 里手工协调编排会话的步骤。

羽毛球分组比赛记分
小程序二维码

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

小夜