-
Notifications
You must be signed in to change notification settings - Fork 2.7k
[WIP]feat: Support Cherry Studio as a Service (CSaaS) #8098
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
vaayne
wants to merge
14
commits into
main
Choose a base branch
from
feat/CSaaS
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+3,084
−19
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4e48563
to
2d69ddb
Compare
Add Hono v4.8.4 as a new dependency for lightweight web framework capabilities. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
…outes - Remove custom ChatCompletionMessage and ChatCompletionResponse interfaces - Import and use official ChatCompletion and ChatCompletionChunk types from OpenAI package - Update response and streaming chunk type annotations - Maintain backward compatibility with existing API structure 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Replace monolithic server with clean modular Hono architecture - Add modern middleware using createMiddleware() factory and built-in middleware (timing, requestId, logger, prettyJSON, cors) - Reorganize routes into separate Hono apps with proper basePath and route mounting - Implement centralized config management with automatic API key generation - Add comprehensive error handling with development/production mode support - Create clean Node.js HTTP server integration with proper request/response conversion - Move business logic to organized services directory - Remove legacy route files and unnecessary abstractions - Simplify ApiServerService as clean wrapper around new implementation - Maintain full backward compatibility while using modern Hono patterns 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Convert provider utility functions to async to properly wait for Redux store initialization: - getAvailableProviders() now waits for store readiness using reduxService.select() - listAllAvailableModels() and getProviderByModel() updated to handle async providers - Updated all callers in ChatCompletionService and chat routes to use await Fixes "Cannot read properties of undefined (reading 'providers')" error that occurred when API server started before Redux store was fully initialized. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
The changes improve API server configuration by making Redux select async, adding proper logging, and preventing API key changes while server is running.
The handlers were moved from ipc.ts to the ApiServerService class for better organization and encapsulation.
Add MCP (Model Control Panel) API with routes and service for server management. Includes functionality to list, create, update, and delete servers, plus toggle server state and manage server sessions. Complete with unit tests and API integration in the main app.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#5640
What this PR does
Before this PR:
After this PR:
Fixes #
Why we need it and why it was done in this way
The following tradeoffs were made:
The following alternatives were considered:
Links to places where the discussion took place:
Breaking changes
If this PR introduces breaking changes, please describe the changes and the impact on users.
Special notes for your reviewer
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.
Release note