feat(types): add OpenClaw TypeScript type definitions

- Add OpenClawProviderConfig and OpenClawModel interfaces
- Add openclaw to McpApps, VisibleApps, ProxyTakeoverStatus
- Add "openclaw" to AppId union type
- Add openclaw to SkillApps interface
This commit is contained in:
Jason
2026-02-01 20:31:40 +08:00
parent 6952360f70
commit 31ec5d73a6
4 changed files with 25 additions and 2 deletions
+2 -1
View File
@@ -2,7 +2,7 @@ import { invoke } from "@tauri-apps/api/core";
import type { AppId } from "@/lib/api/types";
// ========== 类型定义 ==========
export type AppType = "claude" | "codex" | "gemini" | "opencode" | "openclaw";
/** Skill 应用启用状态 */
export interface SkillApps {
@@ -10,6 +10,7 @@ export interface SkillApps {
codex: boolean;
gemini: boolean;
opencode: boolean;
openclaw: boolean;
}
/** 已安装的 Skillv3.10.0+ 统一结构) */
+1 -1
View File
@@ -1,2 +1,2 @@
// 前端统一使用 AppId 作为应用标识(与后端命令参数 `app` 一致)
export type AppId = "claude" | "codex" | "gemini" | "opencode";
export type AppId = "claude" | "codex" | "gemini" | "opencode" | "openclaw";
+21
View File
@@ -160,6 +160,7 @@ export interface VisibleApps {
codex: boolean;
gemini: boolean;
opencode: boolean;
openclaw: boolean;
}
// WebDAV v2 同步状态
@@ -287,6 +288,7 @@ export interface McpApps {
codex: boolean;
gemini: boolean;
opencode: boolean;
openclaw: boolean;
}
// MCP 服务器条目(v3.7.0 统一结构)
@@ -424,3 +426,22 @@ export interface OpenCodeMcpServerSpec {
// 通用字段
enabled?: boolean;
}
// ============================================================================
// OpenClaw 专属配置(v3.11.0+
// ============================================================================
// OpenClaw 模型配置
export interface OpenClawModel {
id: string;
name: string;
}
// OpenClaw 供应商配置(settings_config 结构)
// 对应 OpenClaw 的 models.providers.<provider-id> 配置
export interface OpenClawProviderConfig {
baseUrl?: string; // API 端点
apiKey?: string; // API 密钥
api?: string; // API 协议类型(如 "openai-completions"、"anthropic"
models?: OpenClawModel[]; // 可用模型列表
}
+1
View File
@@ -46,6 +46,7 @@ export interface ProxyTakeoverStatus {
codex: boolean;
gemini: boolean;
opencode: boolean;
openclaw: boolean;
}
export interface ProviderHealth {