feat: migrate cloud service URL configuration and update database version to 17

This commit is contained in:
Junyan Qin
2026-01-01 21:40:55 +08:00
parent 02e12cc1e4
commit 12713aad45
5 changed files with 34 additions and 5 deletions
@@ -0,0 +1,25 @@
from .. import migration
@migration.migration_class(17)
class MoveCloudServiceUrl(migration.DBMigration):
"""迁移云服务 URL 配置"""
async def upgrade(self):
"""升级"""
if 'space' not in self.ap.instance_config.data:
self.ap.instance_config.data['space'] = {
'url': 'https://space.langbot.app',
'models_gateway_api_url': 'https://api.langbot.cloud',
'oauth_authorize_url': 'https://space.langbot.app/auth/authorize',
'disable_models_service': False,
}
if 'plugin' in self.ap.instance_config.data:
self.ap.instance_config.data['plugin'].pop('cloud_service_url', None)
await self.ap.instance_config.dump_config()
async def downgrade(self):
"""降级"""
pass
+1 -1
View File
@@ -2,7 +2,7 @@ import langbot
semantic_version = f'v{langbot.__version__}' semantic_version = f'v{langbot.__version__}'
required_database_version = 16 required_database_version = 17
"""Tag the version of the database schema, used to check if the database needs to be migrated""" """Tag the version of the database schema, used to check if the database needs to be migrated"""
debug_mode = False debug_mode = False
-1
View File
@@ -69,7 +69,6 @@ plugin:
enable: true enable: true
runtime_ws_url: 'ws://langbot_plugin_runtime:5400/control/ws' runtime_ws_url: 'ws://langbot_plugin_runtime:5400/control/ws'
enable_marketplace: true enable_marketplace: true
cloud_service_url: 'https://space.langbot.app'
display_plugin_debug_url: 'ws://localhost:5401/plugin/debug/ws' display_plugin_debug_url: 'ws://localhost:5401/plugin/debug/ws'
space: space:
# Space service URL for OAuth and API # Space service URL for OAuth and API
@@ -11,7 +11,7 @@ import {
Settings, Settings,
FileText, FileText,
} from 'lucide-react'; } from 'lucide-react';
import { getCloudServiceClientSync } from '@/app/infra/http'; import { getCloudServiceClientSync, systemInfo } from '@/app/infra/http';
import { httpClient } from '@/app/infra/http/HttpClient'; import { httpClient } from '@/app/infra/http/HttpClient';
import { Button } from '@/components/ui/button'; import { Button } from '@/components/ui/button';
import { import {
@@ -203,6 +203,7 @@ export default function PluginCardComponent({
} else if (cardVO.install_source === 'marketplace') { } else if (cardVO.install_source === 'marketplace') {
window.open( window.open(
getCloudServiceClientSync().getPluginMarketplaceURL( getCloudServiceClientSync().getPluginMarketplaceURL(
systemInfo.cloud_service_url,
cardVO.author, cardVO.author,
cardVO.name, cardVO.name,
), ),
+6 -2
View File
@@ -81,8 +81,12 @@ export class CloudServiceClient extends BaseHttpClient {
return `${this.baseURL}/api/v1/marketplace/plugins/${author}/${pluginName}/resources/assets/${filepath}`; return `${this.baseURL}/api/v1/marketplace/plugins/${author}/${pluginName}/resources/assets/${filepath}`;
} }
public getPluginMarketplaceURL(author: string, name: string): string { public getPluginMarketplaceURL(
return `https://space.langbot.app/market/${author}/${name}`; cloud_service_url: string,
author: string,
name: string,
): string {
return `${cloud_service_url}/market/${author}/${name}`;
} }
public getLangBotReleases(): Promise<GitHubRelease[]> { public getLangBotReleases(): Promise<GitHubRelease[]> {