Commit Graph

98 Commits

Author SHA1 Message Date
iven
20eed290f8 feat(deps): add Valtio and XState for Phase 2
- Add valtio for Proxy-based state management
- Add xstate and @xstate/react for state machines
- Create domains directory structure (chat, hands, intelligence, skills)
- Create shared directory for common utilities

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 19:43:12 +08:00
iven
4ac6da1c88 docs: add Phase 1 changelog
- Document security enhancements (encrypted storage, WSS enforcement)
- Document test infrastructure setup
- Document migration notes and breaking changes
- Document test results and coverage

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 19:33:44 +08:00
iven
32c9f93a7b feat(security): enforce WSS for non-localhost connections
- Add SecurityError class for clear error handling
- Add validateWebSocketSecurity function
- Block ws:// connections to non-localhost hosts
- Add unit tests for security validation logic

Security: Prevents man-in-the-middle attacks on remote connections
by requiring WSS protocol for all non-localhost WebSocket connections.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 17:27:56 +08:00
iven
d266a1435f feat(security): add AES-GCM encryption for localStorage fallback
- Encrypt credentials before storing in localStorage when OS keyring unavailable
- Decrypt on retrieval with automatic fallback
- Backward compatible with existing unencrypted data (migration on next set)
- Add comprehensive unit tests (11 test cases)

Security: Credentials are now encrypted using AES-GCM when
OS keyring is unavailable, preventing plaintext exposure.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 17:13:50 +08:00
iven
a199434e08 test(crypto): add generateMasterKey test coverage
- Add test for base64 string output
- Add test for 32-byte key length
- Add test for uniqueness

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 17:07:08 +08:00
iven
f070d9151e feat(crypto): add AES-GCM encryption utilities
- Add arrayToBase64/base64ToArray conversion functions
- Add deriveKey for PBKDF2 key derivation
- Add encrypt/decrypt using AES-GCM
- Add generateMasterKey for random key generation
- Update setup.ts to use real Web Crypto API instead of mock
- Add comprehensive unit tests for all crypto functions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 17:05:15 +08:00
iven
47a84f52a2 fix(test): add @vitest/coverage-v8 dependency for coverage reports
- Add @vitest/coverage-v8@2.1.8 matching vitest version
- Required for test:coverage script to work

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 17:00:09 +08:00
iven
2c80a2c3c2 test: add Vitest configuration and setup
- Add vitest.config.ts with jsdom environment and path aliases
- Add tests/setup.ts with mocks for Tauri API, crypto, and localStorage
- Add test:coverage script to package.json

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 16:55:44 +08:00
iven
9fc17e9d36 test(desktop): add Vitest and testing dependencies
Install testing framework dependencies for unit testing:
- vitest@2.1.8 - Test runner
- @testing-library/react@16.1.0 - React component testing
- @testing-library/jest-dom@6.6.3 - Jest DOM matchers
- jsdom@25.0.1 - DOM simulation environment

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 16:50:38 +08:00
iven
60ddb0b1e9 fix(plan): address review feedback for Phase 1 plan
- Fix mock path in setup.ts to use @ alias
- Add Web Crypto polyfill for Node.js test environment
- Use pnpm exec for vitest version check
- Update Task 4.1 to note existing isLocalhost function
- Add cross-platform notes for Windows users

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 16:42:38 +08:00
iven
5edb8e347f docs(plan): add Phase 1 implementation plan
Detailed plan for Security + Testing phase (2 weeks):
- Task 1.1-1.2: Test framework setup (Vitest)
- Task 2.1-2.2: Crypto utilities module
- Task 3.1: Secure storage encryption enhancement
- Task 4.1: WSS enforcement
- Task 5.1: ChatStore unit tests
- Task 6.1-6.4: Integration and verification

