@dorokuma/herdsman 0.11.6 → 0.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -13
- package/dist/src/agent-history/pi-reader.d.ts.map +1 -1
- package/dist/src/agent-history/pi-reader.js +10 -2
- package/dist/src/agent-history/pi-reader.js.map +1 -1
- package/dist/src/agent-history/readers.js +6 -1
- package/dist/src/agent-history/readers.js.map +1 -1
- package/dist/src/agent-history/text.d.ts.map +1 -1
- package/dist/src/agent-history/text.js +3 -0
- package/dist/src/agent-history/text.js.map +1 -1
- package/dist/src/cli/herdsman.d.ts +14 -1
- package/dist/src/cli/herdsman.d.ts.map +1 -1
- package/dist/src/cli/herdsman.js +49 -65
- package/dist/src/cli/herdsman.js.map +1 -1
- package/dist/src/config/schema.d.ts +4 -0
- package/dist/src/config/schema.d.ts.map +1 -1
- package/dist/src/config/schema.js +5 -0
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/daemon/agent-event-reconciler.d.ts.map +1 -1
- package/dist/src/daemon/agent-event-reconciler.js +53 -2
- package/dist/src/daemon/agent-event-reconciler.js.map +1 -1
- package/dist/src/daemon/herdr-session-watch-manager.d.ts +13 -1
- package/dist/src/daemon/herdr-session-watch-manager.d.ts.map +1 -1
- package/dist/src/daemon/herdr-session-watch-manager.js +52 -15
- package/dist/src/daemon/herdr-session-watch-manager.js.map +1 -1
- package/dist/src/daemon/observability-server.d.ts.map +1 -1
- package/dist/src/daemon/observability-server.js +17 -1
- package/dist/src/daemon/observability-server.js.map +1 -1
- package/dist/src/daemon/process-manager.d.ts +50 -49
- package/dist/src/daemon/process-manager.d.ts.map +1 -1
- package/dist/src/daemon/process-manager.js +246 -204
- package/dist/src/daemon/process-manager.js.map +1 -1
- package/dist/src/daemon/service-supervision.d.ts +68 -0
- package/dist/src/daemon/service-supervision.d.ts.map +1 -0
- package/dist/src/daemon/service-supervision.js +127 -0
- package/dist/src/daemon/service-supervision.js.map +1 -0
- package/dist/src/daemon/service.d.ts +35 -0
- package/dist/src/daemon/service.d.ts.map +1 -1
- package/dist/src/daemon/service.js +185 -27
- package/dist/src/daemon/service.js.map +1 -1
- package/dist/src/db/agent-events.d.ts +31 -0
- package/dist/src/db/agent-events.d.ts.map +1 -1
- package/dist/src/db/agent-events.js +207 -55
- package/dist/src/db/agent-events.js.map +1 -1
- package/dist/src/db/agents.js +1 -1
- package/dist/src/db/agents.js.map +1 -1
- package/dist/src/db/status-event-plans.d.ts +36 -4
- package/dist/src/db/status-event-plans.d.ts.map +1 -1
- package/dist/src/db/status-event-plans.js +96 -11
- package/dist/src/db/status-event-plans.js.map +1 -1
- package/dist/src/herdr/session-list.d.ts +11 -0
- package/dist/src/herdr/session-list.d.ts.map +1 -1
- package/dist/src/herdr/session-list.js +13 -0
- package/dist/src/herdr/session-list.js.map +1 -1
- package/dist/src/herdr/socket-client.d.ts +8 -0
- package/dist/src/herdr/socket-client.d.ts.map +1 -1
- package/dist/src/herdr/socket-client.js +43 -0
- package/dist/src/herdr/socket-client.js.map +1 -1
- package/dist/src/observability/agent-index-service.d.ts +16 -0
- package/dist/src/observability/agent-index-service.d.ts.map +1 -1
- package/dist/src/observability/agent-index-service.js +837 -114
- package/dist/src/observability/agent-index-service.js.map +1 -1
- package/dist/src/observability/agent-orchestrator-service.d.ts.map +1 -1
- package/dist/src/observability/agent-orchestrator-service.js +5 -1
- package/dist/src/observability/agent-orchestrator-service.js.map +1 -1
- package/dist/src/observability/contracts.d.ts +6 -1
- package/dist/src/observability/contracts.d.ts.map +1 -1
- package/dist/src/observability/contracts.js +8 -0
- package/dist/src/observability/contracts.js.map +1 -1
- package/dist/src/observability/schemas.d.ts +1 -0
- package/dist/src/observability/schemas.d.ts.map +1 -1
- package/dist/src/observability/schemas.js +1 -0
- package/dist/src/observability/schemas.js.map +1 -1
- package/dist/src/observability/turn-completion.d.ts +3 -0
- package/dist/src/observability/turn-completion.d.ts.map +1 -1
- package/dist/src/observability/turn-completion.js +12 -2
- package/dist/src/observability/turn-completion.js.map +1 -1
- package/drizzle/0010_legacy_degraded_cleanup.sql +1 -0
- package/drizzle/meta/0010_snapshot.json +975 -0
- package/drizzle/meta/_journal.json +7 -0
- package/package.json +3 -6
- package/README.ja.md +0 -145
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dorokuma/herdsman",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Agent history daemon and runtime bridges for Herdr-managed coding agents.
|
|
3
|
+
"version": "0.13.2",
|
|
4
|
+
"description": "Agent history daemon and runtime bridges for Herdr-managed coding agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist",
|
|
@@ -75,8 +75,5 @@
|
|
|
75
75
|
"lint-staged": {
|
|
76
76
|
"*.{js,jsx,ts,tsx,json,jsonc}": "biome check --write --no-errors-on-unmatched"
|
|
77
77
|
},
|
|
78
|
-
"author": "dorokuma"
|
|
79
|
-
"contributors": [
|
|
80
|
-
"Ryo Nakae (https://github.com/ryonakae)"
|
|
81
|
-
]
|
|
78
|
+
"author": "dorokuma"
|
|
82
79
|
}
|
package/README.ja.md
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-

