mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-07-07 07:03:00 +08:00
Unify the "window detached from main" concept under the SubWindow name, pairing it with MainWindow. Rename the service class, WindowType enum value, HTML entry, renderer directory, React components, logger contexts, and window-manager docs accordingly. Scope of rename (noun-only): - DetachedWindowManager -> SubWindowService - DetachedWindowState -> SubWindowState - WindowType.DetachedTab -> WindowType.SubWindow (value 'subWindow') - detachedWindow.html / detachedWindow/ -> subWindow.html / subWindow/ - DetachedAppShell -> SubWindowAppShell - DetachedTabApp -> SubWindowApp - DETACHED_DEFAULT_WIDTH/HEIGHT -> SUB_WINDOW_DEFAULT_WIDTH/HEIGHT - Logger contexts / sources and all "detached window" prose Preserved (interaction-specific, not window-type nouns): - IPC channels Tab_Detach / Tab_Attach / Tab_MoveWindow / Tab_TryAttach / Tab_DragEnd and their 'tab:*' literals - these describe the drag-tab interaction, not the SubWindow concept - Component prop isDetached and useTabDrag.detachedCreated state - The DevTools "detached" and Node spawn "detached" unrelated usages
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 |
| Cache Usage | useCache hooks, CacheService examples |
| 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 |