dsh-agent-board

by milommin

2 工作流与自动化github收录于 08-23

跨 Agent 工作台:dsh persistent plugin that watches Claude Code / Codex / Kimi Code / Pi / Hermes and continues the

安装

dsh plugin --profile web add github:milommin/dsh-agent-board

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

跨 Agent 工作台 —— a persistent plugin for DeepSeek Harness (dsh) that watches every local coding agent (Claude Code, Codex, Kimi Code, Pi, Hermes) and lets you continue their work with one click.

It reads the session stores of the other agents read-only, shows what they are doing right now, and hands the work over to a fresh dsh session in the correct workspace — with a structured handoff brief (source agent, task summary, work status, created/last-modified time).

Community topic: github.com/topics/dsh-plugin

Features

  • Live cross-agent board — sidebar panel (⟠) + standalone page at /agent-view, auto-refreshing every N seconds
    • Claude Code, Codex, Kimi Code, Pi, Hermes sessions in one list
    • "正在继续" (active within the threshold) badge, age, title, working directory, created/last-modified time, per-agent totals
  • Continue with one click — click any session row:
    1. resolves/creates the workspace for that session's root directory (existing workspaces are merged, never duplicated)
    2. opens a new session in that workspace and navigates to it
    3. renames the session to short-task-description--agent (e.g. 知识库整理--kimi)
    4. sends a handoff brief into the conversation: source agent, session id, working directory, task summary, work status (已完成 / 未确认 / 正在继续), created & last-modified time
    5. dsh acknowledges and waits for your command — every later instruction carries that context
  • Theme-aware — follows the shell's light/dark tokens, click-outside / Esc closes the panel
  • Settings page — every behavior is configurable under Settings → Agent 工作台
  • Model tool — agent_board tool lets the agent itself report "what are the other agents doing right now"

Installation

This is a profile-level persistent plugin for the web profile (it is not a dynamic plugin).

# 1. place the package anywhere, e.g.
mkdir -p ~/.dsh/profiles/web/plugins
# copy this repository there (or use link:)

# 2. add the dependency to the profile (replace the path with yours)
cd ~/.dsh/profiles/web
pnpm add dsh-agent-board@link:D:/path/to/dsh-agent-board
# or manually add "dsh-agent-board": "link:<abs path>" to package.json dependencies

# 3. insert the plugin row into the profile patch layer
#    ~/.dsh/profiles/web/cordis.patch.yml
- insert:
    - id: agent-board
      name: dsh-agent-board

# 4. restart `dsh web`

The scanner also talks to Hermes through its CLI (hermes sessions list / hermes project show); sessions without a resolvable directory fall back to the configurable default workspace (defaults to the user's home).

Usage

  • Sidebar bottom → ⟠ Agent 工作台 → panel lists recent sessions of all five agents
  • Click a row (or its 继续工作 button) to hand the work over
  • Full-screen board: http://127.0.0.1:<port>/agent-view
  • In chat, ask: "现在其他 agent 在干什么" (the agent_board tool)

Settings (Settings → Agent 工作台)

Setting Default Meaning
refreshSeconds 20 panel/board refresh interval
activeMinutes 15 sessions untouched for this long stop counting as "进行中"
perAgentLimit 6 sessions shown per agent
titleDescChars 24 max chars of the task description in 描述--agent session titles
fallbackCwd user home workspace used for sessions without a directory (e.g. Hermes gateway sessions)
autoConfirm true send the handoff brief as a real message and let dsh confirm; when off, the brief is injected as hidden context
autoClosePanel true close the panel after handing over
briefExtra "" extra standing instruction appended to every handoff brief

Safety

  • Read-only by design: the scanner never modifies the other agents' session files. It only reads JSONL/SQLite/CLI output.
  • Session transcripts are treated as data, not instructions.
  • The handoff flow uses the official agent inbox (followup / inject) and the workspace registry — same channels as a normal user message.

Development

  • scan-worker.cjs — standalone scanner; run node scan-worker.cjs [perAgentLimit] [activeMinutes]
  • index.js — host half: routes /agent-view, /agent-view/api/status|settings|prepare|inject, agent_board tool
  • client.js — browser half: sidebar panel, settings page (standard window.__ModuleLoader__.load bundle)
  • Settings persist to settings.json next to the package (git-ignored)

License

MIT

原始 README: https://github.com/MiloMMIN/dsh-agent-board/blob/master/README.md ↗