@agora-build/atem 0.6.18 → 0.6.19
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 +21 -14
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @agora-build/atem
|
|
2
2
|
|
|
3
|
-
A terminal that connects builders, Agora platform, and AI agents. Manage Agora projects and tokens, route tasks between [Astation](https://github.com/Agora-Build/Astation) and AI coding agents,
|
|
3
|
+
A terminal that connects builders, Agora platform, and AI agents. Manage Agora projects and tokens, route tasks between [Astation](https://github.com/Agora-Build/Astation) and AI coding agents, drive voice-powered coding workflows, and more -- all from a single CLI/TUI.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
@@ -42,8 +42,8 @@ atem unpair [--yes] # Remove all Astation pairings (asks fir
|
|
|
42
42
|
`atem login` unlocks a limited set: project list, tokens for the active
|
|
43
43
|
project, and the dev servers (`serv rtc`, `serv convo`, `serv webhooks`).
|
|
44
44
|
Pairing with Astation unlocks the full set: vault, sync, memory, skills,
|
|
45
|
-
`atem cred`, and Astation-driven remote agent control, voice coding
|
|
46
|
-
tasks
|
|
45
|
+
`atem cred`, and Astation-driven remote agent control, voice coding and mark
|
|
46
|
+
tasks. `serv files`, `config`, and tokens from
|
|
47
47
|
`AGORA_APP_ID`/`AGORA_APP_CERTIFICATE` need neither.
|
|
48
48
|
|
|
49
49
|
`atem pair` receives your Agora login from Astation, then verifies the device:
|
|
@@ -226,9 +226,6 @@ atem serv attach 3 # …or by index from `atem serv list`
|
|
|
226
226
|
atem serv rtc # Launch RTC test page (HTTPS)
|
|
227
227
|
atem serv rtc --channel test --port 8443
|
|
228
228
|
atem serv rtc --background # Run as background daemon
|
|
229
|
-
atem serv diagrams # Host diagrams from SQLite (HTTP)
|
|
230
|
-
atem serv diagrams --port 9000
|
|
231
|
-
atem serv diagrams --background
|
|
232
229
|
atem serv files ~/docs # Serve a directory or file over HTTPS (Markdown rendered)
|
|
233
230
|
atem serv files ~/docs --background # Port auto-picked; reused next run
|
|
234
231
|
atem serv webhooks # Receive Agora webhooks locally (auto-tunneled via ngrok)
|
|
@@ -252,8 +249,6 @@ done
|
|
|
252
249
|
|
|
253
250
|
**`serv rtc`** — RTC test page: join/leave, publish/subscribe audio+video, token generation, RTM messaging, RTC encryption (8 modes; gcm2 modes auto-generate a copyable salt).
|
|
254
251
|
|
|
255
|
-
**`serv diagrams`** — SQLite-backed HTTP server for hosting AI-generated HTML diagrams.
|
|
256
|
-
|
|
257
252
|
**`serv files`** — serves a directory (or a single file) over HTTPS. Markdown is rendered to HTML; append `?raw=1` to any URL for the raw bytes. Useful for browsing AI-generated docs on a remote machine.
|
|
258
253
|
|
|
259
254
|
**`serv webhooks`** — local receiver for Agora webhook events (ConvoAI: `agent_joined`, `agent_left`, `agent_history`, `agent_error`, `agent_metrics`, …; RTC NCS events). Validates `Agora-Signature-V2` (HMAC-SHA256) when a `secret` is configured in `webhooks.toml`; accepts unsigned events otherwise with a warning. Live web console at `http://127.0.0.1:9090/` shows incoming events; each event also prints a one-line summary to stdout. Default tunnel provider is **ngrok**; set `tunnel_provider = "cloudflared"` for zero-auth quick tunnels. Use `--no-tunnel` if you're running cloudflared / ngrok separately for stable URLs across atem restarts.
|
|
@@ -263,16 +258,11 @@ done
|
|
|
263
258
|
### AI Agents (WIP)
|
|
264
259
|
|
|
265
260
|
```bash
|
|
266
|
-
atem agent list # Scan and list detected AI agents
|
|
267
261
|
atem agent launch # Open the original Claude Code CLI in an Atem terminal
|
|
268
262
|
atem agent launch codex # Open the original Codex CLI in an Atem terminal
|
|
269
263
|
atem agent launch claude --continue # Arguments after the agent type go to that CLI: continue the last Claude session
|
|
270
264
|
atem agent launch codex resume --last # Continue the last Codex session
|
|
271
265
|
atem agent launch claude -- --help # Use -- to read the agent's own help
|
|
272
|
-
atem agent connect <WS_URL> # Connect to ACP agent and show info
|
|
273
|
-
atem agent prompt <WS_URL> "text" # Send prompt to ACP agent
|
|
274
|
-
atem agent probe <WS_URL> # Probe URL for ACP support
|
|
275
|
-
atem agent visualize "topic" # Generate visual HTML diagram via ACP agent
|
|
276
266
|
```
|
|
277
267
|
|
|
278
268
|
`atem agent launch [claude|claude-code|codex] [ARGS]...` runs the installed
|
|
@@ -287,7 +277,7 @@ Atem's own keys start with a prefix, Ctrl+] by default. Press it, then:
|
|
|
287
277
|
|
|
288
278
|
| Key | Action |
|
|
289
279
|
|-----|--------|
|
|
290
|
-
| `h` | Hide the terminal; the agent keeps running |
|
|
280
|
+
| `h` or `m` | Hide the terminal; the agent keeps running |
|
|
291
281
|
| `g` | Take control back locally |
|
|
292
282
|
| `x` | Stop the agent |
|
|
293
283
|
| `r` | Redraw the screen |
|
|
@@ -295,6 +285,23 @@ Atem's own keys start with a prefix, Ctrl+] by default. Press it, then:
|
|
|
295
285
|
| `c` | Copy the visible text (tmux buffer inside tmux, otherwise OSC 52) |
|
|
296
286
|
| `?` | Help and recent notices |
|
|
297
287
|
|
|
288
|
+
The bottom row reads, for example,
|
|
289
|
+
`Atem | Claude | Local | Astation ✓ | Notice | Ctrl+] then ?:help`:
|
|
290
|
+
|
|
291
|
+
- `Claude` or `Codex` is the agent on screen.
|
|
292
|
+
- `Local` means your keyboard drives the agent; `Remote` means Astation holds
|
|
293
|
+
control and local typing is refused until you press the prefix, then `g`.
|
|
294
|
+
- `Astation ✓` means an authenticated Astation link; `Astation ✗` means none
|
|
295
|
+
(not paired, Astation unreachable, or re-authenticating). When Astation
|
|
296
|
+
challenges an open connection again (for example after it alone reconnected
|
|
297
|
+
to the relay), Atem briefly shows `Astation ✗`, drops remote viewers and
|
|
298
|
+
control, and answers with the saved session; it shows `✓` again once Astation
|
|
299
|
+
accepts. If Astation refuses or doesn't answer within 15 seconds, Atem
|
|
300
|
+
records a notice and reconnects with the saved session (a refused session
|
|
301
|
+
needs `atem pair`). Remote viewers subscribe again afterwards, view only.
|
|
302
|
+
- `Notice` appears once Atem has recorded a warning or status message. Press
|
|
303
|
+
the prefix, then `?`, to read the recent notices (newest first).
|
|
304
|
+
|
|
298
305
|
Press the prefix twice to send it to the agent. To change it, set
|
|
299
306
|
`terminal_prefix = "Ctrl-a"` in `~/.config/atem/config.toml`, or
|
|
300
307
|
`ATEM_TERMINAL_PREFIX` (which wins over the file). Ctrl+], Ctrl+\ or
|