Files
CherryHQ-cherry-studio/docs
fullex ecffd880f0 refactor(store): delete the deprecated v1 Redux store
With ImportService migrated to DataApi (#16415), the v1 Redux store at
src/renderer/store/ has zero runtime consumers. Delete the directory (30
files) along with the already-stubbed main-process ReduxService bridge.

Clean up the now-stale residue:
- Remove dead vi.mock('@renderer/store') factories from 14 test files
  whose code under test no longer imports the store.
- Drop Redux from the CLAUDE.md "Removing" enumerations and refresh the
  renderer-architecture / knowledge-service / v2-todo docs.
- Fix dangling store/ references in the MiniAppMigrator and
  builtinMcpServers comments.

The v2 migration's Redux Persist readers (ReduxStateReader etc.) are left
untouched: they read serialized on-disk data, not this store.
2026-06-26 01:08:20 -07:00
..

Cherry Studio Documentation

Guides

Document Description
Development Setup Development environment setup
Contributing How to contribute code
Branching Strategy Git branching workflow
Test Plan Test plan and release channels
i18n Guide Internationalization guide
Logging Guide How to use the logger service
Middleware How to write AI Provider middleware

References

Architecture

Document Description
Architecture Overview System-wide architecture, process model, data flow

AI Core

Document Description
AI Reference Main-process AI pipeline: stream manager, agent loop, providers, tools
Core Architecture End-to-end call flow from user input to LLM response
Stream Manager Active-stream registry, broker, reconnect, persistence
Adapter Family How endpoint → @ai-sdk/* package routing is decided

Data System

Document Description
Data System Overview System selection, architecture, and patterns
Boot Config Overview Early boot configuration system
Boot Config Schema Guide Adding new boot config keys
Cache Overview Three-tier caching architecture and design invariants
Cache Usage useCache hooks, direct API, Main-process subscriptions
Cache Schema Guide Adding new cache keys (fixed and template)
Preference Overview User settings management
Preference Usage usePreference hook examples
Preference Schema Guide Adding new preference keys
DataApi Overview Business data API architecture
DataApi in Renderer useQuery/useMutation patterns
DataApi in Main Handlers, Services, Repositories
API Design Guidelines RESTful design rules
API Types API type system, schemas, error handling
Database Patterns DB naming, schema patterns
Layered Preset Pattern Presets with user overrides
V2 Migration Guide Migration system

Lifecycle System

Document Description
Lifecycle Overview Architecture, decision guides, usage
Application Overview Application bootstrap and shutdown
Lifecycle Internals Phases, hooks, states
Lifecycle Usage Full usage guide with examples
Lifecycle Decision Guide Lifecycle vs singleton decision
Lifecycle Migration Guide Migrating old services

Messaging

Document Description
Message System Message lifecycle, state management, operations
Composer Rich Clipboard Private composer token clipboard format and copy/paste flow
Message Tree Chat message-tree model: adjacency list, per-topic virtual root, sibling groups, invariants, delete semantics, getTree / flow-canvas contract
Chat UI Design & Conventions How the chat UI is divided by responsibility (presentation / view-state / contracts / orchestration) and the conventions modules follow (context, refs, render stability)
Chat Adapters The chat contract layer: projecting topics / sessions / messages into stable UI shapes, the pane / action registries, and render-stability rules

Knowledge

Document Description
Knowledge Product Spec Condensed product semantics for Agent-managed knowledge bases (full version lives in Feishu)
Knowledge Technical Design Condensed per-base index.sqlite schema, index store contracts, and retrieval decisions (full version lives in Feishu)
KnowledgeService Concurrency control and workload management
Knowledge Operation Guards Guard, enqueue failure, and recovery semantics for add/delete/reindex

CherryClaw (Autonomous Agent)

Document Description
CherryClaw Overview Architecture, memory system, API
Channel System IM integration (Telegram, etc.)
Claw MCP Server Built-in MCP tools (cron, notify, skills, memory)
Scheduler Task-based polling scheduler

Components

Document Description
CodeBlockView Code block view component
Image Preview Image preview components
Code Execution Python code execution via Pyodide

Other

Document Description
App Upgrade Config Application upgrade configuration
Feishu Notify Feishu notification integration
Fuzzy Search Fuzzy search implementation
LAN Transfer Protocol LAN file transfer protocol spec