feat: fix slash commands, add badge UI, multi-provider management

Slash commands:
- Fix skills not appearing (removed non-existent `enabled` filter)
- Add badge/capsule UI for prompt-type commands (/compact, /review, etc.)
- SDK-native commands sent directly; CLI-only commands expanded to prompts
- /clear now resets SDK session and clears database messages
- /cost shows actual aggregated token usage statistics
- Keyboard: Backspace/Escape to remove badge, arrow keys auto-scroll popover
- Add /memory command for editing CLAUDE.md

Multi-provider management:
- CRUD API for API providers with SQLite storage
- ProviderManager UI with quick presets (GLM, Kimi, MiniMax, etc.)
- Dynamic model labels based on active provider
- Environment variable injection with conflict resolution

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
7418andClaude Opus 4.6 committed 2026-02-08 20:03:18 +08:00
1 parent 21226fc010
commit 4e81eaa60b
14 files changed
+1436 -145

No files matched your search

+45
View File
@@ -93,6 +93,51 @@ export interface Setting {
value: string;
}
// ==========================================
// API Provider Types
// ==========================================
export interface ApiProvider {
id: string;
name: string;
provider_type: string; // 'anthropic' | 'openrouter' | 'bedrock' | 'vertex' | 'custom'
base_url: string;
api_key: string;
is_active: number; // SQLite boolean: 0 or 1
sort_order: number;
extra_env: string; // JSON string of Record<string, string>
notes: string;
created_at: string;
updated_at: string;
}
export interface CreateProviderRequest {
name: string;
provider_type?: string;
base_url?: string;
api_key?: string;
extra_env?: string;
notes?: string;
}
export interface UpdateProviderRequest {
name?: string;
provider_type?: string;
base_url?: string;
api_key?: string;
extra_env?: string;
notes?: string;
sort_order?: number;
}
export interface ProvidersResponse {
providers: ApiProvider[];
}
export interface ProviderResponse {
provider: ApiProvider;
}
// ==========================================
// Token Usage
// ==========================================