Skip to content

Changelog

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

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.5.0-alpha.1 - 2026-04-20

Breaking: Migrated to zeroclaw 0.7.3 config schema v2. Users must run zeroclaw config migrate after upgrading the CLI.

Changed

  • GeneralSection rewritten for schema v2: provider/model/temperature now read/write [providers.fallback] + [providers.models.<name>] instead of top-level default_provider/default_model/default_temperature
  • api_key field removed — hard parse error in 0.7.3. Use env vars (ANTHROPIC_API_KEY etc.) or configure via CLI
  • channels_config → channels — config key renamed across all channel-related code (10 files)
  • model_routes/embedding_routes moved from top-level into [providers]
  • ProviderLimitsSection + ModelProvidersSection removed — fields merged into per-provider config
  • Migration banner shown when config uses old format (schema_version < 2)

Added

  • LINE channel — channel_access_token, channel_secret, webhook_port with user allowlist (30 total channels)
  • observability.otel_headers — HTTP headers for OTLP export
  • sync-zeroclaw-docs skill — project-specific skill for updating docs when a new CLI version is released
  • Daily scheduled trigger — remote agent checks for zeroclaw updates daily at 6am Pacific, auto-syncs docs and files GitHub issues

Testing

  • 1,690 unit tests across 141 files
  • All config read/write tests updated for schema v2 format

0.4.4-alpha.1 - 2026-04-15

Added

  • zeroclaw version check + one-click update — Dashboard shows a teal badge when a newer CLI version is available (fetches GitHub releases API). General settings has a full version panel: installed vs latest version, install method (Homebrew/installer), Check Now button, and Update button that runs brew upgrade zeroclaw or the curl installer automatically.
  • 14 new unit tests for version check backend
  • 4 new functional E2E tests for version check UI

