-
Notifications
You must be signed in to change notification settings - Fork 2
CLI
OCC includes a command-line interface for development, validation, and execution.
The CLI is included when you install OCC:
cd OCC/mcp-server npm install && npm run build # Run via npm npm run occ -- <command> # Or directly node dist/bin/occ.js <command>
List all available chains and pipelines.
$ occ list
Chains:
deep-researcher (6 steps) — Multi-perspective research engine
code-review (8 steps) — Intelligent code review pipeline
content-engine (6 steps) — End-to-end content creation
competitive-intel (4 steps) — Competitive intelligence analysis
full-stack-scaffold (5 steps) — AI-powered project scaffolder
market-monitor (4 steps) — Real-time market monitoring
Pipelines:
research-to-content (2 chains) — Research then write article
product-intelligence (2 chains) — Competitive analysis + market alertsLint and validate all chains in a directory. Catches:
- Undefined variable references
- Unreachable steps
- Missing depends_on targets
- Invalid router routes
- Missing pre-tool fields
- Unused output variables
- Circular dependencies
- Duplicate step IDs
$ occ validate ./chains
✓ code-review (8 steps)
✓ competitive-intel (4 steps)
⚠ content-engine (6 steps)
info social_media: output_var "social_posts" is never referenced
✓ deep-researcher (6 steps)
✓ market-monitor (4 steps)
6 chains validated: 0 errors, 0 warningsExit code is 1 if any errors are found — perfect for CI:
# .github/workflows/ci.yml - name: Validate chains run: cd mcp-server && node dist/bin/occ.js validate ../chains
Preview the execution plan without making any LLM calls. Shows:
- Execution waves (parallel groups)
- Prompt previews with resolved variables
- Model assignments per step
- Dependency graph
- Cost estimates
$ occ dry-run deep-researcher --input topic="quantum computing" Execution Plan: deep-researcher Wave 1 (3 parallel) search_mainstream [claude-sonnet-4-6] search_contrarian [claude-sonnet-4-6] search_academic [claude-sonnet-4-6] Wave 2 evaluate_sources [claude-sonnet-4-6] ← search_mainstream, ... Wave 3 merge_perspectives [claude-sonnet-4-6] Wave 4 synthesize [claude-sonnet-4-6] Estimated Cost: Steps: 6 (4 waves) Models: claude-sonnet-4-6: 6 steps (~0ドル.126-0ドル.360) Total: ~0ドル.126-0ドル.360
Execute a chain and stream real-time logs.
$ occ run deep-researcher --input topic="quantum computing" Executing: deep-researcher Inputs: {"topic":"quantum computing"} Execution: 1a2b3c4d5e6f [START] Chain: deep-researcher [STEP] Mainstream perspective ... [STEP] Contrarian perspective ... [STEP] Academic perspective ... [DONE] search_mainstream (12.3s, 450+1800 tokens) [DONE] search_contrarian (14.1s, 380+1600 tokens) [DONE] search_academic (11.8s, 420+1900 tokens) [STEP] Source reliability check ... [DONE] evaluate_sources (5.2s) [STEP] Merge all research ... [DONE] merge_perspectives (8.7s) [STEP] Final report ... [DONE] synthesize (15.4s) --- Result --- # Research Report: Quantum Computing ...
Check the status of an execution.
$ occ status 1a2b3c4d Execution: 1a2b3c4d Chain: deep-researcher Status: done Duration: 47.2s Steps: done search_mainstream (12.3s) [450+1800 tokens] done search_contrarian (14.1s) [380+1600 tokens] done search_academic (11.8s) [420+1900 tokens] done evaluate_sources (5.2s) done merge_perspectives (8.7s) done synthesize (15.4s)
Stream real-time SSE events for a running or completed execution.
$ occ logs 1a2b3c4d
Cancel a running execution. Kills all active processes.
$ occ cancel 1a2b3c4d Cancelled: 1a2b3c4d
Show queue statistics and recent jobs.
$ occ queue
Queue Stats:
Queued: 3
Running: 2
Done: 47
Errors: 1
Workers: 2/5
Avg wait: 4s
Recent Jobs:
done deep-researcher (p5) → exec_abc123
running code-review (p10)
queued content-engine (p3)Time-travel: view the full step checkpoint history.
$ occ timeline 1a2b3c4d Timeline for 1a2b3c4d: done search_mainstream (12.3s) [450+1800 tok] 2026年03月29日 14:00:12 done search_contrarian (14.1s) [380+1600 tok] 2026年03月29日 14:00:14 done search_academic (11.8s) [420+1900 tok] 2026年03月29日 14:00:12 done evaluate_sources (5.2s) 2026年03月29日 14:00:26 done merge_perspectives (8.7s) 2026年03月29日 14:00:31 done synthesize (15.4s) 2026年03月29日 14:00:40
Execution statistics for a chain (from SQLite).
$ occ stats deep-researcher Stats for deep-researcher: Total runs: 12 Success rate: 91.7% Avg duration: 42.3s Total tokens: 14500 input, 38200 output Est. total cost: ~0ドル.617 (Sonnet rates)
Approve or reject a gate step.
$ occ approve 1a2b3c4d gate_step Approved: 1a2b3c4d / gate_step $ occ reject 1a2b3c4d gate_step Rejected: 1a2b3c4d / gate_step
Execute a pipeline (multi-chain workflow).
$ occ run-pipeline research-to-content --input topic="AI" Executing pipeline: research-to-content Inputs: {"topic":"AI"} Execution: pip_abc123
Check server health, queue status, and MCP servers.
$ occ health
OCC server is running
Version: 2.0.0
Running executions: 2
Queue: 3 queued, 2 running, 47 done
MCP servers: github, brave-search
URL: http://localhost:4242| Flag | Description |
|---|---|
--json |
Output raw JSON (for scripting, piping to jq, CI/CD) |
--priority N, -p N
|
Execution priority 1-10 (default: 5, higher = first) |
--input k=v, -i k=v
|
Chain/pipeline input (repeatable) |
# Machine-readable output occ stats deep-researcher --json | jq '.successRate' # High-priority execution occ run urgent-chain --input data="critical" --priority 10
| Variable | Default | Description |
|---|---|---|
OCC_URL |
http://localhost:4242 |
Server URL for run/status/logs/health |
CHAINS_DIR |
../chains |
Chains directory for validate/dry-run |
REST_PORT |
4242 |
Server port (used to build OCC_URL) |
Dry-run includes cost estimates based on average token usage per step:
| Model | Input cost/M | Output cost/M | Est. per step |
|---|---|---|---|
| claude-haiku-4-5 | 0ドル.25 | 1ドル.25 | 0ドル.002-0ドル.005 |
| claude-sonnet-4-6 | 3ドル.00 | 15ドル.00 | 0ドル.021-0ドル.060 |
| claude-opus-4-6 | 15ドル.00 | 75ドル.00 | 0ドル.105-0ドル.300 |
Estimates assume 2K-5K input tokens and 1K-3K output tokens per step.
- Getting Started — First-time setup
- Chain Format — YAML reference
- Token Optimization — Reduce costs