llm-party-cli 0.9.0 → 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 +37 -7
- package/dist/index.js +1002 -332
- package/package.json +2 -3
- package/prompts/artifacts.md +49 -93
- package/prompts/base.md +80 -209
- package/prompts/obsidian.md +30 -102
package/README.md
CHANGED
|
@@ -40,8 +40,9 @@ No MCP. No master/servant. No window juggling. Just peers at a terminal table.
|
|
|
40
40
|
| ---------------------- | ------------------------------ | -------------------------------------- |
|
|
41
41
|
| **Architecture** | MCP (master controls servants) | Peer orchestration (you control all) |
|
|
42
42
|
| **Integration** | CLI wrapping, output scraping | Direct SDK adapters |
|
|
43
|
-
| **Sessions** | Fresh each time | Persistent per provider
|
|
43
|
+
| **Sessions** | Fresh each time | Persistent per provider, resumable |
|
|
44
44
|
| **Context** | Agents are siloed | Every agent sees the full conversation |
|
|
45
|
+
| **Concurrency** | Sequential or blocked | Non-blocking per-agent queues |
|
|
45
46
|
| **API tokens** | Separate keys per tool | Uses your existing CLI auth |
|
|
46
47
|
|
|
47
48
|
<br/>
|
|
@@ -121,6 +122,10 @@ That's it. No paths, no prompts, no usernames to configure. Just name, tag, prov
|
|
|
121
122
|
|
|
122
123
|
Agents can pass the conversation to each other by ending their response with `@next:<tag>`. The orchestrator picks it up and dispatches automatically. Max 15 hops per cycle to prevent loops.
|
|
123
124
|
|
|
125
|
+
### Non-blocking queue
|
|
126
|
+
|
|
127
|
+
You can type while agents are working. Each agent has its own queue. If an agent is busy when a new message arrives, the message is queued and processed when the agent finishes. No blocking, no waiting for slow agents to finish before fast ones can respond.
|
|
128
|
+
|
|
124
129
|
## **WARNING: FULL AUTONOMY.**
|
|
125
130
|
|
|
126
131
|
All agents run with full permissions. They can read, write, edit files and execute shell commands with zero approval gates. There is no confirmation step before any action. Run in a disposable environment. You are responsible for any changes, data loss, costs, or side effects. Do not run against production systems.
|
|
@@ -159,7 +164,7 @@ All authentication flows through the provider's own CLI. llm-party does not impl
|
|
|
159
164
|
| ----------------- | ---------------------------------- | -------------------------------------- | -------------------------------------------------- |
|
|
160
165
|
| **Claude** | `@anthropic-ai/claude-agent-sdk` | Persistent via session ID resume | Full control |
|
|
161
166
|
| **Codex** | `@openai/codex-sdk` | Persistent thread with `run()` turns | Via `developer_instructions` (limitations below) |
|
|
162
|
-
| **Copilot** | `@github/copilot-sdk` | Persistent via
|
|
167
|
+
| **Copilot** | `@github/copilot-sdk` | Persistent via session ID resume | Full control |
|
|
163
168
|
|
|
164
169
|
### Custom providers (config-driven)
|
|
165
170
|
|
|
@@ -186,19 +191,23 @@ Terminal (you)
|
|
|
186
191
|
|
|
|
187
192
|
v
|
|
188
193
|
Orchestrator
|
|
194
|
+
|
|
|
195
|
+
+-- Agent Queue Manager (per-agent queues, non-blocking dispatch)
|
|
189
196
|
|
|
|
190
197
|
+-- Agent Registry
|
|
191
198
|
| +-- Claude -> ClaudeAdapter (SDK session, resume by ID)
|
|
192
|
-
| +-- Codex -> CodexAdapter (SDK thread,
|
|
193
|
-
| +-- Copilot -> CopilotAdapter (SDK session,
|
|
199
|
+
| +-- Codex -> CodexAdapter (SDK thread, resumeThread by ID)
|
|
200
|
+
| +-- Copilot -> CopilotAdapter (SDK session, resumeSession by ID)
|
|
194
201
|
| +-- Custom -> CustomAdapter (routes through native CLI + env override)
|
|
195
202
|
|
|
|
196
203
|
+-- Conversation Log (ordered, all messages, agent-prefixed)
|
|
197
204
|
|
|
|
198
205
|
+-- Transcript Writer (JSONL, append-only, per session)
|
|
206
|
+
|
|
|
207
|
+
+-- Session Manifest (per-agent cursors + SDK session IDs, for resume)
|
|
199
208
|
```
|
|
200
209
|
|
|
201
|
-
Each agent
|
|
210
|
+
Each agent has its own processing queue. When you send a message, idle agents start immediately while busy agents queue it. You can keep typing while agents work. Each agent receives only unseen messages since its last turn, so no duplicate processing on resume or during concurrent dispatch.
|
|
202
211
|
|
|
203
212
|
`~/.llm-party/config.json` is your global config. Every agent receives a base system prompt automatically. The `prompts` field in config adds extra prompt files on top of it.
|
|
204
213
|
|
|
@@ -220,7 +229,7 @@ Each agent receives a rolling window of recent messages (configurable, default 1
|
|
|
220
229
|
| | |
|
|
221
230
|
| ------- | ---------------------------------------------------------------------------------------------------------------- |
|
|
222
231
|
| SDK | `@openai/codex-sdk` |
|
|
223
|
-
| Session | Persistent thread
|
|
232
|
+
| Session | Persistent thread. `startThread()` creates it, `resumeThread()` restores it. `thread.run()` adds turns. |
|
|
224
233
|
| Prompt | Injected via `developer_instructions` config key. Appended alongside Codex's built-in 13k token system prompt. |
|
|
225
234
|
| Tools | exec_command, apply_patch, file operations |
|
|
226
235
|
|
|
@@ -231,7 +240,7 @@ Each agent receives a rolling window of recent messages (configurable, default 1
|
|
|
231
240
|
| | |
|
|
232
241
|
| ------- | ----------------------------------------------------------- |
|
|
233
242
|
| SDK | `@github/copilot-sdk` |
|
|
234
|
-
| Session | Persistent via `
|
|
243
|
+
| Session | Persistent via `createSession()` with session ID. Resumable via `resumeSession()`. |
|
|
235
244
|
| Prompt | Set as `systemMessage` on session creation. Full control. |
|
|
236
245
|
| Tools | Copilot built-in toolset |
|
|
237
246
|
|
|
@@ -385,6 +394,26 @@ Every run generates a unique session ID and appends messages to a JSONL transcri
|
|
|
385
394
|
|
|
386
395
|
File changes made by agents are detected via `git status` after each response. Newly modified files are printed with timestamps.
|
|
387
396
|
|
|
397
|
+
### Resume a session
|
|
398
|
+
|
|
399
|
+
Pick up where you left off by passing the session ID:
|
|
400
|
+
|
|
401
|
+
```bash
|
|
402
|
+
llm-party --resume 20260402-102915-74722-ba956b96
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
Or use the `/resume` command as your first input in a fresh session:
|
|
406
|
+
|
|
407
|
+
```
|
|
408
|
+
/resume 20260402-102915-74722-ba956b96
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
The session ID is shown at startup or via `/session`. Resume loads the full transcript, restores per-agent SDK sessions (Claude session IDs, Codex thread IDs, Copilot session IDs), and tracks which messages each agent has already seen. Agents pick up exactly where they left off with no duplicate processing.
|
|
412
|
+
|
|
413
|
+
A `.manifest.json` file alongside each transcript stores the session state: agent cursors, SDK session IDs, sticky targets. This is what makes cross-provider resume possible.
|
|
414
|
+
|
|
415
|
+
Resume only works before the first message is sent. Once a conversation has started, resuming another session into it is not allowed.
|
|
416
|
+
|
|
388
417
|
<br/>
|
|
389
418
|
|
|
390
419
|
## Terminal commands
|
|
@@ -396,6 +425,7 @@ File changes made by agents are detected via `git status` after each response. N
|
|
|
396
425
|
| `/info` | Commands and keyboard shortcuts panel |
|
|
397
426
|
| `/save <path>` | Export conversation as JSON |
|
|
398
427
|
| `/session` | Show session ID and transcript path |
|
|
428
|
+
| `/resume <id>` | Resume a previous session (first message only) |
|
|
399
429
|
| `/changes` | Show git-modified files |
|
|
400
430
|
| `/clear` | Clear chat display (Ctrl+L also works) |
|
|
401
431
|
| `/exit` | Quit (graceful shutdown, all adapters cleaned up) |
|