Each task has bite-sized steps with exact commands and expected output.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 16:38:04 +08:00
iven
d1c200a243 docs(spec): revise architecture optimization spec based on review
Fixes from code review:
- Fix terminology: VZustand → Valtio
- Add terminology table for clarity
- Add existing code analysis section
- Add migration mapping table
- Remove incorrect Web Worker claims
- Update Hands section to focus on XState
- Update Intelligence cache to acknowledge existing impl
- Add detailed task breakdown with estimates
- Add performance measurement methods
- Update dependency versions to specific versions
- Add 2-week buffer to timeline

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 16:23:57 +08:00
iven
52c5e8a732 docs(spec): add architecture optimization design spec
Comprehensive design for 14-week architecture overhaul:
- VZustand for fine-grained reactivity
- Web Worker isolation for security
- XState for Hands state machine
- Domain-driven directory structure

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 16:16:24 +08:00
iven
e5cdd36118 docs: Add comprehensive project analysis and brainstorming session documents
- ZCLAW-DEEP-ANALYSIS-v2.md: Complete analysis covering 12 dimensions
- BRAINSTORMING-SESSION.md: Brainstorming notes on architecture, tech, performance
- OPTIMIZATION-ROADMAP.md: 4-phase implementation plan
- ISSUE-TRACKER.md: 18 issues tracked with priorities
- project-systematic-analysis-plan.md: Analysis plan document
2026-03-21 16:16:16 +08:00
iven
1900abe152 test(intelligence): update tests to use intelligenceClient
- Rewrite context-compactor.test.ts to use intelligenceClient
- Rewrite heartbeat-reflection.test.ts to use intelligenceClient
- Rewrite swarm-skills.test.ts to use intelligenceClient
- Update CLAUDE.md architecture section for unified intelligence layer

All tests now mock Tauri backend calls for unit testing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 15:26:35 +08:00
iven
f3ec3c8d4c feat(intelligence): complete migration to Rust backend
- Unify all intelligence modules to use intelligenceClient
- Delete legacy TS implementations (agent-memory, reflection-engine, heartbeat-engine, context-compactor, agent-identity, memory-index)
- Update all consumers to use snake_case backend types
- Remove deprecated llm-integration.test.ts

This eliminates code duplication between frontend and backend, resolves
localStorage limitations, and enables persistent intelligence features.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 15:17:39 +08:00
iven
17fb1e69aa feat(intelligence): add TypeScript frontend adapter for Rust commands
Provides unified API for calling Tauri intelligence commands:

- memory: store, search, get, delete, stats, export/import
- heartbeat: init, start, stop, tick, config management
- compactor: token estimation, threshold check, compact
- reflection: should_reflect, reflect, history, state
- identity: get/update files, proposals, snapshots

Usage:
```typescript
import { intelligence } from './intelligence-backend';
await intelligence.memory.store({ ... });
await intelligence.heartbeat.start('agent-1');
```

Part of Phase 4: Integration and documentation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 00:54:31 +08:00
iven
d97c03fb28 docs(plan): update intelligence layer migration progress
Phase 2-3 complete:
- Heartbeat Engine: 
- Context Compactor: 
- Reflection Engine: 
- Agent Identity: 

Added implementation progress tracking section with:
- Completed modules table
- List of implemented Tauri commands
- Pending work items

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 00:53:31 +08:00
iven
ef8f5cdb43 feat(intelligence): complete Phase 2-3 migration to Rust
Phase 2 - Core Engines:
- Heartbeat Engine: Periodic proactive checks with quiet hours support
- Context Compactor: Token estimation and message summarization
  - CJK character handling (1.5 tokens per char)
  - Rule-based summary generation

Phase 3 - Advanced Features:
- Reflection Engine: Pattern analysis and improvement suggestions
- Agent Identity: SOUL.md/AGENTS.md/USER.md management
  - Proposal-based changes (requires user approval)
  - Snapshot history for rollback

All modules include:
- Tauri commands for frontend integration
- Unit tests
- Re-exported types via mod.rs

Reference: docs/plans/INTELLIGENCE-LAYER-MIGRATION.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 00:52:44 +08:00
iven
0db8a2822f feat(backend): implement Phase 1 of Intelligence Layer Migration
- Add SQLite-based persistent memory storage (persistent.rs)
- Create memory persistence Tauri commands (memory_commands.rs)
- Add sqlx dependency to Cargo.toml for SQLite support
- Update memory module to export new persistent types
- Register memory commands in Tauri invoke handler
- Add comprehensive migration plan document

Phase 1 delivers:
- PersistentMemory struct with SQLite storage
- MemoryStoreState for Tauri state management
- 10 memory commands: init, store, get, search, delete,
  delete_all, stats, export, import, db_path
- Full-text search capability
- Cross-session memory retention

