@freibergergarcia/phone-a-friend 2.2.0 → 2.2.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/.claude-plugin/plugin.json +1 -1
- package/README.md +33 -42
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,17 +24,18 @@ Relay tasks to any backend, spin up multi-model teams, or run persistent multi-a
|
|
|
24
24
|
| **Team** | Iterative multi-backend refinement over N rounds | Collaborative review, converging on a solution |
|
|
25
25
|
| **Agentic** | Persistent multi-agent sessions with @mention routing | Autonomous collaboration, adversarial review, deep analysis |
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
### TUI Dashboard
|
|
30
|
-
|
|
31
|
-
<img src="https://raw.githubusercontent.com/freibergergarcia/phone-a-friend/main/assets/tui-dashboard.gif" alt="TUI dashboard" width="600">
|
|
32
|
-
|
|
33
|
-
### Web Dashboard
|
|
27
|
+
### Host parity
|
|
34
28
|
|
|
35
|
-
|
|
29
|
+
| Feature | Claude Code | OpenCode |
|
|
30
|
+
|---|:---:|:---:|
|
|
31
|
+
| `/phone-a-friend` (single-backend relay) | ✓ | ✓ |
|
|
32
|
+
| `/curiosity-engine` (Q&A rally) | ✓ | ✓ |
|
|
33
|
+
| `/phone-a-team` (iterative multi-model team) | ✓ | — |
|
|
34
|
+
| Plugin marketplace install | ✓ | — |
|
|
35
|
+
| CLI plugin install (`phone-a-friend plugin install --<host>`) | ✓ | ✓ |
|
|
36
|
+
| Skill auto-discovery | ✓ | ✓ |
|
|
36
37
|
|
|
37
|
-
|
|
38
|
+
OpenCode users can replicate `/phone-a-team` by running repeated `/phone-a-friend` calls and synthesizing manually.
|
|
38
39
|
|
|
39
40
|
## Quick Start
|
|
40
41
|
|
|
@@ -57,26 +58,15 @@ The setup wizard detects your backends, offers to install detected host integrat
|
|
|
57
58
|
|
|
58
59
|
**Claude Code marketplace (commands and skills only):**
|
|
59
60
|
|
|
60
|
-
If you use [Claude Code](https://docs.anthropic.com/en/docs/claude-code/setup),
|
|
61
|
-
you can install directly from the marketplace:
|
|
62
|
-
|
|
63
61
|
```
|
|
64
62
|
/plugin marketplace add freibergergarcia/phone-a-friend
|
|
65
63
|
/plugin install phone-a-friend@phone-a-friend-marketplace
|
|
66
64
|
```
|
|
67
65
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
/plugin marketplace update phone-a-friend-marketplace
|
|
72
|
-
/plugin update phone-a-friend@phone-a-friend-marketplace
|
|
73
|
-
```
|
|
66
|
+
To update: `/plugin marketplace update phone-a-friend-marketplace` then `/plugin update phone-a-friend@phone-a-friend-marketplace`.
|
|
74
67
|
|
|
75
68
|
> [!NOTE]
|
|
76
|
-
> Marketplace install
|
|
77
|
-
> and skills). For the full CLI including agentic mode, the TUI dashboard, and
|
|
78
|
-
> the web dashboard on localhost, install globally with
|
|
79
|
-
> `npm install -g @freibergergarcia/phone-a-friend`.
|
|
69
|
+
> Marketplace install ships only the slash commands and skills. For the full CLI (agentic mode, TUI, web dashboard), install via `npm install -g @freibergergarcia/phone-a-friend`.
|
|
80
70
|
|
|
81
71
|
**OpenCode commands and skills:**
|
|
82
72
|
|
|
@@ -113,10 +103,10 @@ Build a team with Claude and Ollama. Have them review the website copy,
|
|
|
113
103
|
loop through 3 rounds, and converge on final suggestions.
|
|
114
104
|
```
|
|
115
105
|
|
|
116
|
-
No slash commands needed
|
|
106
|
+
No slash commands needed once the host integration is installed (see [Host parity](#host-parity) for which slash commands work in which host).
|
|
117
107
|
|
|
118
108
|
> [!TIP]
|
|
119
|
-
> **
|
|
109
|
+
> **Claude Code power-user setup:** Run in [**tmux**](https://formulae.brew.sh/formula/tmux) with [**bypass permissions**](https://docs.anthropic.com/en/docs/claude-code/security) (`⏵⏵`) and [**Agent Teams**](https://docs.anthropic.com/en/docs/claude-code/agent-teams) to watch agents work in parallel split panes. Pair with **phone-a-friend agentic mode** for fully autonomous sessions.
|
|
120
110
|
|
|
121
111
|
## CLI Usage
|
|
122
112
|
|
|
@@ -213,21 +203,21 @@ phone-a-friend config edit # Open in $EDITOR
|
|
|
213
203
|
|
|
214
204
|
## Backends
|
|
215
205
|
|
|
216
|
-
| Backend | Type | Streaming |
|
|
217
|
-
|
|
218
|
-
| **Codex** | CLI subprocess | No |
|
|
219
|
-
| **Gemini** | CLI subprocess | No |
|
|
220
|
-
| **Ollama** | HTTP API | Yes (NDJSON) |
|
|
221
|
-
| **Claude** | CLI subprocess | Yes (JSON) |
|
|
222
|
-
| **OpenCode** | CLI subprocess | Yes (NDJSON) |
|
|
206
|
+
| Backend | Type | Streaming |
|
|
207
|
+
|---------|------|-----------|
|
|
208
|
+
| **Codex** | CLI subprocess | No |
|
|
209
|
+
| **Gemini** | CLI subprocess | No |
|
|
210
|
+
| **Ollama** | HTTP API | Yes (NDJSON) |
|
|
211
|
+
| **Claude** | CLI subprocess | Yes (JSON) |
|
|
212
|
+
| **OpenCode** | CLI subprocess | Yes (NDJSON) |
|
|
223
213
|
|
|
224
214
|
Ollama configuration via environment variables:
|
|
225
215
|
- `OLLAMA_HOST` -- custom host (default: `http://localhost:11434`)
|
|
226
216
|
- `OLLAMA_MODEL` -- default model (overridden by `--model` flag)
|
|
227
217
|
|
|
228
218
|
Phone-a-friend environment variables:
|
|
229
|
-
- `PHONE_A_FRIEND_INCLUDE_DIFF=false` -- disable diff inclusion
|
|
230
|
-
- `PHONE_A_FRIEND_HOST=opencode` -- mark the calling process as OpenCode for the recursion guard
|
|
219
|
+
- `PHONE_A_FRIEND_INCLUDE_DIFF=false` -- disable diff inclusion globally (equivalent to `--no-include-diff` on every call).
|
|
220
|
+
- `PHONE_A_FRIEND_HOST=opencode` -- mark the calling process as OpenCode for the recursion guard (set automatically by the OpenCode shims).
|
|
231
221
|
|
|
232
222
|
OpenCode configuration via TOML:
|
|
233
223
|
```toml
|
|
@@ -272,14 +262,6 @@ phone-a-friend agentic dashboard # default: localhost:7777
|
|
|
272
262
|
phone-a-friend agentic dashboard --port 8080
|
|
273
263
|
```
|
|
274
264
|
|
|
275
|
-
**How it works:**
|
|
276
|
-
|
|
277
|
-
1. The orchestrator spawns each agent with the initial prompt and a unique name (e.g., `ada.reviewer`, `fern.critic`)
|
|
278
|
-
2. Agents respond and `@mention` other agents (or `@all` / `@user`)
|
|
279
|
-
3. The orchestrator routes messages to the targeted agents
|
|
280
|
-
4. Agents reply in subsequent turns, building on accumulated context
|
|
281
|
-
5. The session ends when agents converge (no new messages), hit the turn limit, or time out
|
|
282
|
-
|
|
283
265
|
**What you get:**
|
|
284
266
|
|
|
285
267
|
- **Live web dashboard** -- watch agents collaborate in real time at `localhost:7777` (SSE-powered)
|
|
@@ -297,11 +279,20 @@ Full usage guide, examples, CLI reference, and configuration details:
|
|
|
297
279
|
|
|
298
280
|
## Uninstall
|
|
299
281
|
|
|
282
|
+
**npm install:**
|
|
283
|
+
|
|
300
284
|
```bash
|
|
301
285
|
npm uninstall -g @freibergergarcia/phone-a-friend
|
|
302
286
|
```
|
|
303
287
|
|
|
304
|
-
|
|
288
|
+
Automatically removes the Claude Code plugin (CLI-installed), OpenCode commands and skills, and the `~/.config/phone-a-friend` directory (config, sessions, jobs).
|
|
289
|
+
|
|
290
|
+
**Claude Code marketplace:**
|
|
291
|
+
|
|
292
|
+
```
|
|
293
|
+
/plugin uninstall phone-a-friend@phone-a-friend-marketplace
|
|
294
|
+
/plugin marketplace remove phone-a-friend-marketplace
|
|
295
|
+
```
|
|
305
296
|
|
|
306
297
|
## Contributing
|
|
307
298
|
|