let-them-talk 5.3.0 โ 5.4.1
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/CHANGELOG.md +3 -1
- package/README.md +346 -592
- package/SECURITY.md +3 -3
- package/USAGE.md +151 -0
- package/agent-contracts.js +447 -0
- package/api-agents.js +760 -0
- package/autonomy/decision-v2.js +380 -0
- package/autonomy/watchdog-policy.js +572 -0
- package/cli.js +454 -298
- package/conversation-templates/autonomous-feature.json +83 -22
- package/conversation-templates/code-review.json +69 -21
- package/conversation-templates/debug-squad.json +69 -21
- package/conversation-templates/feature-build.json +69 -21
- package/conversation-templates/research-write.json +69 -21
- package/dashboard.html +3148 -174
- package/dashboard.js +864 -786
- package/data-dir.js +58 -0
- package/docs/architecture/branch-semantics.md +157 -0
- package/docs/architecture/canonical-event-schema.md +88 -0
- package/docs/architecture/markdown-workspace.md +183 -0
- package/docs/architecture/runtime-contract.md +459 -0
- package/docs/architecture/runtime-migration-hardening.md +64 -0
- package/events/hooks.js +154 -0
- package/events/log.js +457 -0
- package/events/replay.js +33 -0
- package/events/schema.js +432 -0
- package/managed-team-integration.js +261 -0
- package/office/agents.js +704 -597
- package/office/animation.js +1 -1
- package/office/assets/arcade-cabinet.js +141 -0
- package/office/assets/archway.js +77 -0
- package/office/assets/bar-counter.js +91 -0
- package/office/assets/bar-stool.js +71 -0
- package/office/assets/beanbag.js +64 -0
- package/office/assets/bench.js +99 -0
- package/office/assets/bollard.js +87 -0
- package/office/assets/cactus.js +100 -0
- package/office/assets/carpet-tile.js +46 -0
- package/office/assets/chair.js +123 -0
- package/office/assets/chandelier.js +107 -0
- package/office/assets/coffee-machine.js +95 -0
- package/office/assets/coffee-table.js +81 -0
- package/office/assets/column.js +95 -0
- package/office/assets/desk-lamp.js +102 -0
- package/office/assets/desk.js +76 -0
- package/office/assets/dining-table.js +105 -0
- package/office/assets/door.js +70 -0
- package/office/assets/dual-monitor.js +72 -0
- package/office/assets/fence.js +76 -0
- package/office/assets/filing-cabinet.js +111 -0
- package/office/assets/floor-lamp.js +69 -0
- package/office/assets/floor-tile.js +54 -0
- package/office/assets/flower-pot.js +76 -0
- package/office/assets/foosball.js +95 -0
- package/office/assets/fridge.js +99 -0
- package/office/assets/gaming-chair.js +154 -0
- package/office/assets/gaming-desk.js +105 -0
- package/office/assets/glass-door.js +72 -0
- package/office/assets/glass-wall.js +64 -0
- package/office/assets/half-wall.js +49 -0
- package/office/assets/hanging-plant.js +112 -0
- package/office/assets/index.js +151 -0
- package/office/assets/indoor-tree.js +90 -0
- package/office/assets/l-sofa.js +153 -0
- package/office/assets/marble-floor.js +64 -0
- package/office/assets/materials.js +40 -0
- package/office/assets/meeting-table.js +88 -0
- package/office/assets/microwave.js +94 -0
- package/office/assets/monitor.js +67 -0
- package/office/assets/neon-strip.js +73 -0
- package/office/assets/painting.js +84 -0
- package/office/assets/palm-tree.js +108 -0
- package/office/assets/pc-tower.js +91 -0
- package/office/assets/pendant-light.js +67 -0
- package/office/assets/ping-pong.js +114 -0
- package/office/assets/plant.js +72 -0
- package/office/assets/planter-box.js +95 -0
- package/office/assets/pool-table.js +94 -0
- package/office/assets/printer.js +113 -0
- package/office/assets/reception-desk.js +133 -0
- package/office/assets/rug.js +78 -0
- package/office/assets/sculpture.js +85 -0
- package/office/assets/server-rack.js +98 -0
- package/office/assets/sink.js +109 -0
- package/office/assets/sofa.js +106 -0
- package/office/assets/speaker.js +83 -0
- package/office/assets/spotlight.js +83 -0
- package/office/assets/street-lamp.js +97 -0
- package/office/assets/trash-can.js +83 -0
- package/office/assets/treadmill.js +126 -0
- package/office/assets/trophy.js +89 -0
- package/office/assets/tv-screen.js +79 -0
- package/office/assets/vase.js +84 -0
- package/office/assets/wall-clock.js +84 -0
- package/office/assets/wall.js +53 -0
- package/office/assets/water-cooler.js +146 -0
- package/office/assets/whiteboard.js +115 -0
- package/office/assets.js +3 -431
- package/office/builder.js +791 -355
- package/office/campus-env.js +1012 -1119
- package/office/environment.js +2 -0
- package/office/gallery.js +997 -0
- package/office/index.js +141 -34
- package/office/navigation.js +173 -152
- package/office/player.js +178 -68
- package/office/robot-character.js +272 -0
- package/office/spectator-camera.js +33 -10
- package/office/state.js +2 -0
- package/office/world-save.js +35 -4
- package/package.json +57 -3
- package/providers/comfyui.js +383 -0
- package/providers/dalle.js +79 -0
- package/providers/gemini.js +181 -0
- package/providers/ollama.js +184 -0
- package/providers/replicate.js +115 -0
- package/providers/zai.js +183 -0
- package/runtime-descriptor.js +270 -0
- package/scripts/check-agent-contract-advisory.js +132 -0
- package/scripts/check-api-agent-parity.js +277 -0
- package/scripts/check-autonomy-v2-decision.js +207 -0
- package/scripts/check-autonomy-v2-execution.js +588 -0
- package/scripts/check-autonomy-v2-watchdog.js +224 -0
- package/scripts/check-branch-fork-snapshot.js +337 -0
- package/scripts/check-branch-isolation.js +787 -0
- package/scripts/check-branch-semantics.js +139 -0
- package/scripts/check-dashboard-control-plane.js +1304 -0
- package/scripts/check-docs-onboarding.js +490 -0
- package/scripts/check-event-schema.js +276 -0
- package/scripts/check-evidence-completion.js +239 -0
- package/scripts/check-invariants.js +992 -0
- package/scripts/check-lifecycle-hooks.js +525 -0
- package/scripts/check-managed-team-integration.js +166 -0
- package/scripts/check-markdown-workspace-export.js +548 -0
- package/scripts/check-markdown-workspace-safety.js +347 -0
- package/scripts/check-markdown-workspace.js +136 -0
- package/scripts/check-message-replay.js +429 -0
- package/scripts/check-migration-hardening.js +300 -0
- package/scripts/check-performance-indexing.js +272 -0
- package/scripts/check-provider-capabilities.js +316 -0
- package/scripts/check-runtime-contract.js +109 -0
- package/scripts/check-session-aware-context.js +172 -0
- package/scripts/check-session-lifecycle.js +210 -0
- package/scripts/export-markdown-workspace.js +84 -0
- package/scripts/fixtures/message-replay/clean.jsonl +2 -0
- package/scripts/fixtures/message-replay/corrupt-correction-payload.jsonl +1 -0
- package/scripts/fixtures/message-replay/corrupt-jsonl.jsonl +1 -0
- package/scripts/fixtures/message-replay/corrupt-payload.jsonl +1 -0
- package/scripts/fixtures/message-replay/out-of-order.jsonl +2 -0
- package/scripts/migrate-legacy-to-canonical.js +201 -0
- package/scripts/run-verification-suite.js +242 -0
- package/scripts/sync-packaged-docs.js +69 -0
- package/server.js +9577 -7216
- package/state/agents.js +161 -0
- package/state/canonical.js +3068 -0
- package/state/dashboard-queries.js +441 -0
- package/state/evidence.js +56 -0
- package/state/io.js +69 -0
- package/state/markdown-workspace.js +951 -0
- package/state/messages.js +669 -0
- package/state/sessions.js +683 -0
- package/state/tasks-workflows.js +92 -0
- package/templates/debate.json +2 -2
- package/templates/managed.json +4 -4
- package/templates/pair.json +2 -2
- package/templates/review.json +2 -2
- package/templates/team.json +3 -3
package/README.md
CHANGED
|
@@ -1,592 +1,346 @@
|
|
|
1
|
-
<p align="center">
|
|
2
|
-
<img src="logo.png" alt="Let Them Talk" width="
|
|
3
|
-
</p>
|
|
4
|
-
|
|
5
|
-
<h1 align="center">Let Them Talk</h1>
|
|
6
|
-
|
|
7
|
-
<p align="center">
|
|
8
|
-
<strong>
|
|
9
|
-
|
|
10
|
-
</p>
|
|
11
|
-
|
|
12
|
-
<p align="center">
|
|
13
|
-
<a href="https://www.npmjs.com/package/let-them-talk"><img src="https://img.shields.io/npm/v/let-them-talk.svg?style=flat&color=58a6ff" alt="npm"></a>
|
|
14
|
-
<a href="https://
|
|
15
|
-
<a href="https://
|
|
16
|
-
<a href="https://
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
<a href="
|
|
22
|
-
<a href="
|
|
23
|
-
<a href="
|
|
24
|
-
<a href="
|
|
25
|
-
<a href="
|
|
26
|
-
<a href="
|
|
27
|
-
<a href="
|
|
28
|
-
</
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
-
|
|
115
|
-
|
|
116
|
-
-
|
|
117
|
-
|
|
118
|
-
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
npx let-them-talk
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
- **
|
|
165
|
-
- **
|
|
166
|
-
- **
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
-
|
|
209
|
-
-
|
|
210
|
-
-
|
|
211
|
-
-
|
|
212
|
-
-
|
|
213
|
-
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
-
|
|
224
|
-
-
|
|
225
|
-
-
|
|
226
|
-
-
|
|
227
|
-
-
|
|
228
|
-
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
-
|
|
237
|
-
-
|
|
238
|
-
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
|
264
|
-
|
|
265
|
-
| `
|
|
266
|
-
| `
|
|
267
|
-
| `
|
|
268
|
-
| `
|
|
269
|
-
| `
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
</
|
|
347
|
-
|
|
348
|
-
<details>
|
|
349
|
-
<summary><strong>Decision Log (2 tools)</strong></summary>
|
|
350
|
-
|
|
351
|
-
| Tool | Description |
|
|
352
|
-
|------|-------------|
|
|
353
|
-
| `log_decision` | Log a team decision with reasoning and topic |
|
|
354
|
-
| `get_decisions` | Get all decisions, optionally filtered by topic |
|
|
355
|
-
|
|
356
|
-
</details>
|
|
357
|
-
|
|
358
|
-
<details>
|
|
359
|
-
<summary><strong>Knowledge Base (3 tools)</strong></summary>
|
|
360
|
-
|
|
361
|
-
| Tool | Description |
|
|
362
|
-
|------|-------------|
|
|
363
|
-
| `kb_write` | Write to shared team knowledge base |
|
|
364
|
-
| `kb_read` | Read KB entries (one or all) |
|
|
365
|
-
| `kb_list` | List all KB keys with metadata |
|
|
366
|
-
|
|
367
|
-
</details>
|
|
368
|
-
|
|
369
|
-
<details>
|
|
370
|
-
<summary><strong>Progress & Compression (3 tools)</strong></summary>
|
|
371
|
-
|
|
372
|
-
| Tool | Description |
|
|
373
|
-
|------|-------------|
|
|
374
|
-
| `update_progress` | Update feature-level completion percentage |
|
|
375
|
-
| `get_progress` | Get all feature progress with overall % |
|
|
376
|
-
| `get_compressed_history` | Compressed old messages + recent verbatim |
|
|
377
|
-
|
|
378
|
-
</details>
|
|
379
|
-
|
|
380
|
-
<details>
|
|
381
|
-
<summary><strong>Voting (3 tools)</strong></summary>
|
|
382
|
-
|
|
383
|
-
| Tool | Description |
|
|
384
|
-
|------|-------------|
|
|
385
|
-
| `call_vote` | Start a team vote with options |
|
|
386
|
-
| `cast_vote` | Cast your vote (auto-resolves when all vote) |
|
|
387
|
-
| `vote_status` | Check vote results |
|
|
388
|
-
|
|
389
|
-
</details>
|
|
390
|
-
|
|
391
|
-
<details>
|
|
392
|
-
<summary><strong>Code Review (2 tools)</strong></summary>
|
|
393
|
-
|
|
394
|
-
| Tool | Description |
|
|
395
|
-
|------|-------------|
|
|
396
|
-
| `request_review` | Request a code review from the team |
|
|
397
|
-
| `submit_review` | Approve or request changes with feedback |
|
|
398
|
-
|
|
399
|
-
</details>
|
|
400
|
-
|
|
401
|
-
<details>
|
|
402
|
-
<summary><strong>Dependencies & Reputation (4 tools)</strong></summary>
|
|
403
|
-
|
|
404
|
-
| Tool | Description |
|
|
405
|
-
|------|-------------|
|
|
406
|
-
| `declare_dependency` | Declare task dependency (auto-notifies on resolve) |
|
|
407
|
-
| `check_dependencies` | Check blocked/resolved dependencies |
|
|
408
|
-
| `get_reputation` | Agent leaderboard with strengths |
|
|
409
|
-
| `suggest_task` | Get next task suggestion based on your skills |
|
|
410
|
-
|
|
411
|
-
</details>
|
|
412
|
-
|
|
413
|
-
<details>
|
|
414
|
-
<summary><strong>Channels (3 tools)</strong></summary>
|
|
415
|
-
|
|
416
|
-
| Tool | Description |
|
|
417
|
-
|------|-------------|
|
|
418
|
-
| `join_channel` | Join or create a channel for sub-team communication |
|
|
419
|
-
| `leave_channel` | Leave a channel (can't leave #general, empty auto-delete) |
|
|
420
|
-
| `list_channels` | List all channels with members and message counts |
|
|
421
|
-
|
|
422
|
-
</details>
|
|
423
|
-
|
|
424
|
-
<details>
|
|
425
|
-
<summary><strong>Autonomy Engine (7 tools)</strong></summary>
|
|
426
|
-
|
|
427
|
-
| Tool | Description |
|
|
428
|
-
|------|-------------|
|
|
429
|
-
| `get_work` | 9-level priority waterfall โ finds the next thing to do |
|
|
430
|
-
| `verify_and_advance` | Confidence-gated auto-advancement of workflow steps |
|
|
431
|
-
| `start_plan` | One-click autonomous plan launch from a prompt |
|
|
432
|
-
| `retry_with_improvement` | 3-attempt retry with KB skill accumulation |
|
|
433
|
-
| `get_guide` | Dynamic collaboration guide based on team size and mode |
|
|
434
|
-
| `distribute_prompt` | Break a prompt into a workflow with auto-assigned steps |
|
|
435
|
-
| `get_work` (monitor) | Returns health check report for monitor agents |
|
|
436
|
-
|
|
437
|
-
</details>
|
|
438
|
-
|
|
439
|
-
<details>
|
|
440
|
-
<summary><strong>Rules & Governance (4 tools)</strong></summary>
|
|
441
|
-
|
|
442
|
-
| Tool | Description |
|
|
443
|
-
|------|-------------|
|
|
444
|
-
| `add_rule` | Add a team rule (enforced in guide) |
|
|
445
|
-
| `remove_rule` | Remove a rule by ID |
|
|
446
|
-
| `list_rules` | List all active rules |
|
|
447
|
-
| `toggle_rule` | Enable or disable a rule |
|
|
448
|
-
|
|
449
|
-
</details>
|
|
450
|
-
|
|
451
|
-
## CLI Reference
|
|
452
|
-
|
|
453
|
-
```bash
|
|
454
|
-
npx let-them-talk init # auto-detect CLI, configure MCP
|
|
455
|
-
npx let-them-talk init --all # configure all CLIs
|
|
456
|
-
npx let-them-talk init --template <name> # use a team template
|
|
457
|
-
npx let-them-talk init --ollama # configure Ollama local AI
|
|
458
|
-
npx let-them-talk run "prompt" --agents 4 # launch autonomous multi-agent task
|
|
459
|
-
npx let-them-talk templates # list available templates
|
|
460
|
-
npx let-them-talk dashboard # launch web dashboard at :3000
|
|
461
|
-
npx let-them-talk dashboard --lan # enable LAN/phone access
|
|
462
|
-
npx let-them-talk status # show active agents and tasks
|
|
463
|
-
npx let-them-talk msg <agent> <text> # send a message from CLI
|
|
464
|
-
npx let-them-talk doctor # diagnostic health check
|
|
465
|
-
npx let-them-talk reset # clear conversation data (archives first)
|
|
466
|
-
npx let-them-talk uninstall # remove config entries from all CLIs
|
|
467
|
-
npx let-them-talk help # show help and version
|
|
468
|
-
```
|
|
469
|
-
|
|
470
|
-
## Updating
|
|
471
|
-
|
|
472
|
-
Your conversation data (`.agent-bridge/` directory) and config files are **always preserved** during updates. The update only replaces the server code.
|
|
473
|
-
|
|
474
|
-
```bash
|
|
475
|
-
# Clear npm cache to get latest version
|
|
476
|
-
npx clear-npx-cache
|
|
477
|
-
|
|
478
|
-
# Re-run init to update config (merges with existing, never overwrites)
|
|
479
|
-
npx let-them-talk init
|
|
480
|
-
|
|
481
|
-
# Verify version
|
|
482
|
-
npx let-them-talk help
|
|
483
|
-
```
|
|
484
|
-
|
|
485
|
-
**What's preserved on update:**
|
|
486
|
-
- All messages and conversation history
|
|
487
|
-
- Agent profiles and workspaces
|
|
488
|
-
- Task and workflow data
|
|
489
|
-
- Your CLI configurations (other MCP servers are untouched)
|
|
490
|
-
|
|
491
|
-
**What's updated:**
|
|
492
|
-
- Server code (server.js, dashboard.js, etc.)
|
|
493
|
-
- New tools and features become available automatically
|
|
494
|
-
|
|
495
|
-
After updating, restart your CLI terminals to pick up the new MCP server.
|
|
496
|
-
|
|
497
|
-
## Uninstalling
|
|
498
|
-
|
|
499
|
-
```bash
|
|
500
|
-
# Remove config entries from all CLIs (preserves conversation data)
|
|
501
|
-
npx let-them-talk uninstall
|
|
502
|
-
|
|
503
|
-
# To also remove conversation data:
|
|
504
|
-
# Windows: rmdir /s /q .agent-bridge
|
|
505
|
-
# macOS/Linux: rm -rf .agent-bridge
|
|
506
|
-
```
|
|
507
|
-
|
|
508
|
-
The uninstall command removes agent-bridge entries from:
|
|
509
|
-
- `.mcp.json` (Claude Code)
|
|
510
|
-
- `~/.gemini/settings.json` (Gemini CLI)
|
|
511
|
-
- `~/.codex/config.toml` (Codex CLI)
|
|
512
|
-
|
|
513
|
-
Your other MCP servers and configurations are never touched.
|
|
514
|
-
|
|
515
|
-
## Security
|
|
516
|
-
|
|
517
|
-
Let Them Talk is a **local message broker**. It passes text messages between CLI terminals via shared files on your machine. It does **not** give agents any capabilities beyond what they already have.
|
|
518
|
-
|
|
519
|
-
**Does not:** access the internet, store API keys, run cloud services, or grant new filesystem access.
|
|
520
|
-
|
|
521
|
-
**Built-in protections:** CSRF custom header, LAN auth tokens, Content Security Policy, CORS restriction, XSS prevention, path traversal protection, symlink validation, origin enforcement, SSE connection limits, input validation, message size limits (1MB), agent permissions.
|
|
522
|
-
|
|
523
|
-
**LAN mode:** Optional phone access exposes the dashboard to your local WiFi only. Requires explicit activation.
|
|
524
|
-
|
|
525
|
-
Full details: [SECURITY.md](SECURITY.md)
|
|
526
|
-
|
|
527
|
-
## Environment Variables
|
|
528
|
-
|
|
529
|
-
| Variable | Default | Description |
|
|
530
|
-
|----------|---------|-------------|
|
|
531
|
-
| `AGENT_BRIDGE_DATA_DIR` | `{cwd}/.agent-bridge/` | Data directory path |
|
|
532
|
-
| `AGENT_BRIDGE_PORT` | `3000` | Dashboard port |
|
|
533
|
-
| `AGENT_BRIDGE_LAN` | `false` | Enable LAN mode |
|
|
534
|
-
| `NODE_ENV` | โ | Set to `development` for hot-reload |
|
|
535
|
-
|
|
536
|
-
## Troubleshooting
|
|
537
|
-
|
|
538
|
-
### "Agent not found" or agents can't see each other
|
|
539
|
-
- All agents must run from the **same project directory** (same `.agent-bridge/` folder)
|
|
540
|
-
- Restart your CLI terminals after running `init`
|
|
541
|
-
|
|
542
|
-
### Dashboard won't start / port in use
|
|
543
|
-
```bash
|
|
544
|
-
# Check what's using port 3000
|
|
545
|
-
# Windows: netstat -ano | findstr :3000
|
|
546
|
-
# macOS/Linux: lsof -i :3000
|
|
547
|
-
|
|
548
|
-
# Use a different port
|
|
549
|
-
AGENT_BRIDGE_PORT=4000 npx let-them-talk dashboard
|
|
550
|
-
```
|
|
551
|
-
|
|
552
|
-
### "Module not found" errors
|
|
553
|
-
```bash
|
|
554
|
-
# Clear npm cache and reinstall
|
|
555
|
-
npx clear-npx-cache
|
|
556
|
-
npm cache clean --force
|
|
557
|
-
npx let-them-talk init
|
|
558
|
-
```
|
|
559
|
-
|
|
560
|
-
### Config file conflicts
|
|
561
|
-
Each `init` run **merges** with existing configs โ it never overwrites other MCP servers. If you have a corrupted config, a `.backup` file is created automatically.
|
|
562
|
-
|
|
563
|
-
### Windows: "EPERM" or permission errors
|
|
564
|
-
Run your terminal as Administrator, or ensure the project directory is not read-only.
|
|
565
|
-
|
|
566
|
-
### macOS/Linux: "EACCES" permission errors
|
|
567
|
-
```bash
|
|
568
|
-
# Fix npm permissions
|
|
569
|
-
sudo chown -R $(whoami) ~/.npm
|
|
570
|
-
```
|
|
571
|
-
|
|
572
|
-
## Contributing
|
|
573
|
-
|
|
574
|
-
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
575
|
-
|
|
576
|
-
## Contact
|
|
577
|
-
|
|
578
|
-
For business inquiries, licensing, and partnerships: **contact@talk.unrealai.studio**
|
|
579
|
-
|
|
580
|
-
## License
|
|
581
|
-
|
|
582
|
-
[Business Source License 1.1](LICENSE) โ Free to use, self-host, and modify. Cannot be offered as a competing commercial hosted service. Converts to Apache 2.0 on March 14, 2028.
|
|
583
|
-
|
|
584
|
-
---
|
|
585
|
-
|
|
586
|
-
<p align="center">
|
|
587
|
-
Built by <a href="https://github.com/Dekelelz">Dekelelz</a> ยท
|
|
588
|
-
<a href="https://talk.unrealai.studio">Website</a> ยท
|
|
589
|
-
<a href="https://discord.gg/6Y9YgkFNJP">Discord</a> ยท
|
|
590
|
-
<a href="https://www.npmjs.com/package/let-them-talk">npm</a> ยท
|
|
591
|
-
<a href="mailto:contact@talk.unrealai.studio">Contact</a>
|
|
592
|
-
</p>
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="logo.png" alt="Let Them Talk" width="140">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">Let Them Talk</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<strong>Let your AI agents actually work as a team.</strong><br>
|
|
9
|
+
Multi-agent collaboration for Claude Code, Gemini CLI, Codex CLI, Ollama, and API-backed agents โ with a live operator dashboard and a 3D virtual office to watch it all happen.
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="https://www.npmjs.com/package/let-them-talk"><img src="https://img.shields.io/npm/v/let-them-talk.svg?style=flat&color=58a6ff" alt="npm version"></a>
|
|
14
|
+
<a href="https://www.npmjs.com/package/let-them-talk"><img src="https://img.shields.io/npm/dm/let-them-talk.svg?style=flat&color=3fb950" alt="npm downloads"></a>
|
|
15
|
+
<a href="https://github.com/Dekelelz/let-them-talk/blob/master/LICENSE"><img src="https://img.shields.io/badge/License-BSL%201.1-f59e0b.svg?style=flat" alt="BSL 1.1"></a>
|
|
16
|
+
<a href="https://discord.gg/6Y9YgkFNJP"><img src="https://img.shields.io/discord/1482478651000885359?color=5865F2&label=Discord&logo=discord&logoColor=white&style=flat" alt="Discord"></a>
|
|
17
|
+
<a href="https://nodejs.org/"><img src="https://img.shields.io/node/v/let-them-talk.svg?color=3fb950&style=flat" alt="Node.js"></a>
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
<p align="center">
|
|
21
|
+
<a href="https://talk.unrealai.studio">Website</a> ยท
|
|
22
|
+
<a href="#-quick-start">Quick Start</a> ยท
|
|
23
|
+
<a href="#-features">Features</a> ยท
|
|
24
|
+
<a href="#-installation">Install</a> ยท
|
|
25
|
+
<a href="#-dashboard-tour">Dashboard</a> ยท
|
|
26
|
+
<a href="#-core-concepts">Concepts</a> ยท
|
|
27
|
+
<a href="#-architecture">Architecture</a> ยท
|
|
28
|
+
<a href="https://discord.gg/6Y9YgkFNJP">Discord</a>
|
|
29
|
+
</p>
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## What it is
|
|
34
|
+
|
|
35
|
+
Let Them Talk is a **local MCP broker and operator dashboard** that lets multiple AI CLI agents share one project runtime. Open Claude Code, Gemini CLI, or Codex CLI in separate terminals โ they discover each other, exchange messages, assign tasks, review each other's work, coordinate through workflows, and coordinate branches, sessions, and evidence through a shared `.agent-bridge/` directory. A browser dashboard gives you real-time visibility with 12 tabs โ including a 3D virtual office where chibi agent characters walk between desks, wave during broadcasts, and sleep when idle.
|
|
36
|
+
|
|
37
|
+
If you want your agents to stop working in isolation and start collaborating like a real team, this is it.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## ๐ Quick Start
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# 1. Configure the MCP broker for every installed CLI (Claude / Gemini / Codex)
|
|
45
|
+
npx let-them-talk init
|
|
46
|
+
|
|
47
|
+
# 2. Launch the web dashboard (localhost:3000)
|
|
48
|
+
node .agent-bridge/launch.js
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Now open your CLI in a second terminal and tell it to join:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
You are "Alice". Call register("Alice","Claude"), then get_briefing(),
|
|
55
|
+
then listen_group() and stay in the loop.
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Open a third terminal, tell that agent to register as `Bob`, and the two will start talking. Everything is visible in the dashboard Messages tab, and you can reply directly from there.
|
|
59
|
+
|
|
60
|
+
> **Skip the manual prompts** with `npx let-them-talk init --template team` โ gives you Coordinator + Researcher + Coder prompts ready to paste.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## โก Why Let Them Talk
|
|
65
|
+
|
|
66
|
+
| Without Let Them Talk | With Let Them Talk |
|
|
67
|
+
|---|---|
|
|
68
|
+
| One agent works, you copy-paste context to the next | Agents share one runtime and see each other's work automatically |
|
|
69
|
+
| "Done" is just a message that says "done" | Completion requires structured evidence (summary, verification, files_changed, confidence) |
|
|
70
|
+
| You babysit the loop all day | `get_work` / `verify_and_advance` + autonomy-v2 run the loop for you |
|
|
71
|
+
| No visibility into what agents are doing | Dashboard with Messages, Tasks, Workflows, Graph, Plan, 3D Hub |
|
|
72
|
+
| Provider lock-in | Claude Code, Gemini CLI, Codex CLI, Ollama, and custom API agents all first-class |
|
|
73
|
+
| Coordination is "chat" | Branches are full execution contexts. Sessions are branch-scoped. Governance is event-backed. |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## โจ Features
|
|
78
|
+
|
|
79
|
+
- **66 MCP tools** for the full coordination surface โ `register`, `send_message`, `broadcast`, `listen_group`, `get_work`, `verify_and_advance`, `create_task`, `start_plan`, `advance_workflow`, `lock_file`, `log_decision`, `kb_write`, `call_vote`, `submit_review`, `handoff`, and 50+ more.
|
|
80
|
+
- **Canonical runtime** โ event-backed state under `.agent-bridge/runtime/` with replay, projections, and branch-local isolation.
|
|
81
|
+
- **Branches as full execution contexts** โ messages, tasks, workflows, sessions, evidence, governance (decisions, KB, reviews, votes, rules, progress) all switch together on a branch change.
|
|
82
|
+
- **Sessions + evidence-backed completion** โ first-class session records; "done" is authoritative only when structured evidence is recorded (`summary`, `verification`, `files_changed`, `confidence`, `recorded_at`, `recorded_by_session`).
|
|
83
|
+
- **Explicit runtime descriptors** โ `runtime_type`, `provider_id`, `model_id`, `capabilities` (chat, vision, image_generation, video_generation, texture_generation). Mixed-provider teams coordinate by capability, not guesswork.
|
|
84
|
+
- **Autonomy-v2** โ `get_work` picks the next item using canonical state + sessions + evidence + capabilities + contracts. Watchdog with idle detection, retry policy, circuit breakers, and bounded escalation.
|
|
85
|
+
- **3D virtual office** โ real-time chibi-style visualization of your team. Agents walk between desks, react to broadcasts, celebrate tasks, sleep when idle.
|
|
86
|
+
- **Web dashboard** โ 12 tabs: 3D Hub, Messages, Tasks, Workspaces, Workflows, Graph, Plan, Launch, Rules, Stats, Services, Docs.
|
|
87
|
+
- **Managed mode** โ structured turn-taking with a Manager agent (`claim_manager`, `yield_floor`, `set_phase`) โ prevents 3+ agent chaos.
|
|
88
|
+
- **Channels** โ sub-team communication without flooding `#general`.
|
|
89
|
+
- **Markdown workspace export** โ Obsidian-friendly one-way export (`.agent-bridge-markdown/`), explicitly non-authoritative.
|
|
90
|
+
- **Grouped verification** โ `verify:contracts`, `verify:replay`, `verify:invariants`, `verify:smoke` โ script-driven, deterministic, dozens of invariants covered.
|
|
91
|
+
- **0-vulnerability dependencies** โ only 2 direct deps (`@modelcontextprotocol/sdk`, `three`), every transitive pinned to a known-safe version.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## ๐ฆ Installation
|
|
96
|
+
|
|
97
|
+
### Prerequisites
|
|
98
|
+
- [Node.js 18 or higher](https://nodejs.org/) โ `node --version` to check
|
|
99
|
+
- One or more AI CLIs:
|
|
100
|
+
- [Claude Code](https://claude.ai/code)
|
|
101
|
+
- [Gemini CLI](https://github.com/google-gemini/gemini-cli)
|
|
102
|
+
- [Codex CLI](https://github.com/openai/codex)
|
|
103
|
+
|
|
104
|
+
### Init (auto-detect everything installed)
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
cd your-project
|
|
108
|
+
npx let-them-talk init
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Init for a specific CLI
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
npx let-them-talk init --claude # Claude Code only
|
|
115
|
+
npx let-them-talk init --gemini # Gemini CLI only
|
|
116
|
+
npx let-them-talk init --codex # Codex CLI only
|
|
117
|
+
npx let-them-talk init --all # All three
|
|
118
|
+
npx let-them-talk init --ollama # Add a local Ollama bridge
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Init with a ready-made template
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
npx let-them-talk init --template pair # 2-agent chat
|
|
125
|
+
npx let-them-talk init --template team # Coordinator + Researcher + Coder
|
|
126
|
+
npx let-them-talk init --template review # Author + Reviewer code-review pair
|
|
127
|
+
npx let-them-talk init --template debate # Pro + Con structured debate
|
|
128
|
+
npx let-them-talk init --template managed # Manager + Designer + Coder + Tester
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### What init writes (all merge-safe)
|
|
132
|
+
|
|
133
|
+
- `.mcp.json` โ Claude Code MCP config
|
|
134
|
+
- `.gemini/settings.json` โ Gemini CLI MCP config
|
|
135
|
+
- `.codex/config.toml` โ Codex CLI MCP config
|
|
136
|
+
- `AGENTS.md` / `CLAUDE.md` โ background-worker rules block (marker-delimited, never clobbers your content)
|
|
137
|
+
- `.agent-bridge/launch.js` โ local launcher (no re-download needed)
|
|
138
|
+
- `.gitignore` โ adds sensible entries
|
|
139
|
+
|
|
140
|
+
All existing configs are preserved โ agent-bridge is added alongside your other MCP servers, with `.backup` files created before any edit.
|
|
141
|
+
|
|
142
|
+
### Launch the dashboard
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
node .agent-bridge/launch.js # localhost:3000
|
|
146
|
+
node .agent-bridge/launch.js --lan # also listen on LAN (phone/tablet)
|
|
147
|
+
node .agent-bridge/launch.js status # CLI status snapshot
|
|
148
|
+
node .agent-bridge/launch.js msg <agent> # send a message from the terminal
|
|
149
|
+
node .agent-bridge/launch.js migrate # backfill canonical events from legacy projects
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## ๐ฌ The 60-second demo
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
# In project folder
|
|
158
|
+
npx let-them-talk init --template team
|
|
159
|
+
node .agent-bridge/launch.js
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Open three terminals. The `templates` output prints the exact prompt to paste into each:
|
|
163
|
+
|
|
164
|
+
- **Terminal 1 (Coordinator):** receives the user's request, breaks it into tasks, delegates to Researcher and Coder.
|
|
165
|
+
- **Terminal 2 (Researcher):** reads code, searches patterns, reports findings to Coordinator.
|
|
166
|
+
- **Terminal 3 (Coder):** implements, reports summary + verification + files_changed back.
|
|
167
|
+
|
|
168
|
+
From the dashboard Messages tab, send the Coordinator a task. Watch the team execute it across all three terminals, with every message, task transition, workflow step, and evidence record live on screen. The 3D Hub shows chibi versions of your agents walking to their desks and typing when working.
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## ๐๏ธ Dashboard tour
|
|
173
|
+
|
|
174
|
+
| Tab | What it does |
|
|
175
|
+
|---|---|
|
|
176
|
+
| **3D Hub** | Live chibi-style visualization of your team. Per-project worlds, buildings, behaviors. |
|
|
177
|
+
| **Messages** | Full conversation timeline with threading, reactions, pinning, search, and direct reply-to-Dashboard. |
|
|
178
|
+
| **Tasks** | Kanban of all tasks across the branch. Drag to change status. Evidence-backed completion. **Clear All Tasks** button for cleanup. |
|
|
179
|
+
| **Workspaces** | Per-agent scratchpad. Other agents can read, only you can write. 50 keys, 100 KB values. |
|
|
180
|
+
| **Workflows** | Multi-step plans with dependencies, parallel steps, and auto-advance on verify. |
|
|
181
|
+
| **Graph** | Agent/task/dependency network view. |
|
|
182
|
+
| **Plan** | Live autonomous-plan progress with pause/stop/skip/reassign controls. |
|
|
183
|
+
| **Launch** | Start agents directly from the dashboard (Add Project initializes the target folder for you). |
|
|
184
|
+
| **Rules** | Project-wide rules injected into every agent's guide. |
|
|
185
|
+
| **Stats** | Messages, tasks, completion rates, per-agent activity. |
|
|
186
|
+
| **Services** | Status of configured providers and API keys. |
|
|
187
|
+
| **Docs** | Shipped architecture + usage docs, searchable. |
|
|
188
|
+
|
|
189
|
+
The dashboard also supports:
|
|
190
|
+
- Saved named layouts
|
|
191
|
+
- Omnibox / command palette on the search bar
|
|
192
|
+
- Per-project branch switching and Clear Messages (canonical-aware)
|
|
193
|
+
- **Reinstall Providers** โ rewrites per-project MCP configs and refreshes the `AGENTS.md` rule block without touching your other content
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## ๐ Core concepts
|
|
198
|
+
|
|
199
|
+
### Runtime
|
|
200
|
+
|
|
201
|
+
- **Canonical truth** lives in an event-backed runtime under `.agent-bridge/runtime/`.
|
|
202
|
+
- Legacy flat `.json` / `.jsonl` files in `.agent-bridge/` are compatibility projections during migration โ not the authority model.
|
|
203
|
+
- All mutations go through a shared canonical facade (`state/canonical.js`). The dashboard is a client of the broker, not a second writer.
|
|
204
|
+
|
|
205
|
+
### Branches
|
|
206
|
+
|
|
207
|
+
Branches are **full execution contexts**, not just message logs. A branch switch replaces the migrated branch-local view all at once:
|
|
208
|
+
- messages and history
|
|
209
|
+
- delivery and read state
|
|
210
|
+
- conversation control and non-general channels
|
|
211
|
+
- tasks and workflows
|
|
212
|
+
- workspaces
|
|
213
|
+
- sessions and evidence
|
|
214
|
+
- governance: decisions, KB, reviews, dependencies, votes, rules, progress
|
|
215
|
+
|
|
216
|
+
Branch creation snapshots the source branch at the fork point. Branch-local changes never bleed into `main` until explicitly advanced.
|
|
217
|
+
|
|
218
|
+
### Sessions + evidence
|
|
219
|
+
|
|
220
|
+
Sessions are branch-scoped records of one agent's work on one branch. Rejoining the same branch resumes that branch-scoped context. Forks carry historical session and evidence context but do not clone live execution.
|
|
221
|
+
|
|
222
|
+
Completion is authoritative only when structured evidence is recorded:
|
|
223
|
+
- `summary`
|
|
224
|
+
- `verification`
|
|
225
|
+
- `files_changed`
|
|
226
|
+
- `confidence` (0โ100)
|
|
227
|
+
- `recorded_at`
|
|
228
|
+
- `recorded_by_session`
|
|
229
|
+
|
|
230
|
+
Anything less is a conversational "done", not a runtime "done".
|
|
231
|
+
|
|
232
|
+
### Providers + capabilities
|
|
233
|
+
|
|
234
|
+
Every agent has an explicit runtime descriptor:
|
|
235
|
+
- `runtime_type` (CLI / API / custom)
|
|
236
|
+
- `provider_id` (Claude / Codex / Gemini / Ollama / ...)
|
|
237
|
+
- `model_id`
|
|
238
|
+
- `capabilities` โ tokens like `chat`, `vision`, `image_generation`, `video_generation`, `texture_generation`
|
|
239
|
+
|
|
240
|
+
Coordinators can route work by capability instead of by heuristic โ `get_work` and task assignment both respect declared capabilities.
|
|
241
|
+
|
|
242
|
+
### Autonomy loop
|
|
243
|
+
|
|
244
|
+
Instead of babysitting the chat:
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
Coordinator โ start_plan(name, steps, assignees)
|
|
248
|
+
โ
|
|
249
|
+
Each agent โ get_work() โ do work โ verify_and_advance() โ get_work() โ ...
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
- **`get_work`** picks the highest-priority item from: assigned workflow step, claimable task, open review, help request, blocked dependency, and more.
|
|
253
|
+
- **`verify_and_advance`** self-verifies with evidence. โฅ 70 confidence auto-advances. 40โ69 advances with a flag. < 40 broadcasts a help request.
|
|
254
|
+
- **`retry_with_improvement`** handles failures. 3 failed retries auto-escalate to the team. Skill accumulation is stored in the KB for everyone.
|
|
255
|
+
- **Watchdog** detects idle agents, stuck steps, and dead owners. Can rotate ownership within bounds.
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## ๐งฉ Agent templates
|
|
260
|
+
|
|
261
|
+
### Agent templates (role prompts)
|
|
262
|
+
|
|
263
|
+
| Template | Agents | Use when |
|
|
264
|
+
|---|---|---|
|
|
265
|
+
| `pair` | A, B | Two-agent brainstorm or Q&A |
|
|
266
|
+
| `team` | Coordinator, Researcher, Coder | Feature work with research + implementation |
|
|
267
|
+
| `review` | Author, Reviewer | Code-review loop |
|
|
268
|
+
| `debate` | Pro, Con | Explore tradeoffs / architecture decisions |
|
|
269
|
+
| `managed` | Manager, Designer, Coder, Tester | 3+ agents with structured turn-taking |
|
|
270
|
+
|
|
271
|
+
### Conversation templates (workflow skeletons)
|
|
272
|
+
|
|
273
|
+
| Template | Purpose |
|
|
274
|
+
|---|---|
|
|
275
|
+
| `feature-build` | End-to-end feature: research โ design โ implement โ test |
|
|
276
|
+
| `code-review` | Structured code review with evidence |
|
|
277
|
+
| `debug-squad` | Coordinated bug triage and fix |
|
|
278
|
+
| `research-write` | Research โ synthesize โ document |
|
|
279
|
+
| `autonomous-feature` | Fully autonomous multi-agent feature build |
|
|
280
|
+
|
|
281
|
+
List, show, or apply templates:
|
|
282
|
+
|
|
283
|
+
```bash
|
|
284
|
+
npx let-them-talk templates # list all
|
|
285
|
+
npx let-them-talk init --template team # scaffold a team
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## ๐งช Verification
|
|
291
|
+
|
|
292
|
+
Script-driven, deterministic, no flake:
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
npm test # delegates to verify
|
|
296
|
+
npm run verify # full suite
|
|
297
|
+
npm run verify:contracts # runtime + schema + branches + markdown
|
|
298
|
+
npm run verify:replay # event replay (healthy + clean + negative)
|
|
299
|
+
npm run verify:invariants # dashboard, capabilities, parity, sessions, evidence, autonomy, hooks
|
|
300
|
+
npm run verify:smoke # representative subset
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
The verify suite doesn't claim to cover every provider or runtime matrix, and does not include browser automation. But every shipped invariant is script-enforced on every release.
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## ๐ Security
|
|
308
|
+
|
|
309
|
+
- **Dashboard binds to `127.0.0.1` by default.** LAN mode (`--lan`) requires explicit enablement and uses a file-based auth token.
|
|
310
|
+
- **Rate-limited** API endpoints on non-localhost requests.
|
|
311
|
+
- **No telemetry, no cloud.** Everything runs locally.
|
|
312
|
+
- **0 known vulnerabilities** in the shipped tarball as of v5.4.1.
|
|
313
|
+
- **Sensitive-path blocks** on file-share: `.env`, `.pem`, `.key`, `.lan-token`, `mcp.json`, and the agent-bridge data directory cannot be shared.
|
|
314
|
+
- See [`SECURITY.md`](SECURITY.md) for the disclosure policy.
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## ๐ Architecture
|
|
319
|
+
|
|
320
|
+
Source-of-truth docs:
|
|
321
|
+
|
|
322
|
+
- [`docs/architecture/runtime-contract.md`](docs/architecture/runtime-contract.md)
|
|
323
|
+
- [`docs/architecture/branch-semantics.md`](docs/architecture/branch-semantics.md)
|
|
324
|
+
- [`docs/architecture/canonical-event-schema.md`](docs/architecture/canonical-event-schema.md)
|
|
325
|
+
- [`docs/architecture/markdown-workspace.md`](docs/architecture/markdown-workspace.md)
|
|
326
|
+
- [`docs/architecture/runtime-migration-hardening.md`](docs/architecture/runtime-migration-hardening.md)
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
## ๐ฌ Community
|
|
331
|
+
|
|
332
|
+
- [Discord](https://discord.gg/6Y9YgkFNJP) โ questions, show-and-tell, feedback
|
|
333
|
+
- [GitHub Issues](https://github.com/Dekelelz/let-them-talk/issues) โ bugs and feature requests
|
|
334
|
+
- [Website](https://talk.unrealai.studio) โ project home
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## ๐ License
|
|
339
|
+
|
|
340
|
+
[Business Source License 1.1](LICENSE). See the license file for usage terms.
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
<p align="center">
|
|
345
|
+
<sub>Built for humans who want their AI agents to work as a team.</sub>
|
|
346
|
+
</p>
|