|
|
2
|
-
|
|
3
|
-
# Herdsman
|
|
4
|
-
|
|
5
|
-
<!-- README-I18N:START -->
|
|
6
|
-
[English](./README.md) | **日本語**
|
|
7
|
-
<!-- README-I18N:END -->
|
|
8
|
-
|
|
9
|
-
Herdsman は、Herdr で動く coding agent の状態を記録する daemon ベースの観測ツールです。CLI から構造化された履歴を取得でき、Pi では owner だけに cached context と通知を送り、必要なときに自動で wake します。
|
|
10
|
-
|
|
11
|
-
Herdr の `herdr agent read` は terminal stream や scrollback を読みます。Herdsman は agent の session data から作業状況、message の抜粋、compact tool result、未読の outcome を取得します。Herdsman は agent を操作しません。agent の start、prompt、wait、pane 操作、terminal control には公式 Herdr CLI または skill を使います。
|
|
12
|
-
|
|
13
|
-
現在は Claude Code、Codex、Gemini CLI、OpenCode、Pi、Grok、Antigravity CLI のセッション履歴の取得に対応しています。
|
|
14
|
-
|
|
15
|
-
## 要件
|
|
16
|
-
|
|
17
|
-
- Node.js >= 24.18.0
|
|
18
|
-
- Herdr >= 0.7.0
|
|
19
|
-
- `herdsman-pi` を使う場合は Pi >= 0.80.6
|
|
20
|
-
|
|
21
|
-
## インストール
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
npm install --global @dorokuma/herdsman
|
|
25
|
-
herdsman help
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
### ソースからインストールする
|
|
29
|
-
|
|
30
|
-
ソースからbuildする場合はpnpm >= 11.9.0も必要です。
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
git clone https://github.com/dorokuma/herdsman.git
|
|
34
|
-
cd herdsman
|
|
35
|
-
pnpm install
|
|
36
|
-
pnpm build
|
|
37
|
-
npm install --global . --ignore-scripts
|
|
38
|
-
herdsman help
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## daemon を起動する
|
|
42
|
-
|
|
43
|
-
Herdsman のagent commandとPi notificationはdaemonを必要とします。daemon は `herdr session list --json` に出る実行中の Herdr session を監視し、60 秒ごとに再スキャンします。停止した Herdr session は index しません。runtime file は標準で `~/.herdsman` に置きます。別の directory を使う場合は `HERDSMAN_HOME` を設定します。
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
herdsman daemon start
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## 主なコマンド
|
|
50
|
-
|
|
51
|
-
- `herdsman agent list`: 選択した workspace の最新キャッシュから status と最後の user / assistant message の抜粋を返します。鮮度が必要なときは各行の `updatedAt` を確認します。
|
|
52
|
-
- `herdsman agent get <target>`: 明示的に詳細を取得し、1 agent の metadata、compact history、最新の compact tool result を返します。
|
|
53
|
-
- `herdsman agent read <target> --limit N`: 明示的に履歴を読み、直近 N 件の user / assistant / compact `tool_result` message を返します。
|
|
54
|
-
|
|
55
|
-
各 agent record は、`reviewer` のような Herdr の live `name` と、`codex` のような runtime `agent` kind を別々に保持します。通常の list 出力では `name` と `agent` を別の column に表示し、JSON でも両方を返します。Herdr workspace 内では、Herdsman が current workspace を自動で選びます。
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
herdsman agent list --json
|
|
59
|
-
herdsman agent get reviewer --json
|
|
60
|
-
herdsman agent read reviewer --limit 20 --json
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Herdr の外から読む場合は scope を指定します。
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
herdsman agent list --all --json
|
|
67
|
-
herdsman agent list --workspace wB --json
|
|
68
|
-
herdsman agent get reviewer --workspace wB --json
|
|
69
|
-
herdsman agent read wB:p2 --workspace wB --limit 20 --json
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
`<target>` は、選択した scope 内で pane id、terminal id、Herdsman agent id の完全一致を最初に探します。次に `reviewer` のような Herdr live name を探し、live name が一致しない場合だけ `codex` のような一意の agent kind を使います。複数の running Herdr session で target が曖昧になる場合は `--session <name>` を付けます。
|
|
73
|
-
|
|
74
|
-
## Agent Skill
|
|
75
|
-
|
|
76
|
-
Agent Skill を追加する前に、Herdsman CLI をインストールして daemon を起動します。次のコマンドで、対応する coding agent に Herdsman の手順を追加します。
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
npx skills add dorokuma/herdsman --skill herdsman -g
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
Herdsman skill は agent の status、compact history、直近の tool result を構造化データとして読み取ります。agent の確認だけなら、Herdsman skill を単独で使えます。
|
|
83
|
-
|
|
84
|
-
workspace、tab、pane、terminal input/output、wait も agent から操作する場合は、公式 Herdr skill を追加します。
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
npx skills add ogulcancelik/herdr --skill herdr -g
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## Pi extension
|
|
91
|
-
|
|
92
|
-
Piからextensionをインストールします。
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
pi install npm:@dorokuma/herdsman-pi
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
extensionにはPi 0.80.6以降が必要です。PiがHerdr内で動くとHerdsman daemonに接続します。接続中のPiはoffの状態でも正確なPi session pathをpresence identityとして登録します。extensionはturnごとのtool resultやmessageのtelemetryは送信しませんが、自身の最終assistant messageがsession fileに書き込まれた後にturn完了シグナルをdaemonへ送るため、completed/blocked outcomeには空でない最終応答が含まれます。
|
|
99
|
-
|
|
100
|
-
Piで`/herdsman on`を入力すると、そのterminalが現在のHerdr sessionとworkspaceにおける唯一のHerdsman ownerになります。cached current-workspace agent context、pending件数、agent update、自動wakeを受け取るのはownerだけです。contextからowner自身のPi terminalを除き、ほかのPi terminalを含めます。通常のpromptではdaemon RPCや履歴読み込みを待たず、local cacheのsnapshotを挿入します。起動直後、reconnect直後、scope移動直後はsnapshotが届くまでcontextが一時的にない場合があります。
|
|
101
|
-
|
|
102
|
-
agentが完了またはblockedになると、visibleなHerdsman turnを1回開始します。通常のuser runが実行中なら、Herdsmanはsettleを待ちます。themed cardは最大3件を表示し、Piのexpand keyで全outcomeと長さを制限した最終responseを確認できます。nameがあるagentは`reviewer · Codex`、ないagentは`Codex`と表示します。agentの出力は信頼できない参考情報として扱い、Piは既存のuser requestに必要な作業だけを続けます。
|
|
103
|
-
|
|
104
|
-
現在のPiの状態は`/herdsman`または`/herdsman status`で確認し、`/herdsman off`でそのPiのowner動作を解除します。offにしても別のownerへは影響しません。offまたはnon-ownerのPiは後でclaimできるよう接続を保ちますが、hidden agent context、pending件数、update、wakeは受け取りません。onのPiだけがfooterに`◆ Herdsman`を表示し、未処理のoutcomeがある間は`· N agent updates`が付きます。updateを含むturnが最終assistant responseを生成してsettleし、元のeventをacknowledgeすると件数が消えます。直前までonだったPiが接続を失うと、復旧中は`◇ Herdsman · reconnecting`を表示します。ownerがいない間はoutcomeを配信せず、その間に発生したoutcomeは後からclaimしてもreplayしません。reload、reconnect、別Piによる直接のowner交代では、未acknowledgedのoutcomeを保持します。ownershipはPi sessionの切り替えやpaneの移動後も同じHerdr terminalに追従し、そのterminalがgrace periodを超えて切断された場合は解除されます。
|
|
105
|
-
|
|
106
|
-
## Herdr plugin
|
|
107
|
-
|
|
108
|
-
任意のpluginはGitHub Releaseのtagからインストールします。
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
herdr plugin install dorokuma/herdsman/packages/herdsman-herdr-plugin --ref v0.11.6 --yes
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
インストール済みの Herdsman CLI と同じバージョンの release tag を指定してください。
|
|
115
|
-
|
|
116
|
-
plugin は Herdsman daemon に接続し、current Herdr workspace の compact agent row を Herdr UI に表示します。row には live name と runtime kind の column、cached history の抜粋が含まれます。Herdrはrepository subdirectoryからpluginをインストールします。npmには公開せず、CLIとPi extensionだけを使う場合は不要です。
|
|
117
|
-
|
|
118
|
-
## パッケージ
|
|
119
|
-
|
|
120
|
-
| Path | 配布方法 | Purpose |
|
|
121
|
-
| --- | --- | --- |
|
|
122
|
-
| repository root | npm: `@dorokuma/herdsman` | Herdsman CLIとdaemon。 |
|
|
123
|
-
| `packages/herdsman-pi` | npm: `@dorokuma/herdsman-pi` | agent historyとagent updateのPi extension。 |
|
|
124
|
-
| `packages/herdsman-herdr-plugin` | GitHub Releaseのsubdirectory | 任意のHerdr UI integration。npm packageではありません。 |
|
|
125
|
-
|
|
126
|
-
## 開発
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
pnpm install
|
|
130
|
-
pnpm check
|
|
131
|
-
pnpm build
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
package検証、npm公開、GitHub Releaseの手順は[Releasing Herdsman](./docs/releasing.md)に記載しています。
|
|
135
|
-
|
|
136
|
-
DB schema を変えたら次も実行します。
|
|
137
|
-
|
|
138
|
-
```bash
|
|
139
|
-
pnpm db:generate
|
|
140
|
-
pnpm db:check
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
## ライセンス
|
|
144
|
-
|
|
145
|
-
[MIT](./LICENSE)
|