mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-07-03 12:27:41 +08:00
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.
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 |