Reference: docs/plans/INTELLIGENCE-LAYER-MIGRATION.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 00:36:06 +08:00
iven
48a430fc97 refactor(skills): add skill-adapter and refactor SkillMarket
- Add skill-adapter.ts to bridge configStore and UI skill formats
- Refactor SkillMarket to use new skill-adapter instead of skill-discovery
- Add health check state to connectionStore
- Update multiple components with improved typing
- Clean up test artifacts and add new test results
- Update README and add skill-market-mvp plan

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 00:28:03 +08:00
iven
54ccc0a7b0 feat(test): add real environment integration test scripts
- Add Bash version (real-integration-test.sh) for Linux/macOS
- Add PowerShell version (real-integration-test.ps1) for Windows
- Tests cover: Gateway connection, Model config, Agent management, API Key validation, Chat functionality, Hands triggers, Memory persistence, Configuration validation
- Update plan file to reflect P0 progress and completed P2 tasks

These scripts enable validation against real OpenFang Kernel instead of mocks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 00:25:32 +08:00
iven
d3a4de2480 docs: add setup guides and error notification component
- Add OpenFang Kernel configuration guide (docs/setup/OPENFANG-SETUP.md)
- Add Chinese models configuration guide (docs/setup/chinese-models.md)
- Add quick start guide (docs/quick-start.md)
- Add quick start scripts for Windows and Linux/macOS
- Add ErrorNotification component for centralized error display

These additions help users:
- Quickly set up development environment
- Configure OpenFang backend correctly
- Configure Chinese LLM providers (GLM, Qwen, Kimi, MiniMax)
- See error notifications in a consistent UI

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 00:17:44 +08:00
iven
c5d91cf9f0 feat: add integration test framework and health check improvements
- Add test helper library with assertion functions (scripts/lib/test-helpers.sh)
- Add gateway integration test script (scripts/tests/gateway-test.sh)
- Add configuration validation tool (scripts/validate-config.ts)
- Add health-check.ts library with Tauri command wrappers
- Add HealthStatusIndicator component to ConnectionStatus.tsx
- Add E2E test specs for memory, settings, and team collaboration
- Update ZCLAW-DEEP-ANALYSIS.md to reflect actual project state

Key improvements:
- Store architecture now properly documented as migrated
- Tauri backend shown as 85-90% complete
- Component integration status clarified

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 00:09:47 +08:00
iven
ce522de7e9 feat: integrate DevQALoop into TeamOrchestrator and add integration test checklist
- Add Review tab to TeamOrchestrator with DevQALoopPanel integration
- Create comprehensive integration test checklist (22 test cases)
- Document component integration status analysis
- Update progress documentation

Key findings:
- Most "low integration" components were actually integrated via indirect paths
- DevQALoop was the only truly unintegrated component, now fixed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 23:27:16 +08:00
iven
1cf3f585d3 refactor(store): split gatewayStore into specialized domain stores
Major restructuring:
- Split monolithic gatewayStore into 5 focused stores:
  - connectionStore: WebSocket connection and gateway lifecycle
  - configStore: quickConfig, workspaceInfo, MCP services
  - agentStore: clones, usage stats, agent management
  - handStore: hands, approvals, triggers, hand runs
  - workflowStore: workflows, workflow runs, execution

- Update all components to use new stores with selector pattern
- Remove
2026-03-20 22:14:13 +08:00
iven
6f72442531 docs(guide): rewrite CLAUDE.md with ZCLAW-first perspective
Major changes:
- Shift from "OpenFang desktop client" to "independent AI Agent desktop app"
- Add decision principle: "Is this useful for ZCLAW? Does it affect ZCLAW?"
- Simplify project structure and tech stack sections
- Replace OpenClaw vs OpenFang comparison with unified backend approach
- Consolidate troubleshooting from scattered sections into organized FAQ
- Update Hands system documentation with 8 capabilities and status
- Stream
2026-03-20 19:30:09 +08:00
iven
3518fc8ece feat(automation): complete unified automation system redesign
Phase 4 completion:
- Add ApprovalQueue component for managing pending approvals
- Add ExecutionResult component for displaying hand/workflow results
- Update Sidebar navigation to use unified AutomationPanel
- Replace separate 'hands' and 'workflow' tabs with single 'automation' tab
- Fix TypeScript type safety issues with unknown types in JSX expressions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 17:12:05 +08:00
iven
3a7631e035 feat(automation): implement unified automation system with Hands and Workflows
Phase 1 - Core Fixes:
- Fix parameter passing in HandsPanel (params now passed to triggerHand)
- Migrate HandsPanel from useGatewayStore to useHandStore
- Add type adapters and category mapping for 7 Hands
- Create useAutomationEvents hook for WebSocket event handling

