Skip to content

Releases: TraderAlice/OpenAlice

v0.10.0-beta.5

13 May 09:58
b6706b0

Choose a tag to compare

v0.10.0-beta.5 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

📚 Documentation

  • TODO: Flag profile + AI Provider model needs structural rethink

🔧 Refactoring

  • workspaces: Drop global-config inheritance, wire MCP per-spawn

🚀 Features

  • workspaces: Per-workspace AI provider config via CLI-native files
  • workspaces/ui: Add ⚙ AI Provider button to sidebar workspace row
  • workspaces/ui: Readable tab titles + sidebar truncate + SDK icons
  • workspaces: Overview dashboard with card-based status view
  • workspaces: Group Overview dashboard by template type
  • chat: Two-section sidebar — workspace chat (recommended) + traditional
  • chat: Chat sidebar UX — default tag, collapsible groups, visual parity

v0.10.0-beta.4

12 May 12:12
82dd759

Choose a tag to compare

v0.10.0-beta.4 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🚀 Features

  • workspaces/auto-quant: Zero-config via public mirror + per-workspace isolated data

v0.10.0-beta.3

12 May 11:32
5cac665

Choose a tag to compare

v0.10.0-beta.3 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • cron: Prune orphan snapshot / heartbeat via migration 0004
  • workspaces/codex: Translate streamable-http MCP entries to codex flags

📚 Documentation

  • todo: Track MCP-out-of-connectors refactor
  • todo: Close MCP-out-of-connectors entry (done in 6188fd9)

🔧 Refactoring

  • config: Extract MCP server out of connectors into top-level

🚀 Features

  • workspaces: Add VS Code-style Workspaces activity
  • workspaces/chat: Write Alice persona into CLAUDE.md + AGENTS.md

v0.10.0-beta.2

12 May 08:18
2e6e9b7

Choose a tag to compare

v0.10.0-beta.2 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • ui/diary: Newest-first ordering — diary is a feed, not a chat
  • broker/ccxt: Refuse partial market load on init
  • trading: NetLiquidation aggregation correctly subtracts short marketValue
  • ui/tabs: Crypto.randomUUID fallback for non-secure contexts
  • tool/trading: Tolerate empty string in positiveNumeric

🔧 Refactoring

  • ui/sidebar: Move Diary from ActivityBar into Chat sidebar
  • task: Migrate heartbeat / cron / task-router to AgentWorkRunner
  • task: Migrate heartbeat/cron to AgentWork emitters; collapse per-source events into canonical; delete task-router
  • snapshot: Scheduler driven by Pump instead of cron-engine
  • heartbeat: Migrate to Pump; remove isInternalJob filter; orphan cron cleanup

🚀 Features

  • core: AgentWork primitive + ProviderResult.toolCalls plumbing
  • tool: Add notify_user — intent signal for autonomous notifications
  • core: Add canonical agent.work.* events for AgentWork dispatch
  • core: Agent-work-listener with source registry + 17 tests
  • core: Extract parseDuration to src/core/duration.ts
  • core: Pump primitive — interval-scheduled callback

v0.10.0-beta.1

09 May 08:29
8ce0e6c

Choose a tag to compare

v0.10.0-beta.1 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

Rename

  • ui: /trade → /trading-as-git for semantic clarity

Revert

  • ui: Drop react-resizable-panels — caused initial-load layout flash
  • ccxt: Drop canonical localSymbol; wire format is broker-native identity

⚡ Performance

  • ui: Bypass React during sidebar drag — update DOM width directly

🐛 Bug Fixes

  • test: Uta-lifecycle e2e — string vs number assertions
  • brokers/longbridge: Live mark price + options/warrants multiplier
  • ui/chat: Scope auto-scroll to container, not scrollIntoView
  • trading: Rebuild spot avgCost from fill history with markPrice bootstrap
  • trading: ReconcileBalance fields must be string, not Decimal
  • ui/tabs: Hide tab-strip scrollbar, add wheel→horizontal scroll
  • ui/chat-sidebar: Notifications row reads as button, not header
  • ui/simulator: Mark-price input refreshes after Set/Tick actions
  • mock: Unify position-map key — getNativeKey everywhere
  • mock: 3 multi-asset bugs surfaced via simulator QA pass
  • ui: Portfolio position pill mirrors canonical SecType
  • mock: Allow externalTrade SELL to open short positions
  • uta: Wallet bootstrap respects broker-reported avgCost
  • market-data: Repair FRED end-to-end + add market-data e2e harness
  • ui: MarketDataPage hints — drop unimplemented providers, refresh dead URLs
  • eia: Repair credential prefix + sort syntax + value coercion
  • version: Hit /releases (not /releases/latest) so prerelease tags surface

