@hueyexe/opencode-ensemble 0.9.1 → 0.11.0
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 +33 -5
- package/dist/index.js +715 -3
- package/package.json +1 -1
- package/src/config.ts +12 -0
- package/src/dashboard-html.ts +91 -0
- package/src/dashboard-js-part1.ts +97 -0
- package/src/dashboard-js-part2.ts +233 -0
- package/src/dashboard-js-part3.ts +50 -0
- package/src/dashboard.ts +166 -0
- package/src/index.ts +35 -0
- package/src/progress.ts +38 -0
- package/src/system-prompt.ts +28 -2
- package/src/tools/team-message.ts +16 -0
- package/src/tools/team-spawn.ts +13 -0
- package/src/watchdog.ts +44 -0
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@hueyexe/opencode-ensemble)
|
|
4
4
|
[](https://www.npmjs.com/package/@hueyexe/opencode-ensemble)
|
|
5
|
-
[]()
|
|
6
6
|
[]()
|
|
7
7
|
[]()
|
|
8
8
|
[](./LICENSE)
|
|
@@ -89,6 +89,31 @@ Lead: "All validation and tests are complete. 5 endpoints validated,
|
|
|
89
89
|
|
|
90
90
|
All teammate changes are now in your working directory, unstaged, ready for you to review file-by-file with `git diff`.
|
|
91
91
|
|
|
92
|
+
## Dashboard
|
|
93
|
+
|
|
94
|
+
A real-time mission control dashboard runs at `http://localhost:4747` while OpenCode is active.
|
|
95
|
+
|
|
96
|
+

|
|
97
|
+
|
|
98
|
+
- **Health ring** — at-a-glance team health indicator in the header
|
|
99
|
+
- **Agent cards** — status, current task, activity sparklines, timing. Click to open detail drawer
|
|
100
|
+
- **Agent drawer** — full prompt, model, execution status, chat-style message history with markdown rendering
|
|
101
|
+
- **Task board** — progress bar, collapsible status groups, dependency arrows
|
|
102
|
+
- **Activity feed** — chat-style message bubbles with avatars, expandable with full markdown
|
|
103
|
+
- **Timeline** — horizontal event strip showing spawns, messages, completions, shutdowns
|
|
104
|
+
- **Keyboard shortcuts** — `j/k` navigate agents, `Enter` opens drawer, `Esc` closes, `?` shows help
|
|
105
|
+
- **Live clock** — current time + team session duration
|
|
106
|
+
|
|
107
|
+
Configure the port in `.opencode/ensemble.json`:
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"dashboardPort": 4747
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Set to `0` to disable. The dashboard starts automatically when OpenCode loads the plugin.
|
|
116
|
+
|
|
92
117
|
## Install
|
|
93
118
|
|
|
94
119
|
Two steps: add the plugin, then allowlist worktree paths.
|
|
@@ -101,7 +126,7 @@ Add to your OpenCode config with a pinned version. Project-level or global.
|
|
|
101
126
|
|
|
102
127
|
```json
|
|
103
128
|
{
|
|
104
|
-
"plugin": ["@hueyexe/opencode-ensemble@0.
|
|
129
|
+
"plugin": ["@hueyexe/opencode-ensemble@0.11.0"]
|
|
105
130
|
}
|
|
106
131
|
```
|
|
107
132
|
|
|
@@ -109,7 +134,7 @@ Add to your OpenCode config with a pinned version. Project-level or global.
|
|
|
109
134
|
|
|
110
135
|
```json
|
|
111
136
|
{
|
|
112
|
-
"plugin": ["@hueyexe/opencode-ensemble@0.
|
|
137
|
+
"plugin": ["@hueyexe/opencode-ensemble@0.11.0"]
|
|
113
138
|
}
|
|
114
139
|
```
|
|
115
140
|
|
|
@@ -217,6 +242,7 @@ Teammate messages arrive in the lead's session as `[Team message from alice]: ..
|
|
|
217
242
|
- **Spawn rollback**: if the initial prompt fails, the member, session, and worktree are all cleaned up
|
|
218
243
|
- **Timeout watchdog**: teammates stuck busy beyond the TTL are automatically timed out and aborted
|
|
219
244
|
- **Stall detection**: detects teammates making no progress (low output tokens or no communication) and escalates to the lead
|
|
245
|
+
- **Peer-to-peer communication**: teammates can message each other directly, with idle-flush delivery and chatty agent detection
|
|
220
246
|
- **Auto-merge on cleanup**: worktree branches are squash-merged into your working directory as unstaged changes for review
|
|
221
247
|
- **Spawn circuit breaker**: stops retrying after 3 consecutive spawn failures
|
|
222
248
|
- **Graceful shutdown**: busy teammates receive a shutdown message and finish their current work. Use `force: true` to abort immediately.
|
|
@@ -237,7 +263,8 @@ Configure via JSON files, environment variables, or both. Project config overrid
|
|
|
237
263
|
"stallMinSteps": 3,
|
|
238
264
|
"stallTokenThreshold": 500,
|
|
239
265
|
"timeoutMs": 1800000,
|
|
240
|
-
"rateLimitCapacity": 10
|
|
266
|
+
"rateLimitCapacity": 10,
|
|
267
|
+
"dashboardPort": 4747
|
|
241
268
|
}
|
|
242
269
|
```
|
|
243
270
|
|
|
@@ -253,6 +280,7 @@ All fields are optional. Missing fields use defaults.
|
|
|
253
280
|
| `stallTokenThreshold` | `500` | Output tokens per step below which the agent is considered stalled |
|
|
254
281
|
| `timeoutMs` | `1800000` (30 min) | Hard timeout for busy teammates. `0` disables. |
|
|
255
282
|
| `rateLimitCapacity` | `10` | Token bucket capacity for team tool calls. `0` disables. |
|
|
283
|
+
| `dashboardPort` | `4747` | Dashboard server port. `0` disables. |
|
|
256
284
|
|
|
257
285
|
### Environment variables
|
|
258
286
|
|
|
@@ -309,7 +337,7 @@ Same coordination model (shared tasks, peer messaging, lead coordination) with s
|
|
|
309
337
|
```bash
|
|
310
338
|
bun install
|
|
311
339
|
bun run typecheck
|
|
312
|
-
bun test #
|
|
340
|
+
bun test # 471 tests
|
|
313
341
|
bun run build
|
|
314
342
|
```
|
|
315
343
|
|