Files
CherryHQ-cherry-studio/docs
fullex e1ba04463e docs(data-api): codify registry sub-resource & nullability conventions
- data-api-in-main: add Registry Sub-Resource Endpoints section -
  GET-only for stateless reads, AIP-136 colon notation for derived
  views, registry packages are main-only (bundle waste + merge
  already in main)
- best-practice-layered-preset-pattern: preset-only static fields
  must merge in rowToEntity rather than via parallel endpoint;
  document acceptable exceptions for catalog and specialised
  surfaces
- data-ordering-guide section 2: drop user_provider.isEnabled from
  the Live partition list - the table is whole-table ordered
  (already correct in section 7)
- database-patterns: flag boolean columns without .notNull() as a
  common R3 offender, with concrete wrong/right example
2026-05-10 21:56:51 -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 Core Architecture Complete data flow and architecture from user input to LLM response

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

Knowledge

Document Description
KnowledgeService Concurrency control and workload management

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