orc-ai 0.1.20 → 0.1.22

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.
Files changed (3) hide show
  1. package/README.md +37 -3
  2. package/dist/index.js +399 -279
  3. package/package.json +3 -1
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 with one config line |
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,35 @@ 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=changeme \
133
+ -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
134
+ niradler/orc:latest
135
+ ```
136
+
137
+ Or with [docker-compose.yml](docker-compose.yml):
138
+
139
+ ```bash
140
+ docker compose up -d
141
+ ```
142
+
143
+ 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:
144
+
145
+ ```bash
146
+ agentapi server --allowed-hosts '*' -- \
147
+ claude --allowedTools all \
148
+ --mcp-config '{"mcpServers":{"orc":{"type":"http","url":"http://localhost:7700/mcp"}}}'
149
+ ```
150
+
151
+ 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.
152
+
124
153
  ## Connect your agent
125
154
 
126
155
  ### Claude Code
@@ -251,7 +280,8 @@ The loop handles concurrency, session resume on feedback, review round limits, s
251
280
 
252
281
  | Backend | Description |
253
282
  | --------------- | ------------------------------------------------------------------------------------------------------------ |
254
- | `claude` | Native Claude Code CLI. Falls back to ACPX on error. |
283
+ | `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`. |
284
+ | `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
285
  | `acpx` | 14+ agents via [ACP CLI](https://github.com/AgenTool/acpx) - Codex, Gemini, Copilot, Kiro, Cursor, and more. |
256
286
  | `a2a` | Remote agents via [Google A2A protocol](https://github.com/google/A2A) (JSON-RPC over HTTP). |
257
287
  | _anything else_ | Routes through ACPX with the name as `--agent` flag. |
@@ -527,8 +557,12 @@ ORC merges config in priority order (later wins):
527
557
  | Variable | Default | Description |
528
558
  | -------------------------------- | --------------------- | ------------------------------------------------- |
529
559
  | `ORC_DB_PATH` | `~/.orc/orc.db` | SQLite database path |
560
+ | `ORC_API_HOST` | `127.0.0.1` | API listen host (set to `0.0.0.0` in Docker) |
530
561
  | `ORC_API_PORT` | `7700` | API listen port |
531
562
  | `ORC_API_SECRET` | - | Bearer token for auth |
563
+ | `ORC_TELEGRAM_TOKEN` | - | Enables the Telegram gateway when set |
564
+ | `AGENTAPI_URL` | `http://127.0.0.1:3284` | URL of host agentapi server (for `agentapi` backend) |
565
+ | `ANTHROPIC_API_KEY` | - | Required for the `claude` backend (Anthropic SDK) |
532
566
  | `ORC_SESSION_ID` | `default` | Per-agent session identifier |
533
567
  | `ORC_LOG_LEVEL` | `info` | `debug`, `info`, `warn`, `error` |
534
568
  | `ORC_LOG_DIR` | `~/.orc/logs` | Log file directory |
@@ -596,7 +630,7 @@ packages/
596
630
  api/ Hono REST API + OpenAPI spec (:7700)
597
631
  sdk/ Typed HTTP client from OpenAPI
598
632
  cli/ Commander CLI (the `orc` binary)
599
- mcp/ MCP server (stdio)
633
+ mcp/ MCP server (stdio + Streamable HTTP at /mcp)
600
634
  runner/ Job executor + cron/watch scheduler + task loop
601
635
  gateway/ Telegram + Slack bridge + agent sessions
602
636
  agent-runtime/ Agent backend registry (claude, acpx, a2a)