MiloMMIN/dsh-agent-board

跨 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.

catalog 简介 / catalog descriptioncatalog description:跨 Agent 工作台:dsh persistent plugin that watches Claude Code / Codex / Kimi Code / Pi / Hermes and continues their work with one click

项目介绍Project Overview

dsh-agent-board 是 DSH web 配置的持久化插件,以只读方式扫描 Claude Code、Codex、Kimi Code、Pi、Hermes 的本地会话,在侧栏面板和 /agent-view 页面展示各 Agent 当前任务、目录与状态。点击会话可在对应工作区新建 dsh 会话,并注入含来源、任务摘要、状态和时间的交接简报,适合跨 Agent 接续工作。注意它仅读取会话数据,不修改原 Agent 文件,目录无法解析时回退到默认工作区。

dsh-agent-board is a persistent plugin for the DSH web profile that read-only scans local sessions from Claude Code, Codex, Kimi Code, Pi, and Hermes. Its sidebar panel and /agent-view page show each agent’s current task, directory, age, and status. Clicking a session creates or reuses the matching workspace, opens a fresh dsh session, and sends a structured handoff brief. Use it to continue another agent’s work. It never modifies source session files; unresolved directories fall back to the configured default workspace.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

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

MiloMMIN/dsh-agent-board 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-agent-board

跨 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 toolagent_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

上一个 Prev dsh-cluster 下一个 Next dsh-terminal