orc-ai 0.1.20 → 0.1.23
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
CHANGED
|
@@ -32,7 +32,7 @@ ORC fixes this. Shared memory across every session. A task board where agents su
|
|
|
32
32
|
| **Task board** | `todo → queued → doing → review → done` with dependency tracking, priority, and automatic unblocking |
|
|
33
33
|
| **Multi-backend routing** | Route to Claude Code, ACPX (Agent Communication Protocol, 14+ agents), or remote A2A endpoints; unknown names fall through to ACPX |
|
|
34
34
|
| **Job runner** | Cron, file-watch, webhook, or manual triggers with full run history |
|
|
35
|
-
| **MCP server** | 28 tools connect any [Model Context Protocol](https://modelcontextprotocol.io) (MCP) compatible agent
|
|
35
|
+
| **MCP server** | 28 tools connect any [Model Context Protocol](https://modelcontextprotocol.io) (MCP) compatible agent — stdio or Streamable HTTP |
|
|
36
36
|
| **Session continuity** | Snapshots survive context compaction so agents resume where they left off |
|
|
37
37
|
| **Gateway** | Approve work, search memory, and chat with live agents from Telegram or Slack |
|
|
38
38
|
| **Knowledge search** | Index document collections (markdown, notes, wikis) and search them via BM25 or hybrid (vector + reranking) |
|
|
@@ -121,6 +121,39 @@ The web dashboard ships inside the `orc` binary and is served by the API process
|
|
|
121
121
|
|
|
122
122
|
Override the served dist directory with `ORC_WEB_DIST=/path/to/web/dist` if you want to host a custom build (e.g. a fork). If no dist is found, the server runs in pure-API mode.
|
|
123
123
|
|
|
124
|
+
## Docker
|
|
125
|
+
|
|
126
|
+
Run ORC in a container with the published image:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
docker run -d --name orc \
|
|
130
|
+
-p 7700:7700 \
|
|
131
|
+
-v orc-data:/data \
|
|
132
|
+
-e ORC_API_SECRET=$(openssl rand -hex 32) \
|
|
133
|
+
-e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
|
|
134
|
+
niradler/orc:latest
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
> The container binds `0.0.0.0`. Set a strong `ORC_API_SECRET` before exposing the
|
|
138
|
+
> mapped port beyond localhost — without it, every endpoint (including job execution,
|
|
139
|
+
> which runs arbitrary shell commands) is open to anyone who can reach the port.
|
|
140
|
+
|
|
141
|
+
Or with [docker-compose.yml](docker-compose.yml):
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
docker compose up -d
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
The container defaults to the `claude` backend (direct Anthropic API via SDK — no host CLI needed). To delegate to an agent running on the host instead, set `ORC_AGENT_LOOP_DEFAULT_BACKEND=agentapi` and run [coder/agentapi](https://github.com/coder/agentapi) on the host:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
agentapi server --allowed-hosts '*' -- \
|
|
151
|
+
claude --allowedTools all \
|
|
152
|
+
--mcp-config '{"mcpServers":{"orc":{"type":"http","url":"http://localhost:7700/mcp"}}}'
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
The `--mcp-config` flag wires the host agent back to ORC's [HTTP MCP endpoint](#mcp-tools) so it can call `task_update`, `memory_*`, `knowledge_*`, etc. `host.docker.internal` lets the container reach agentapi on the host.
|
|
156
|
+
|
|
124
157
|
## Connect your agent
|
|
125
158
|
|
|
126
159
|
### Claude Code
|
|
@@ -251,7 +284,8 @@ The loop handles concurrency, session resume on feedback, review round limits, s
|
|
|
251
284
|
|
|
252
285
|
| Backend | Description |
|
|
253
286
|
| --------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
254
|
-
| `claude` |
|
|
287
|
+
| `claude` | Anthropic Claude via [@anthropic-ai/claude-agent-sdk](https://www.npmjs.com/package/@anthropic-ai/claude-agent-sdk) — no host CLI needed. Requires `ANTHROPIC_API_KEY`. |
|
|
288
|
+
| `agentapi` | Delegates to a [coder/agentapi](https://github.com/coder/agentapi) server on the host (HTTP+SSE) — wraps any local coding agent (`claude`, `codex`, `aider`, …). Auth is whatever the host agent uses. |
|
|
255
289
|
| `acpx` | 14+ agents via [ACP CLI](https://github.com/AgenTool/acpx) - Codex, Gemini, Copilot, Kiro, Cursor, and more. |
|
|
256
290
|
| `a2a` | Remote agents via [Google A2A protocol](https://github.com/google/A2A) (JSON-RPC over HTTP). |
|
|
257
291
|
| _anything else_ | Routes through ACPX with the name as `--agent` flag. |
|
|
@@ -527,8 +561,12 @@ ORC merges config in priority order (later wins):
|
|
|
527
561
|
| Variable | Default | Description |
|
|
528
562
|
| -------------------------------- | --------------------- | ------------------------------------------------- |
|
|
529
563
|
| `ORC_DB_PATH` | `~/.orc/orc.db` | SQLite database path |
|
|
564
|
+
| `ORC_API_HOST` | `127.0.0.1` | API listen host (set to `0.0.0.0` in Docker) |
|
|
530
565
|
| `ORC_API_PORT` | `7700` | API listen port |
|
|
531
566
|
| `ORC_API_SECRET` | - | Bearer token for auth |
|
|
567
|
+
| `ORC_TELEGRAM_TOKEN` | - | Enables the Telegram gateway when set |
|
|
568
|
+
| `AGENTAPI_URL` | `http://127.0.0.1:3284` | URL of host agentapi server (for `agentapi` backend) |
|
|
569
|
+
| `ANTHROPIC_API_KEY` | - | Required for the `claude` backend (Anthropic SDK) |
|
|
532
570
|
| `ORC_SESSION_ID` | `default` | Per-agent session identifier |
|
|
533
571
|
| `ORC_LOG_LEVEL` | `info` | `debug`, `info`, `warn`, `error` |
|
|
534
572
|
| `ORC_LOG_DIR` | `~/.orc/logs` | Log file directory |
|
|
@@ -596,7 +634,7 @@ packages/
|
|
|
596
634
|
api/ Hono REST API + OpenAPI spec (:7700)
|
|
597
635
|
sdk/ Typed HTTP client from OpenAPI
|
|
598
636
|
cli/ Commander CLI (the `orc` binary)
|
|
599
|
-
mcp/ MCP server (stdio)
|
|
637
|
+
mcp/ MCP server (stdio + Streamable HTTP at /mcp)
|
|
600
638
|
runner/ Job executor + cron/watch scheduler + task loop
|
|
601
639
|
gateway/ Telegram + Slack bridge + agent sessions
|
|
602
640
|
agent-runtime/ Agent backend registry (claude, acpx, a2a)
|