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-leveldefault_provider/default_model/default_temperature - api_key field removed — hard parse error in 0.7.3. Use env vars (
ANTHROPIC_API_KEYetc.) 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 zeroclawor 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
sopsubcommand) - 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_pathfield added to Provider Limits sectioncron.enabled,cron.catch_up_on_startup,cron.max_run_historyfields 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 livezeroclaw config schemahas expanded significantly with new sections and updated defaults. Changes that affect Aidis directly: - CostSection:
cost.enableddefault flipped fromfalse→true(matches new upstream default inCostConfig). 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 emitsUnknown config key ignoredand 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:functionalscript 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 editingchannels/schema.ts
Release Infrastructure
- Public release repo at nicholasbester/aidis-releases
- Release workflow now publishes binaries cross-repo via
RELEASE_TOKENsecret - Site deployment moved to
aidis-releasesgh-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-ui→nicholasbester/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-sandboxon 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 ofapp.quit()to bypass beforeunload handlers when config is dirty - Coverage thresholds adjusted to match current test coverage
Infrastructure
- Added
electron-builderas 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-releasesfor 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
--peripheralflag 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_evaltool gated behindZEROCLAW_MCP_ALLOW_EVALenv 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, andvalidatenpm 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)