Phase 2 - UI Components:
- Create AutomationPanel as unified entry point
- Create AutomationCard with grid/list view support
- Create AutomationFilters with category tabs and search
- Create BatchActionBar for batch operations

Phase 3 - Advanced Features:
- Create ScheduleEditor with visual scheduling (no cron syntax)
- Support frequency: once, daily, weekly, monthly, custom
- Add timezone selection and end date options

Technical Details:
- AutomationItem type unifies Hand and Workflow
- CategoryType: research, data, automation, communication, content, productivity
- ScheduleInfo interface for scheduling configuration
- WebSocket events: hand, workflow, approval

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 16:32:18 +08:00
iven
dfeb286591 docs(plan): add automation system redesign implementation plan
Four phases:
- P1: Fix core issues (param passing, store migration, WebSocket events)
- P2: UI refactor (AutomationPanel, AutomationCard, filters)
- P3: Advanced features (ScheduleEditor, batch operations)
- P4: Workflow integration (ApprovalQueue, ExecutionResult)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 15:55:18 +08:00
iven
c856673936 docs(spec): update automation design with review feedback
Key changes:
- Extend existing stores instead of creating new automationStore
- Use type adapter pattern instead of new type hierarchy
- Add explicit HandParamsForm parameter passing fix
- Add category mapping for 7 existing Hands

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 15:14:36 +08:00
iven
552efb513b docs(spec): add automation system redesign specification
Design for Hands/Workflow unified automation panel with:
- Visual scheduler without cron syntax
- Result stream integration into chat
- Batch operations (trigger, approve, configure)
- Real-time status via WebSocket
- Offline queue and error recovery

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 15:10:55 +08:00
iven
e262200f1e 首页布局优化前 2026-03-17 23:26:16 +08:00
iven
74dbf42644 refactor(startup): simplify stack to Tauri-managed OpenFang + optional ChromeDriver
- Remove OpenFang CLI dependency from startup scripts
- OpenFang now bundled with Tauri and managed via gateway_start/gateway_status commands
- Add bootstrap screen in App.tsx to auto-start local gateway before UI loads
- Update Makefile: replace start-no-gateway with start-desktop-only
- Fix gateway config endpoints: use /api/config instead of /api/config/quick
- Add Playwright dependencies for future E2E testing
2026-03-17 14:08:03 +08:00
iven
6c6d21400c fix(scripts): use powershell instead of pwsh and add DesktopOnly mode
- Replace pwsh with powershell for Windows compatibility
- Add -DesktopOnly flag to skip all external services
- Add automatic port 1420 cleanup before starting
- Improve stop command to kill all related processes
- Update package.json scripts for easier access

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 09:40:16 +08:00
iven
d890fa1858 feat(scripts): add unified startup scripts for full stack development
Add comprehensive startup scripts for managing all ZCLAW services:

Windows (PowerShell):
- start.ps1 / start-all.ps1 - Unified service launcher
- Supports -NoBrowser, -NoGateway, -Dev, -Stop flags

Unix (Bash):
- start.sh - Cross-platform launcher for macOS/Linux

Makefile:
- make start / make start-unix
- make desktop / make desktop-build
- make setup / make test / make clean

pnpm commands:
- pnpm start - Start all services
- pnpm start:dev - Development mode with hot reload
- pnpm start:no-browser - Skip ChromeDriver
- pnpm start:no-gateway - Skip OpenFang gateway
- pnpm desktop - Start Tauri only
- pnpm chromedriver - Start ChromeDriver only

Services managed:
1. ChromeDriver (port 4444) - Browser automation
2. OpenFang Gateway (port 4200) - AI Agent runtime
3. Tauri Desktop - React + Rust frontend

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 09:23:44 +08:00
iven
6bd9b841aa feat(browser-hand): implement Browser Hand UI components
Add complete Browser Hand UI system for browser automation:

Components:
- BrowserHandCard: Main card with status display and screenshot preview
- TaskTemplateModal: Template selection and parameter configuration
- ScreenshotPreview: Screenshot display with fullscreen capability

Templates:
- Basic operations: navigate, screenshot, form fill, click, execute JS
- Scraping: text, list, images, links, tables
- Automation: login+action, multi-page, monitoring, pagination