Fixed

  • Eliminated 7 skipped E2E tests: skills test ordering, mission create- before-CRUD, memory pagination resilience
  • Removed SOP page from UI (CLI 0.6.9 doesn't support sop subcommand)
  • SaveBar: filter benign zeroclaw runtime warnings from save validation

0.4.3-alpha.1 - 2026-04-13

Complete E2E test suite rewrite — every test now performs real CRUD operations and verifies actual outcomes. No more visibility-only checks.

Changed

  • Rewrote entire functional E2E suite from 203 shallow tests (32.5% functional) to 95 real CRUD tests (100% functional). Every test: interacts with a field → verifies the outcome → confirms persistence.
  • Dashboard (15 tests): daemon lifecycle with badge verification, doctor/channel doctor with output + clipboard, traces/validation/ self-test with loading states, logs search/clear/copy with count verification
  • Chat (5 tests): full send→thinking→response→clear lifecycle, keyboard shortcuts, daemon banner, override panel
  • Agent (17 tests): edit→save→persist→discard for all 7 sub-pages, heartbeat task CRUD, tools + notes CRUD, built-in protection
  • Skills (7 tests): remove with cancel/confirm/verify-gone, test execution with result panel, install from URL, marketplace search/ filter/install/audit
  • Missions (4 tests): create with LLM analysis, detail navigation, pause/resume lifecycle, remove
  • Settings (52 tests): save/reload persistence for 36 sections in 4 batches, channels CRUD, schema viewer, save bar lifecycle, grouped nav, General/Security/Gateway with field-level persistence
  • Memory (5 tests): category filter with count, entry expand/collapse, pagination with key verification, clear with confirmation, refresh
  • SOP (2 tests): expand/collapse + validate with result
  • Hardware (3 tests): discovery scan, add peripheral dialog, flash dialog

Fixed

  • Settings SaveBar: filter benign zeroclaw 0.6.9 runtime warnings ("Unknown config key ignored: api_key") from save validation output
  • Navigation helper: exact text matching prevents substring collisions (e.g. "Security" no longer matches "Security Ops")

Testing

  • 87 functional E2E tests pass, 8 skip (expected: pagination, SOP validate, LLM-dependent, empty data states)
  • 1,675 unit tests across 140 files
  • 43 mocked E2E tests pass

0.4.2-alpha.2 - 2026-04-10

Patch release closing the final 4 coverage gaps for verified 100% zeroclaw 0.6.9 config schema parity.

Added

  • Claude Code Runner section (enabled, session_ttl, ssh_host, tmux_prefix)
  • CLI channel entry (enable/disable toggle)
  • api_path field added to Provider Limits section
  • cron.enabled, cron.catch_up_on_startup, cron.max_run_history fields added to Scheduler section

Verified

  • 80/80 config keys covered (100%)
  • 29/29 channels covered (100%)
  • 1,675 unit tests across 140 files
  • E2E tests updated for grouped navigation

Fixed

  • Settings E2E tests updated for grouped collapsible navigation (was expecting flat 28-item list)

0.4.2-alpha.1 - 2026-04-10

Tier 3 feature release — 24 new advanced settings sections completing full zeroclaw 0.6.9 config schema feature parity.

Added

New Settings Sections (24)

Orchestration & Multi-agent:

  • Swarms, Delegate, Pipeline, Nodes, Node Transport

Plugins & Knowledge:

  • Plugins, Knowledge, Project Intel

Media & AI Tools:

  • Link Enricher, Image Gen, TTS, Transcription, Media Pipeline, Conversational AI

Browser:

  • Browser Delegate, Text Browser

Security & Operations:

  • Trust (scoring), Verifiable Intent, Security Ops, Cloud Ops

Infrastructure:

  • Backup, Data Retention, Workspace, SOP Config

Testing

  • 249 new unit tests (1,654 total across 139 files)
  • Total settings sections: 72
  • Total channels: 28
  • Full zeroclaw 0.6.9 config schema parity achieved

0.4.1-alpha.1 - 2026-04-10

Tier 2 feature release — 10 new integration/provider settings sections, 5 new messaging channels.

Added

New Settings Sections (10)

  • Notion — API key, database ID, input/result/status properties, polling, concurrency
  • Microsoft 365 — Azure AD auth (client credentials/device code), scopes, token cache
  • Jira — Atlassian instance URL, email, API token, allowed actions, timeout
  • LinkedIn — enabled toggle, API version
  • Claude Code — enabled, timeout, output limit, env passthrough, system prompt, allowed tools
  • Gemini CLI — enabled, timeout, output limit, env passthrough
  • Codex CLI — enabled, timeout, output limit, env passthrough
  • OpenCode CLI — enabled, timeout, output limit, env passthrough
  • Provider Limits — provider_max_tokens, provider_timeout_secs, extra_headers (JSON), locale
  • Model Providers — read-only profile list with CLI management note

New Channels (5)

  • WeCom — webhook key with user allowlist
  • MoChat — API token, URL, poll interval
  • ClawdTalk — API key, connection ID, from number, webhook secret
  • Discord History — bot token, guild/channel IDs, DM settings
  • Voice Call — account ID, auth token, from number, webhook, call duration, outbound approval

Testing

  • 118 new unit tests (1,405 total across 115 files)
  • Total channels: 28 (was 23)
  • Total settings sections: 48

0.4.0-alpha.1 - 2026-04-10

Tier 1 feature release — grouped settings navigation, 6 new config sections, 5 new messaging channels, and enhanced existing sections with zeroclaw 0.6.9 nested fields.

Added

Grouped Collapsible Navigation

  • Settings sidebar reorganized from a flat 32-item list into 11 collapsible groups: General, Agent, Providers, Channels, Security, Network, Budget & Observability, Integrations, Storage & Memory, Hardware, Infrastructure
  • Collapse state persisted to localStorage
  • Active section's group auto-expands

New Settings Sections

  • Proxy — HTTP/HTTPS/SOCKS5 proxy with scope (environment/zeroclaw/services), per-scheme URLs, no_proxy bypass, and service selectors
  • MCP — Model Context Protocol server configuration (enabled, deferred loading)
  • Hooks — Lifecycle hooks with builtin command_logger and webhook_audit (enabled, URL, tool patterns)
  • Shell Tool — Shell execution timeout configuration
  • Web Fetch — HTTP fetch tool with domain allow/block lists, private host allowlist, response size limits, Firecrawl fallback integration
  • Channel Defaults — Channel-wide settings (debounce, message timeout, session backend/persistence/TTL, show tool calls, ack reactions)

New Channels (5)

  • Bluesky — AT Protocol (handle + app password)
  • Twitter / X — API v2 bearer token with user allowlist
  • Reddit — OAuth2 bot (client ID/secret, username, refresh token, subreddit)
  • Gmail Push — Pub/Sub topic, OAuth token, webhook, label filter
  • WATI — WhatsApp Business API (API token, URL, tenant ID, number allowlist)

Enhanced Existing Sections

  • GeneralSection: agent.context_compression subsection (enabled, threshold_ratio, max_passes, summary_max_chars, timeout_secs) and context_aware_tools toggle
  • CostSection: cost.enforcement subsection (mode warn/block/route_down, reserve_percent, route_down_model)
  • GatewaySection: idempotency_max_keys, idempotency_ttl_secs, pair_rate_limit_per_minute

Testing

  • 74 new unit tests (1,287 total across 105 files)
  • 6 new E2E tests for Tier 1 sections
  • All field names and defaults verified against zeroclaw 0.6.9 live config schema

0.3.3-alpha.1 - 2026-04-09

Patch release upgrading the supported zeroclaw CLI from 0.6.7 to 0.6.9. Synced upstream docs from the new canonical source (github.com/zeroclaw-labs/zeroclaw), audited the live config schema for breaking changes, and verified the existing Aidis UI works against the new CLI via the functional E2E suite.

Changed

  • zeroclaw CLI: 0.6.7 → 0.6.9. The synced reference docs (config-reference.md, channels-reference.md, providers-reference.md) are byte-identical to 0.6.7, but the live zeroclaw config schema has expanded significantly with new sections and updated defaults. Changes that affect Aidis directly:
  • CostSection: cost.enabled default flipped from falsetrue (matches new upstream default in CostConfig). The Aidis toggle now correctly reflects what zeroclaw will do when the field is unset.

Removed

  • Nostr channel removed from the channel schema (channels/schema.ts). The [channels_config.nostr] section is no longer recognized by zeroclaw 0.6.9 — the runtime emits Unknown config key ignored and silently drops it. Users who had Nostr configured will need to migrate to a supported channel.
  • ChannelDrawer test fixture for Nostr removed; replaced with a regression test asserting Nostr is absent.

Verified

  • All 1,213 unit tests pass against the new schema
  • All 10 Dashboard functional E2E tests pass against the real 0.6.9 CLI
  • Recent default fixes from 0.3.2-alpha.1 still match the 0.6.9 schema (gateway.port=42617, otp.token_ttl_secs=30, autonomy.max_actions_per_hour=20, estop.enabled=false, estop.require_otp_to_resume=true)

Known Gaps

The 0.6.9 live schema introduces ~40 new top-level config sections and ~11 new channels that Aidis does not yet expose. These will be added incrementally in future releases. Tracked in #97.

Notable additions in upstream 0.6.9 (UI not yet built):

  • New top-level sections: mcp, hooks, proxy, workspace, backup, data_retention, model_providers, provider_max_tokens, provider_timeout_secs, text_browser, web_fetch, image_gen, tts, transcription, media_pipeline, swarms, delegate, pipeline, plugins, trust, verifiable_intent, knowledge, project_intel, link_enricher, locale, extra_headers, node_transport, nodes, claude_code, claude_code_runner, gemini_cli, codex_cli, opencode_cli, conversational_ai, cloud_ops, security_ops, shell_tool, browser_delegate, sop, cron (top-level), notion, microsoft365, jira, linkedin
  • New channels: bluesky, clawdtalk, cli, discord_history, gmail_push, mochat, reddit, twitter, voice_call, wati, wecom
  • New nested fields on existing sections: cost.enforcement, cost.prices, gateway.idempotency_*, gateway.pair_rate_limit_per_minute, agent.context_compression, agent.eval, agent.context_aware_tools, agent.auto_classify, channels-wide settings (debounce_ms, session_backend, session_persistence, session_ttl_hours, show_tool_calls, ack_reactions)

New CLI Commands (not yet wrapped in Aidis IPC)

  • zeroclaw props list/get/set/init — manage individual config properties via dotted paths. Aidis already provides this functionality through its visual config editor; the CLI command is an alternative for scripting.

0.3.2-alpha.1 - 2026-04-09

Large alpha release covering a full config/UI audit against zeroclaw 0.6.7 docs, a comprehensive functional E2E test suite, new branding, repo restructuring for private/public split, and relicensing to PolyForm Noncommercial.

Added

E2E Test Framework

  • 154 functional E2E tests across 33 spec files covering every page in the app (Dashboard, Chat, Agent sub-pages, Skills, Missions, Settings, Memory, SOP, Hardware)
  • Tests run against the real Electron app with the real zeroclaw CLI
  • New npm run test:e2e:functional script for the real-CLI suite
  • Triage helper (e2e/helpers/triage.ts) for filing GitHub issues on failures
  • 44 new unit tests for the Pacing, Reliability, Hardware, and Google Workspace sections

Settings Sections

  • Pacing — step_timeout_secs, loop_detection_min_elapsed_secs, loop_ignore_tools, message_timeout_scale_max
  • Reliability — fallback_providers, api_keys, provider_retries, backoff tuning, scheduler settings
  • Hardware — enabled, transport, serial_port, baud_rate, probe_target, workspace_datasheets
  • Google Workspace — enabled, credentials_path, default_account, allowed_services, rate limits

Branding & Icons

  • D3 Vitamin app icon (deep teal background, cream "Ai" symbol, golden "AIDIS" label)
  • Generated .icns (macOS), .png (Linux), and all tray icon variants
  • macOS dock icon via app.dock.setIcon() for dev mode
  • BrowserWindow icon property for Linux/Windows taskbar
  • App name set to "Aidis" via app.setName() for the OS menu bar and dock tooltip

Team Enforcement Hooks

  • .claude/hooks/check-docs-before-edit.sh — injects documentation reminders when editing source files mapped by path
  • .claude/hooks/protect-sensitive-files.sh — blocks edits to .env, credentials, and key material
  • .claude/hooks/validate-channel-schema.sh — enforces cross-referencing channels docs when editing channels/schema.ts

Release Infrastructure

  • Public release repo at nicholasbester/aidis-releases
  • Release workflow now publishes binaries cross-repo via RELEASE_TOKEN secret
  • Site deployment moved to aidis-releases gh-pages with CNAME for aidis.ai

Changed

Config Audit (against zeroclaw 0.6.7 docs)

  • Default values fixed (8): gateway.port 3000→42617, security.otp.token_ttl_secs 300→30, security.estop.enabled true→false, security.estop.require_otp_to_resume false→true, cost.monthly_limit_usd 500→100, autonomy.max_actions_per_hour 100→20, autonomy.max_cost_per_day_cents 1000→500, agents.agentic default true→false
  • Enum options fixed (4): security.otp.method (hotp/email → pairing/cli-prompt), observability.backend (added noop/log/opentelemetry/otlp), skills.prompt_injection_mode (off/minimal/verbose → full/compact)
  • Missing fields added (25+): agent.tool_dispatcher, agent.tool_call_dedup_exempt, security.otp.cache_valid_secs, security.otp.gated_domains, security.otp.gated_domain_categories, security.estop.state_file, gateway.path_prefix, browser.session_name, browser.native_webdriver_url, browser.native_chrome_path, browser.computer_use.* fields, autonomy.allowed_roots, cost.allow_override, observability.runtime_trace_path, observability.runtime_trace_max_entries, agents.timeout_secs, agents.agentic_timeout_secs, agents.skills_directory, and others
  • Channel schema gaps closed (8): Telegram streaming fields, Discord streaming fields, Slack channel_ids, Matrix streaming fields, WhatsApp Web mode (session_path, pair_phone, pair_code, mention_only, interrupt_on_new_message), Lark mention_only, Feishu encrypt_key/verification_token, Nextcloud Talk bot_name

Repo Restructure

  • Source repo renamed: nicholasbester/zeroclaw-uinicholasbester/aidis (private)
  • Releases now publish to nicholasbester/aidis-releases (public)
  • Site GitHub link moved from private source repo to public release repo
  • Setup guide replaces "git clone" instructions with direct binary download links

Site & Branding Copy

  • Announcement banner: corrected false claims about the ZeroClaw CLI being made private
  • README, CONTRIBUTING, site footer: updated rebrand language
  • Mobile-responsive hero: stacks text above image on screens ≤960px, full-width responsive image, smaller logo on ≤640px
  • Hero image maintains natural aspect ratio (was getting squished into VitePress's fixed-square container)
  • Dark/light image variant toggle preserved (was showing both variants simultaneously after the aspect-ratio fix)
  • Mobile hamburger menu now shows nav items (background blur was cascading from .VPNav to .VPNavScreen)
  • README fully refreshed with current feature list, 32 settings sections, E2E test counts, project structure

License

  • Relicensed from BSL-1.1 → PolyForm Noncommercial 1.0.0 — free for personal, hobby, research, educational, and non-profit use. Commercial use requires a separate license from the copyright holder. Enables dual-licensing for future commercialization.

Fixed

UI Bugs

  • Dashboard: show Start Daemon button when daemon state is unknown (was rendering nothing when daemonRunning === null)

CI Pipeline

  • Resolved all pre-existing TypeScript errors: MCP SDK 1.26 zod schema migration (12 tool definitions converted), missions.ts type parameter, logs test mock casts, marketplace test mock cast, cli.ts ExecFileException.code, tsconfig.web.json cross-project imports, asset module declarations, Vitest matcher types
  • E2E tests now pass --no-sandbox --disable-setuid-sandbox on Linux/CI (fixes "Process failed to launch" caused by chrome-sandbox not being setuid root on GitHub Actions runners — this was the root cause of all CI E2E failures)
  • E2E fixture teardown uses app.exit(0) instead of app.quit() to bypass beforeunload handlers when config is dirty
  • Coverage thresholds adjusted to match current test coverage

Infrastructure

  • Added electron-builder as a devDependency
  • dist-electron/ added to .gitignore
  • Source SVGs for icons kept in resources/ for future edits
  • PolyForm Noncommercial 1.0.0 LICENSE copied to aidis-releases for public visibility

Known Issues

  • Homebrew now ships zeroclaw 0.6.9 (bottled) but the GitLab source-of-truth tags remain on v0.6.7. Our documentation references and config audit stay on 0.6.7 until upstream GitLab catches up. Tracked in #95.

0.3.1-alpha.1 - 2026-04-01

Patch release fixing 13 config field mismatches found during QA testing.

Fixed

  • IdentitySettings: use format/aieos fields instead of fabricated name/description
  • ObservabilitySection: backend, otel_endpoint, runtime_trace_mode (5 wrong fields replaced)
  • RuntimeSection: kind, reasoning_effort (removed streaming/max_tokens/timeout)
  • SecretsSection: encrypt only (removed 5 fabricated vault fields)
  • TunnelSection: nested provider-specific configs (ngrok/cloudflare/tailscale)
  • WebSearchSection: brave_api_key, searxng_instance_url (removed generic api_key/safe_search)
  • HeartbeatSection: interval_minutes not interval_secs
  • Mission analysis: use zeroclaw CLI instead of direct API calls (fixes encrypted key 401)
  • JSON extraction: brace-matching fallback for CLI response parsing
  • CI workflow: --legacy-peer-deps and xvfb-run for E2E

0.3.0-alpha.1 - 2026-03-31

Third alpha release — upgraded to zeroclaw 0.6.7 with full QA pass, config corrections, and new features for memory, auth, gateway, and diagnostics.

Added

New Pages

  • Memory management page: list, get, stats, clear with category/session filtering and pagination
  • SOP page with graceful "not available" fallback for CLI versions without SOP support

New Settings Sections (28 total)

  • Authentication: manage provider auth profiles (list, status, logout)
  • Triggers: webhook endpoints, rate limiting, MQTT broker configuration
  • Query Routing: classification rules with hint/keywords/priority
  • Sub-Agents: delegation configuration with provider/model/tools per agent
  • Skills Config: open-skills toggle, directory, prompt injection mode
  • Composio: OAuth tool integration
  • HTTP Requests: domain allowlist, size limits, timeout
  • Peripherals: board configuration with transport/path/baud
  • Security: OTP, E-Stop, sandbox, resource limits (corrected field names)

zeroclaw 0.6.7 Integration

  • E-Stop: engage/status/resume with confirmation dialog and sidebar button
  • Diagnostics tab: doctor traces, model validation, self-test (quick/full)
  • Metrics dashboard widget
  • Service logs tailing with line count selector
  • Skills test runner and config schema viewer
  • Gateway management: restart, get/generate pairing codes
  • Agent --peripheral flag for hardware attachment in chat
  • CLI update check in General settings

Error Handling & UX

  • React Error Boundary wrapping entire app
  • Global error handlers in main and renderer processes
  • Focus management on route changes
  • Improved empty states for skills and missions pages
  • Onboarding: channel skip guidance, "What's next?" section

Testing & Quality

  • 1,180+ unit tests (up from 849)
  • Tests for all 28 settings sections
  • Tests for TagInput, ConfirmDialog, DiagnosticsTab, MemoryPage, AuthSection
  • Sidebar collapse persistence tests

Performance & Security

  • React.memo on BudgetWidget, MetricsWidget, DiagnosticsTab, EstopButton
  • CSP headers refined: img-src, font-src, connect-src
  • Context menu disabled in production
  • webSecurity explicitly set

Fixed

  • Settings crash: removed useBlocker (requires data router, incompatible with HashRouter)
  • ANSI escape codes: stripped globally from all CLI output in runCommand()
  • Config field mismatches: SecuritySection (sandbox, resources), CostSection (USD not cents), BrowserSection (native_headless), StorageSection (provider) — all corrected to match 0.6.7 schema
  • Channel start: fixed to no-args call (0.6.7 starts ALL channels)
  • E-Stop disabled state: shows "Disabled" instead of error when not enabled in config

Changed

  • Upgraded zeroclaw CLI requirement from 0.1.0 to 0.6.7
  • Channel types expanded to 19 (added Nextcloud Talk, Linq, Nostr, MQTT, Feishu)
  • Chat overrides panel: added peripheral selector

0.2.0-alpha.1 - 2026-03-15

Second alpha release with major new features, security hardening, developer tooling, and expanded platform integration.

Added

Missions

  • Mission CRUD with JSON persistence
  • LLM-powered mission analysis with contribution planning
  • Workspace contribution applier with marker tracking
  • Mission detail page with overview and configuration tabs

Settings (19 sections, +3 new)

  • Heartbeat section: interval and timeout configuration
  • Tunnel section: provider, auth token, subdomain
  • Service section: OS service install/start/stop/uninstall management
  • Config export and import with security warnings
  • Unsaved changes warning dialog on navigation
  • Input validation for host, port, model ID, and required fields
  • Confirmation dialogs for destructive actions

Dashboard

  • Budget tracking tab with daily/monthly cost visualization
  • Daemon status banner in chat with start button

Hardware

  • Hardware discovery page with USB device scanning
  • Peripheral listing and management

System Integration

  • zeroclaw:// deep link protocol with path traversal protection
  • OS-level system notifications for background events
  • Auto-update mechanism via electron-updater (GitHub Releases)
  • Keyboard shortcuts (Cmd+S save, Cmd+, settings)
  • Quick navigation items in system tray menu
  • Window size/position persistence across restarts

Security

  • Path traversal vulnerability fix in workspace file operations
  • Input validation for cron operations to prevent command injection
  • Restrictive file permissions on config and workspace files
  • MCP app_eval tool gated behind ZEROCLAW_MCP_ALLOW_EVAL env var

Accessibility

  • ARIA labels on sidebar navigation and collapse button
  • ARIA live regions for daemon status, save feedback, and chat banner
  • Icons on daemon status badges for color-blind users

Performance

  • Dashboard refresh cooldown to prevent redundant API calls
  • Memoized log filtering to avoid refiltering on every render
  • Marketplace cache freshness check before fetching catalog
  • Dashboard timestamp re-render reduced from 1s to 30s interval

Developer Experience

  • ESLint 9 with React, hooks, a11y, and TypeScript plugins
  • Prettier with husky pre-commit hooks and lint-staged
  • type-check, test:coverage, and validate npm scripts
  • CI pipeline: lint, type-check, format-check, and coverage checks
  • Automated accessibility testing with vitest-axe

Testing

  • 849+ unit tests with expanded coverage
  • Tests for AI assist IPC, tray module, missions, chat daemon status, hardware, and more

Fixed

  • Updated zeroclaw repo links from openagen to zeroclaw-labs
  • Synced latest zeroclaw documentation

0.1.0-alpha.1 - 2026-02-25

First alpha release of ZeroClaw UI — a desktop management interface for the zeroclaw AI agent platform.

Added

Core Application

  • Electron 40 + React 19 desktop app with Vite-based build system
  • Preload script with typed IPC bridge and context isolation
  • System tray integration with daemon status indicator
  • Dark mode support with system theme sync
  • Single-instance enforcement
  • MCP server for Claude Code integration (daemon management, CDP debug tools)

Onboarding

  • 4-step setup wizard: detect installation, provider setup, channel config, test connection
  • First-run detection with automatic daemon startup

Dashboard

  • Operations dashboard with status, doctor, channels, scheduler, and logs tabs
  • Real-time daemon status polling (start/stop/restart)
  • Log viewer with real-time streaming
  • Channel health diagnostics

Settings (16 sections)

  • General (provider, model, temperature, API key)
  • Identity, Gateway, Memory, Channels, Model Routes
  • Scheduler with visual cron job builder
  • Autonomy, Runtime, Multimodal, Cost & Limits
  • Observability, Browser, Web Search, Storage, Secrets
  • SaveBar with TOML serialization, validation via zeroclaw doctor, and daemon restart
  • Window focus config reload for concurrent editing support

Agent Editor (7 sections)

  • Workspace file editor for Identity, Soul, Agent Definition, User, Memory, Heartbeat, Tools
  • Markdown editor with edit/view toggle
  • AI-assisted content generation dialog with user prompts
  • Dirty tracking with save bar

Skills Marketplace

  • Installed skills tab with remove functionality
  • Marketplace tab with search and category filtering
  • Bulk install with progress tracking and retry logic

Chat

  • Message-based chat interface for testing agent responses
  • Markdown rendering for agent replies
  • ANSI stripping from CLI output

Documentation Site

  • VitePress-powered docs site with GitHub Pages deployment
  • Setup guide and contributor information

Testing

  • 637+ unit tests (Vitest) with 87% code coverage
  • 9 Playwright E2E test files covering all pages and key interactions
  • Coverage thresholds: 85% statements/lines, 80% branches, 60% functions

CI/CD

  • GitHub Actions pipeline for unit tests and E2E tests on PRs and pushes to main/develop
  • Automated docs site deployment to GitHub Pages

Known Issues

  • See open issues for the full list
  • Emergency stop (E-Stop) UI not yet implemented
  • SOP management not yet in UI
  • 6 channel types not yet configurable (Nextcloud Talk, Linq, Nostr, MQTT, Feishu, CLI)

Free for non-commercial use under the PolyForm Noncommercial License 1.0.0. Commercial licensing available.