📚 Documentation

  • readme: Rework header badges, add community + getting help
  • claude: Branch convention for invasive refactors
  • claude: Drop worktree convention; point parallel work at cloud
  • todo: Cost-basis bootstrap overwrites broker avgCost
  • todo: Drop cost-basis bootstrap entry — fixed in ab51371
  • todo: IBKR getNativeKey may collide on option-chain fanout

🔧 Refactoring

  • trading: Narrow all UTA monetary fields to string
  • trading/tool: Tighten positiveNumeric to string-only
  • ui: Sidebar styling pass + drop misleading SSE indicator
  • web: Downgrade default channel — editable, no longer privileged
  • ui: Section abstraction + dialog-driven channel CRUD + panel scaffolding
  • ui: Align with VS Code structure — ActivityBar / Sidebar / approval-in-sidebar
  • ui: Nest settings sub-routes under /settings/*
  • ui: Chat moves to explicit /chat route (was at root /)
  • ui/sidebar: Extract SidebarRow, full-color text + active accent bar
  • ui/automation: Hoist sub-tabs into the sidebar
  • ui/logs: EventLogSection switches from SSE to 3s polling
  • Connectors/web split — webui/ owns the UI server, connectors/web/ keeps the chat connector
  • trading: Extract one-shot order pipeline into domain
  • notifications: Drop SSE stream, switch to 20s polling
  • ui: Move simulator account creation into Dev → Simulator tab
  • ui/simulator: Two-column layout + PnL column, drop Chinese strings
  • trading: Phase 1 — type discipline + shared position math
  • trading: Phase 2 — broker output funnels through buildContract / buildPosition
  • trading: Phase 3 — drain CCXT wire format from canonical Contract
  • trading: Phase 4 — strict SecType union + full IBKR taxonomy

🚀 Features

  • uta: Detail page at /uta/:id + UTA-naming pass top-to-bottom
  • uta: Manual order entry from frontend
  • brokers/others: LeverUp Monad perp DEX adapter via OCT relayer
  • brokers/longbridge: Longbridge OpenAPI multi-region adapter
  • trading: Broker preset wizard — Recommended vs Crypto sections
  • ui: VS Code-style activity bar + secondary sidebar
  • ui: URL-routed Dev tabs + absorb Logs as Dev sub-page
  • ui: Wrap ChatPage in PanelGroup (v2, no app-level wrap)
  • ui: Trading as its own ActivityBar item — separate activity from Chat
  • ui: Drag-to-resize Sidebar + reusable Resizer primitive
  • ui: Swap hand-rolled Sidebar resize for react-resizable-panels v4
  • ui: Persist resizable panel layout to localStorage
  • trading: Split CRYPTO secType into CRYPTO + CRYPTO_PERP
  • ui/tabs: Workspace store foundation (zustand + types)
  • ui/tabs: Replace Routes with TabHost — phase 1 shell switchover
  • ui/chat: Drop SSE push channel, add disconnect-resume polling
  • ui/tabs: Phase 2 — decouple ActivityBar from tabs, add sidebars
  • ui/tabs: Per-activity ActivityBar behavior + Portfolio sidebar
  • ui/live: Introduce LiveStore abstraction, migrate useAccountHealth
  • core: Notifications store as canonical record; per-connector surfacing
  • ui/notifications: Notification center sidebar + LiveStore
  • ui: Notifications inbox tab + chat-sidebar entry with unread badge
  • ui/chat: Confirm dialog before deleting a channel
  • trading: MockBroker simulator console — manual撮合 + DevPage tab
  • trading: Derive UTA id from broker identity, drop user-typed ids
  • ui/simulator: Tab strip + sticky action panel + event log + keyboard
  • ui/tabs: Right-click context menu — close others / right / left / all + copy URL
  • simulator: Support OPT / FOP / FUT / STK / CASH / BOND alongside CRYPTO
  • uta: Ephemeral test UTA lifecycle (boot purge + manual destroy)
  • tool: Expose FRED via three economy tools (search/series/regional)
  • tool: Expose EIA energy outlook + petroleum status as economy tools
  • tool: Expose BLS search + series as economy tools, fix NaN sneak-through
  • opentypebb: Classify network-unreachable errors for AI tool callers
  • ui/uta: Redesign Trading list + UTA detail with live data, NAV chart, grouped positions, snapshot timeline
  • ui: Cross-cutting design polish — typography scale, lucide icons, PnL color discipline, live-pulse indicator, Portfolio polish
  • migration: Introduce versioned migration framework + extract AI credentials as 0002
  • ai-providers: Preset-driven SDK adapter selection for test path
  • ai-provider page: Credentials + SDKs two-region layout with bidirectional highlight
  • version: GitHub Releases update detection + banner UI

v0.10.0-beta.0

29 Apr 03:18
90037d8

Choose a tag to compare

v0.10.0-beta.0 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • market: Unshrink financial statements + persist K-line view in URL
  • market: Align panel field keys with opentypebb canonical schema
  • opentypebb: Alias FMP equity quote yearHigh/yearLow/marketCap
  • market-data: Hot-reload provider + credentials when config changes
  • opentypebb: Align yfinance fundamentals fields to canonical schema
  • market: Yfinance market cap alias + tolerate ratios 500
  • opentypebb: Alias yfinance quote change / change_percent / last_timestamp
  • market: Rename KlinePanel setInterval setter to avoid shadowing
  • config: Auto-migrate legacy accounts.json instead of crashing

📚 Documentation

  • Event system guide + CLAUDE.md subsystem pointer
  • claude.md: Rolling dev→master PR convention for multi-session work

🔧 Refactoring

  • market: Drop bid/ask from QuoteHeader
  • market: Instant multi-line tooltip on Card info icon
  • connectors: Single shared message producer on ConnectorCenter
  • market: Sort tradeable contracts by familiarity, not broker order
  • market: Collapse tradeable contracts beyond the first 3
  • news: Harden write path + retire v1 getNews
  • opentypebb/fmp: Split degradation logs from real errors
  • trading: Preset-based UTA config (BREAKING)

🚀 Features

  • market: Per-asset-class detail routes with equity pilot
  • market: Per-card data source hint + partial metrics tolerance
  • market: Auto-refresh price-sensitive panels on a timer
  • chat: Infinite-scroll-up history pagination
  • ai-providers: Add DeepSeek preset (V4 Pro default)
  • trading: Broker-side contract search domain helper + HTTP route
  • market: TradeableContractsPanel — bridge analysis to UTA
  • trading: Centralized broker-search normalization rules
  • market: Pass assetClass through TradeableContractsPanel
  • brokers: Shared fuzzy ranker + optional catalog refresh
  • brokers: EnumeratingCatalog for Alpaca + CCXT, 6h refresh cron
  • brokers/ccxt: Synthesize spot holdings into Position records
  • trading/wizard: Multi-step new-account flow with explicit test

🧪 Testing

  • e2e: OKX broker — covers spot synthesis end-to-end

v0.9.0-beta.13

21 Apr 01:41
0fd44ba

Choose a tag to compare

v0.9.0-beta.13 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🎨 UI

  • flow: Hide dead-side event nodes

🐛 Bug Fixes

  • CommodityClient used equity provider instead of commodity provider
  • Clarify tool description — SMA/RSI return scalar, no [-1]
  • Eliminate floating-point precision artifacts in trading monetary fields
  • Align equity() API return type with Decimal string fields
  • Use ReactNode instead of global JSX.Element in DiaryPage
  • Avoid ENOENT race in cron engine save() on concurrent writes
  • ui: Unstick chat scroll during streaming + Push panel precision
  • market: Client-side timeframe zoom + provider badge on K-line
  • opentypebb: FMP date range + error-log safety in amakeRequest
  • market-search: Rank by match quality instead of asset-class order

📚 Documentation

  • Rewrite README intro and restructure features
  • Restructure Architecture section, reorder Key Concepts below it
  • Clean up Quick Start, move project structure to docs/
  • Redesign README hero with centered logo and tagline
  • Log three open bugs in TODO.md
  • ai-providers: Note why Kimi uses agent-sdk despite Moonshot pushing OpenAI-compat

🔧 Refactoring

  • Reorganize Events/Heartbeat/AgentStatus into Scheduler+Logs
  • Unify tab bar style, merge Tools into Settings, rename to Automation
  • Split News into feed terminal + collector config
  • Rename Activity → Diary and redesign as card-based feed
  • Remove trigger event + trigger-router
  • agent-sdk: Classify auth errors to quiet user-fixable misconfig
  • brain: Drop emotion dimension, constrain frontal lobe to self-referring notes
  • trading: Migrate Order price fields to Decimal end-to-end
  • market-data: Merge opentypebb HTTP routes into web plugin
  • ui: Stop onScroll from mutating chat scroll lock

🚀 Features

  • Commodity canonical naming + catalog search
  • CalculateIndicator returns dataRange with OHLCV time span
  • Add GET /api/news endpoint + dev watch mode
  • Add news feed view with lookback/source filtering
  • Introduce AgentEvent type system with runtime validation
  • Add Activity page exposing heartbeat session as read-only status feed
  • Default Claude to Opus 4.7 and expose inline model switcher in profile list
  • Introduce ListenerRegistry for unified event subscription lifecycle
  • Open the system — webhook ingest + TriggerListener + causedBy
  • Constrained emitter + topology endpoint + Flow visualization
  • Unified subscribes/emits grammar + typed webhook ingest
  • Event system maturation — metadata + fire() + wildcard aura + metrics
  • Producer concept — pure event sources in the listener registry
  • Task-router listener + task.requested external event
  • Webhook sub-tab on /automation — docs + try-it for event ingestion
  • security: Bearer-token auth on /api/events/ingest
  • news: Curated feed menu + per-feed enable/description
  • ai-providers: Add GLM (Zhipu) preset via Anthropic-compatible endpoint
  • ai-providers: Region-aware endpoint picker + Kimi preset
  • diary: Add Brain sidebar showing frontal lobe + emotion state
  • market: Symbol search + K-line page, provider resolution from config
  • market: Interval selector + labeled button groups on K-line
  • ai-providers: Bump Kimi default to K2.6
  • ui: Test buttons on existing AI provider profiles
  • agent-sdk: Observability — result metadata, opt-in debug, notes doc

🧪 Testing

  • Add analysis tool e2e tests across equity/crypto/commodity

v0.9.0-beta.12

11 Apr 15:13
578b0d1

Choose a tag to compare

v0.9.0-beta.12 Pre-release
Pre-release

Changelog

All notable changes to Open Alice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • Hyperliquid market loading + e2e support for wallet-based CCXT
  • Hyperliquid market orders via placeOrder override

🔧 Refactoring

  • Ccxt override hooks accept defaultImpl + fix hyperliquid markPrice

v0.9.0-beta.11

10 Apr 09:29
da4d5f2

Choose a tag to compare

v0.9.0-beta.11 Pre-release
Pre-release

Changelog

All notable changes to Open Alice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • Initialize select fields with first option when no default is set

🚀 Features

  • Snapshot management in Dev page + CLAUDE.md verification rules
  • Dynamic CCXT credentials + single-page New Account wizard

v0.9.0-beta.10

09 Apr 09:40
f17659b

Choose a tag to compare

v0.9.0-beta.10 Pre-release
Pre-release

Changelog

All notable changes to Open Alice will be documented in this file.

[Unreleased]

Build

  • Add Turborepo for workspace build orchestration

🐛 Bug Fixes

  • FMP provider schema fixes + add EquitySearch fetcher
  • Restore lastInteraction on startup + readSession filter + ISO timestamps
  • Telegram auth guard hot-reload chatIds + fix misleading comment
  • Persona & heartbeat default file auto-copy + UI editing
  • Remove stale createAgent re-export + fix spec type errors
  • Resolve remaining tsc errors in bbProvider specs and MockBroker
  • Add codex provider support to channels CRUD endpoints
  • Improve codex provider error logging with request details
  • Add store:false and array input for Codex subscription endpoint
  • Use output_item.done for function call_id instead of arguments.done
  • MiniMax preset uses agent-sdk backend, not vercel-ai-sdk
  • Schema form initialization + remove Custom option from presets
  • Require explicit model selection for OAuth presets
  • Wait for connection test before closing create modal
  • Remove slash from Codex preset name + encode profile slugs in URLs
  • Codex ask() uses streaming — subscription endpoint rejects non-streaming
  • Test and save are separate user actions
  • Force API key mode with CLAUDE_CODE_SIMPLE=1 to disable OAuth fallback
  • Agent-sdk ask() throws on error instead of returning error as text

📚 Documentation

  • Update README badges and project structure

🔧 Refactoring

  • Type all market-data clients with openTypeBB standard models
  • Test-provider uses SDK instead of HTTP + add bbEngine to ctx
  • Reorganize MarketData config page + add commodity
  • Replace ToolLoopAgent with direct generateText calls
  • Replace flat AI config with profile-based system
  • Codex provider uses structured input instead of text history
  • Schema-driven preset forms via JSON Schema
  • Replace label with name as profile identifier
  • Split preset catalog + useSchemaForm hook + profile preset link

🚀 Features

  • Register ETF, Index, Derivatives SDK clients
  • Add commodity to calculateIndicator + fix test isolation
  • Add FMP CommoditySpotPrice fetcher
  • Add session awareness tools + connector context injection
  • Dev page tab layout + tool execution workbench
  • Telegram magic link onboarding for chat authorization
  • Telegram /trading panel with multi-account support
  • Hot-reload persona and brain state in system prompt
  • Add Codex AI provider — OpenAI models via ChatGPT subscription OAuth
  • Codex provider UI + dual auth mode (OAuth / API key)
  • Rewrite frontend for profile-based AI config
  • Preset system for guided profile creation + OAuth model fix
  • Modal-based profile UI + remove global API keys
  • Currency-aware UTA with FxService dual-table architecture
  • Profile creation UX — name lockdown, duplicate check, connection test
  • Ask() accepts profile parameter + test before save
  • Currency-aware portfolio UI + FX rates sidebar

🧪 Testing

  • Add bbProvider integration test framework + yfinance tests
  • Add FMP bbProvider integration tests (33 fetchers)
  • Add Codex provider e2e tests
  • Add IBKR currency tracking e2e tests