Features:
- 15 built-in task templates across 3 categories
- Real-time execution status with progress bar
- Screenshot preview with zoom and fullscreen
- Integration with HandsPanel for seamless UX
- Zustand store for state management
- Comprehensive test coverage (16 tests)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 08:56:02 +08:00
iven
69c874ed59 docs(spec): add Browser Hand UI design specification
Design for browser automation UI component integrated into HandsPanel:
- Dual trigger mechanism: frontend templates + agent scripts
- Real-time status + screenshot preview
- Complete template system (basic, scraping, automation)
- Task runner with progress tracking

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 08:14:41 +08:00
iven
f4efc823e2 refactor(types): comprehensive TypeScript type system improvements
Major type system refactoring and error fixes across the codebase:

**Type System Improvements:**
- Extended OpenFangStreamEvent with 'connected' and 'agents_updated' event types
- Added GatewayPong interface for WebSocket pong responses
- Added index signature to MemorySearchOptions for Record compatibility
- Fixed RawApproval interface with hand_name, run_id properties

**Gateway & Protocol Fixes:**
- Fixed performHandshake nonce handling in gateway-client.ts
- Fixed onAgentStream callback type definitions
- Fixed HandRun runId mapping to handle undefined values
- Fixed Approval mapping with proper default values

**Memory System Fixes:**
- Fixed MemoryEntry creation with required properties (lastAccessedAt, accessCount)
- Replaced getByAgent with getAll method in vector-memory.ts
- Fixed MemorySearchOptions type compatibility

**Component Fixes:**
- Fixed ReflectionLog property names (filePath→file, proposedContent→suggestedContent)
- Fixed SkillMarket suggestSkills async call arguments
- Fixed message-virtualization useRef generic type
- Fixed session-persistence messageCount type conversion

**Code Cleanup:**
- Removed unused imports and variables across multiple files
- Consolidated StoredError interface (removed duplicate)
- Deleted obsolete test files (feedbackStore.test.ts, memory-index.test.ts)

**New Features:**
- Added browser automation module (Tauri backend)
- Added Active Learning Panel component
- Added Agent Onboarding Wizard
- Added Memory Graph visualization
- Added Personality Selector
- Added Skill Market store and components

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 08:05:07 +08:00
iven
adfd7024df docs(claude): restructure documentation management and add feedback system
- Restructure §8 from "文档沉淀规则" to "文档管理规则" with 4 subsections
  - Add docs/ structure with features/ and knowledge-base/ directories
  - Add feature documentation template with 7 sections (概述/设计初衷/技术设计/预期作用/实际效果/演化路线/头脑风暴)
  - Add feature update trigger matrix (新增/修改/完成/问题/反馈)
  - Add documentation quality checklist
- Add §16
2026-03-16 13:54:03 +08:00
iven
8e630882c7 feat(l4): add AutonomyManager for tiered authorization system (Phase 3)
Implements L4 self-evolution authorization with:

Autonomy Levels:
- Supervised: All actions require user confirmation
- Assisted: Low-risk actions auto-execute, high-risk need approval
- Autonomous: Agent decides, only high-impact actions notify

Features:
- Risk-based action classification (low/medium/high)
- Importance threshold for auto-approval
- Approval workflow with pending queue
- Full audit logging with rollback support
- Configurable action permissions per level

Security:
- High-risk actions ALWAYS require confirmation
- Self-modification disabled by default even in autonomous mode
- All autonomous actions logged for audit
- One-click rollback to any historical state

Tests: 30 passing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 10:49:49 +08:00
iven
0b89329e19 feat(l4): upgrade engines with LLM-powered capabilities (Phase 2)
Phase 2 LLM Engine Upgrades:
- ReflectionEngine: Add LLM semantic analysis for pattern detection
- ContextCompactor: Add LLM summarization for high-quality compaction
- MemoryExtractor: Add LLM importance scoring for memory extraction
- Add unified LLM service adapter (OpenAI, Volcengine, Gateway, Mock)
- Add MemorySource 'llm-reflection' for LLM-generated memories
- Add 13 integration tests for LLM-powered features

Config options added:
- useLLM: Enable LLM mode for each engine
- llmProvider: Preferred LLM provider
- llmFallbackToRules: Fallback to rules if LLM fails

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 10:41:03 +08:00
iven
ef3315db69 feat(l4): add LLM service adapter for Phase 2 engine upgrades
- Unified interface for OpenAI, Volcengine, Gateway, and Mock providers
- Structured LLMMessage and LLMResponse types
- Configurable via localStorage with API key security
- Built-in prompt templates for reflection, compaction, extraction
- Helper functions: llmReflect(), llmCompact(), llmExtract()

