A locally self-hosted, full-lifecycle AI trading agent covering multi-asset research, Git-like approved execution, and automated monitoring.
Positioning#
OpenAlice is a fully locally self-hosted, full-lifecycle AI trading agent covering the complete trading loop from macro research and data analysis to position building, holding management, and closing. It supports equities, cryptocurrencies, commodities, forex, and macro research.
Core Capabilities#
Trade Execution#
- UTA (Unified Trading Account): Consolidates Alpaca, IBKR, and CCXT crypto exchanges into a unified workspace. AI interacts only with UTA, achieving full decoupling from underlying brokers.
- Trading-as-Git (TaG): Orders go through an explicit approval flow of staging → committing → pushing. After execution, an 8-character commit hash is generated, supporting
git log/git show-style full history replay. - Guard Pipeline: Pre-execution safety checks (max position, cooldown, ticker whitelist) with per-account configuration, acting as a "trading ESLint".
- Account Snapshots: Periodic and event-driven account state snapshots with equity curve visualization.
Research & Analysis#
- Market Data: Based on a TypeScript-native OpenBB engine (TypeBB), covering equities, crypto, commodities, currencies, and macro data with unified cross-asset symbol search and technical indicator calculator.
- Fundamental Research: Company overview, financial statements, ratios, analyst estimates, earnings calendar, insider trading, market movers (currently deepest for equities, expanding to other asset classes).
- News: Background RSS collection + archived search.
Automation & Monitoring#
- Event Log: Append-only typed event log as the core, all system activities flow in with real-time subscription support.
- Cron Scheduling: Supports cron expressions / intervals / one-off timestamps, AI processes events and replies to the user's last-used channel.
- Heartbeat: Periodically reviews market conditions, proactively notifies users only when necessary (overnight position monitoring, macro events), stays silent otherwise.
Interaction & Interfaces#
- Web UI: SSE streaming chat, sub-channels, portfolio dashboard with equity curves, full configuration management.
- Telegram: Mobile trading panel.
- MCP Server: Exposes tools for external agents.
AI & Memory#
- Multi-provider AI: Supports Claude (Agent SDK, OAuth or API Key) or Vercel AI SDK (Anthropic / OpenAI / Google), switchable at runtime.
- Brain: Cross-conversation persistent memory + sentiment tracking.
- Evolution Mode: Elevated permissions giving Alice full project access (including Bash), enabling self-modification.
Architecture#
The project uses a strict four-layer architecture where each layer communicates only with its adjacent layers:
- Interface Layer: External surface (Web UI / Telegram / MCP), ConnectorCenter tracks the user's last-used channel.
- Core Layer: AgentCenter routes all AI calls to ProviderRouter; ToolCenter serves as shared registry; EventLog acts as central event bus.
- Domain Layer: Core business logic including UTA, Market Data, Analysis, News, Brain — modules expose themselves to AI via tool registration.
- Automation Layer: Listeners on the EventLog bus, including Cron scheduler and Heartbeat.
Engineering uses pnpm monorepo + Turborepo for build orchestration, vitest for testing. IBKR integration goes through TWS/Gateway, with IbkrBroker bridging callback-based SDK to Promise-based interface.
Configuration#
All configuration resides in data/config/ directory using JSON format with Zod validation, falling back to defaults for missing files, editable via Web UI or manually. Covers engine, agent, ai-provider, accounts, connectors, telegram, tools, market-data, news, snapshot, compaction, and heartbeat config files. Persona and Heartbeat prompts use a default (Git-tracked) + user override (Git-ignored) pattern.
Deployment Requirements#
- Node.js 22+, pnpm 10+, Claude Code CLI installed and authenticated
- Defaults to local Claude Code login (requires Claude Pro/Max subscription), no extra API Key configuration needed
- Access via
localhost:3002after startup
Unconfirmed Items#
- No formal academic paper found to date
- No specific timeline for v1 official release
- Webhooks feature marked as planned with no ETA
- Depth of fundamental research coverage for non-US asset classes
- Whether TypeBB is a standalone project (appears to be a custom wrapper, no independent repo link)