The Problem

Trading work doesn't have a collaboration substrate like software does. Code has git, issues, markdown, and reproducible folders; trading has chat history, scattered notes, and broker UIs. OpenAlice maps trading onto the tools coding agents already understand — workspaces, issues, wikilinks, and approval-gated execution — so a human and multiple AI agents can share one trading workflow without losing state or audit trails.

What This Does

OpenAlice is a local trading workspace for coding agents, not a replacement for Claude Code or similar tools. It gives agents a trading-shaped place to work: a packages/ monorepo (1,217 files) with a TypeScript core, a desktop app in apps/desktop/src/main.ts, a CLI in packages/cli/src/main.ts, and a connector protocol in packages/connector-protocol/src/index.ts. The README's core loop is read-only research first — ask a market question, track entities as [[wikilinks]], create a markdown issue, schedule it, and read results in an Inbox.

The trading layer is explicitly beta. The README warns: "Do not use OpenAlice for live trading with real funds unless you fully understand and accept the risks." The repo ships a guardian-runtime package and an ibkr reference implementation, suggesting broker connectivity exists but is immature.

How It Is Wired

Execution starts at apps/desktop/src/main.ts (Electron main process) which spawns a managed runtime via apps/desktop/src/managed-runtime.ts. That runtime bridges to the CLI (packages/cli/src/main.ts) and the connector protocol (packages/connector-protocol/src/index.ts). The guardian-runtime package is the safety gate — it stages account actions like git commits, requiring review before "push." The ibkr package holds a Python reference client (packages/ibkr/ref/source/pythonclient/setup.py), meaning broker calls leave the process through that connector. The blast radius is concentrated in guardian-runtime; anything that touches it affects all order flows, so changes there need the most care. The module graph shows a hub-and-spoke pattern around connector-protocol — a single point of failure for adding new brokers. The wiring for the desktop-to-CLI IPC path is mapped; the internal call graph for the broader agent loop is not fully documented in this repo.

How To Use It

Setup: Clone and install with npm — package.json and packages/*/package.json imply npm install. Docker is available via Dockerfile and docker-compose.yml for a containerized run. Configuration: Environment variables for broker credentials belong in the connector packages; no .env.example is visible, so you'll need to inspect packages/ibkr and packages/connector-protocol for expected keys. Running: Start the desktop app from apps/desktop/src/main.ts, or invoke the CLI from packages/cli/src/main.ts. The README's documented flow is: ask Alice, track entities, create an issue, schedule it, read the Inbox.

Real-World Use

A macro research desk runs a nightly scan: an agent creates an issue in a workspace, schedules it for 6 AM, and the CLI pulls news and fundamentals via the connector protocol, writes a report to the Inbox, and stages any proposed positions for human review in the guardian-runtime before anything touches a broker.

Code Health & Issues

  • Med - The ibkr Python client is a reference (ref/) — likely stale relative to the TypeScript core; verify before relying on it.
  • Med - 203 Protocol Buffers files suggest a complex IPC layer; that's a lot of surface area for version drift.
  • Low - CI exists (.github/workflows/ci.yml) and 613 test files are present, but no measured analysis has run for this repo yet — the wiring map above is structural, not dynamic.

The Bottom Line

OpenAlice is a serious attempt to give AI agents a trading-native workspace, with a sane architecture (TypeScript monorepo, guardian gate, connector protocol) and honest warnings about maturity. It's not for live funds yet, but for research, scheduling, and agent-driven workflows it's a solid foundation. Use it if you want to experiment with agent-operated trading; skip it if you need production-grade broker execution today.