This adapter enables the 3 engines to be upgraded from rule-based
to LLM-powered in Phase 2.1-2.3.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 10:28:10 +08:00
iven
85e39ecafd feat(l4): add Phase 1 UI components for self-evolution capability
SwarmDashboard (多 Agent 协作面板):
- Task list with real-time status updates
- Subtask visualization with results
- Communication style indicators (Sequential/Parallel/Debate)
- Task creation form with manual triggers

SkillMarket (技能市场):
- Browse 12 built-in skills by category
- Keyword/capability search
- Skill details with triggers and capabilities
- Install/uninstall with L4 autonomy hooks

HeartbeatConfig (心跳配置):
- Enable/disable periodic proactive checks
- Interval slider (5-120 minutes)
- Proactivity level selector (Silent/Light/Standard/Autonomous)
- Quiet hours configuration
- Built-in check item toggles

ReflectionLog (反思日志):
- Reflection history with pattern analysis
- Improvement suggestions by priority
- Identity change proposal approval workflow
- Manual reflection trigger
- Config panel for trigger settings

Part of ZCLAW L4 Self-Evolution capability.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 10:24:00 +08:00
iven
721e400bd0 docs: finalize documentation cleanup
- Update OPENVIKING_INTEGRATION with latest status
- Remove outdated plan files (now archived in docs/archive/)
- Clean up redundant documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 10:00:17 +08:00
iven
a7582cb135 chore: clean up old plan files and update gitignore
- Add build artifacts to .gitignore (binaries/, *.exe, *.pdb)
- Update WORK_SUMMARY with latest progress
- Remove outdated plan files (moved to docs/archive/plans/)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 09:59:39 +08:00
iven
134798c430 feat(viking): add local server management for privacy-first deployment
Backend (Rust):
- viking_commands.rs: Tauri commands for server status/start/stop/restart
- memory/mod.rs: Memory module exports
- memory/context_builder.rs: Context building with memory injection
- memory/extractor.rs: Memory extraction from conversations
- llm/mod.rs: LLM integration for memory summarization

Frontend (TypeScript):
- context-builder.ts: Context building with OpenViking integration
- viking-client.ts: OpenViking API client
- viking-local.ts: Local storage fallback when Viking unavailable
- viking-memory-adapter.ts: Memory extraction and persistence

Features:
- Multi-mode adapter (local/sidecar/remote) with auto-detection
- Privacy-first: all data stored in ~/.openviking/, server only on 127.0.0.1
- Graceful degradation when local server unavailable
- Context compaction with memory flush before compression

Tests: 21 passing (viking-adapter.test.ts)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 09:59:14 +08:00
iven
26e64a3fff fix(hands): use hand.id instead of hand.name for API calls
- Fix HandTaskPanel to use hand.id when loading runs and triggering
- Fix HandsPanel to use hand.id for getHandDetails and triggerHand
- Fix WorkflowEditor to use hand.id as option value

The API expects hand identifiers, not names. This ensures correct
hand execution and run history loading.

Also clean up old plan files and add Gateway stability plan.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 09:57:01 +08:00
iven
a312524abb fix(gateway): add API fallbacks and connection stability improvements
- Add api-fallbacks.ts with structured fallback data for 6 missing API endpoints
  - QuickConfig, WorkspaceInfo, UsageStats, PluginStatus, ScheduledTasks, SecurityStatus
  - Graceful degradation when backend returns 404
- Add heartbeat mechanism (30s interval, 3 max missed)
  - Automatic connection keep-alive with ping/pong
  - Triggers reconnect when heartbeats fail
- Improve reconnection strategy
  - Emit 'reconnecting' events for UI feedback
  - Support infinite reconnect mode
- Add ConnectionStatus component
  - Visual indicators for 5 connection states
  - Manual reconnect button when disconnected
  - Compact and full display modes

Diagnosed via Chrome DevTools: WebSocket was working fine, real issue was
404 errors from missing API endpoints being mistaken for connection problems.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 09:56:25 +08:00
iven
f9a3816e54 docs: update work summary with OpenViking installation status
- Python 3.12 installed via winget
- OpenViking v0.2.6 installed successfully
- API key configuration required for server startup
- Updated next steps with configuration instructions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 09:39:28 +08:00