AI Service
AI 服务,提供 AI 实例管理、提示词管理、Skills 管理等。
AIService
AI 服务接口,提供 AI 实例、Skill、ChatRuntime 管理
实例管理
create
创建一个新的 AI 实例。
name: 实例名称apiUrl: API 地址apiKey: API 密钥modelType: 模型类型 返回:Promise<AIInstance>- AI 实例
get
获取指定名称的 AI 实例。
name: 实例名称 返回:AIInstance | undefined- AI 实例
list
列出所有 AI 实例名称。
返回:
string[]- 所有实例名称
remove
删除指定名称的 AI 实例。
name: 实例名称 返回:boolean- 是否删除成功
点击展开完整类型定义
typescript
function create(options: {
name: string;
apiUrl: string;
apiKey: string;
modelType: "text" | "multimodal";
}): Promise<AIInstance>;
function get(name: string): AIInstance | undefined;
function list(): string[];
function remove(name: string): boolean;默认实例
setDefault
设置默认 AI 实例。
name: 实例名称 返回:boolean- 是否设置成功
getDefault
获取默认 AI 实例。
返回:
AIInstance | undefined- 默认实例
点击展开完整类型定义
typescript
function setDefault(name: string): boolean;
function getDefault(): AIInstance | undefined;Chat Runtime
registerChatRuntime
注册 ChatRuntime 对象。
runtime: ChatRuntime 对象 返回:boolean- 是否注册成功
getChatRuntime
获取已注册的 ChatRuntime 对象。
返回:
ChatRuntime | undefined- ChatRuntime 对象
removeChatRuntime
移除已注册的 ChatRuntime 对象。
返回:
boolean- 是否移除成功
点击展开完整类型定义
typescript
function registerChatRuntime(runtime: ChatRuntime): boolean;
function getChatRuntime(): ChatRuntime | undefined;
function removeChatRuntime(): boolean;Skill 管理
registerSkill
注册 AI Skill。
skill: AISkill 对象 返回:boolean- 是否注册成功
getSkill
获取指定名称的 Skill。
skillName: Skill 名称 返回:AISkill | undefined- Skill 对象
getAllSkills
获取所有已注册的 Skills。
返回:
Map<string, AISkill>- 所有 Skills
removeSkill
移除指定名称的 Skill。
skillName: Skill 名称 返回:boolean- 是否移除成功
点击展开完整类型定义
typescript
function registerSkill(skill: AISkill): boolean;
function getSkill(skillName: string): AISkill | undefined;
function getAllSkills(): Map<string, AISkill>;
function removeSkill(skillName: string): boolean;工具查询
getTool
获取指定名称的工具。
toolName: 工具名称 返回:AITool | undefined- 工具对象
getAllTools
获取所有已注册的工具。
返回:
Map<string, AITool>- 所有工具
点击展开完整类型定义
typescript
function getTool(toolName: string): AITool | undefined;
function getAllTools(): Map<string, AITool>;AIInstance
AI 实例接口
文本生成
generateText
生成文本响应。
prompt?: 系统提示词messages: 消息列表model?: 模型名称temperature?: 温度参数max_tokens?: 最大 Token 数 返回:Promise<string>- 生成的文本
点击展开完整类型定义
typescript
function generateText(options: {
prompt?: string;
messages: TextMessage[];
model?: string;
temperature?: number;
max_tokens?: number;
}): Promise<string>;多模态生成
generateMultimodal
生成多模态响应。
prompt?: 系统提示词messages: 多模态消息列表model?: 模型名称temperature?: 温度参数max_tokens?: 最大 Token 数 返回:Promise<string>- 生成的文本
点击展开完整类型定义
typescript
function generateMultimodal(options: {
prompt?: string;
messages: MultimodalMessage[];
model?: string;
temperature?: number;
max_tokens?: number;
}): Promise<string>;工具生成
generateWithTools
使用工具生成响应。
prompt?: 系统提示词messages: 消息列表model?: 模型名称temperature?: 温度参数maxIterations?: 最大迭代次数 返回:Promise<{ content: string, iterations: number, allToolCalls: ToolCallRecord[] }>- 生成内容和工具调用记录
点击展开完整类型定义
typescript
function generateWithTools(options: {
prompt?: string;
messages: TextMessage[] | MultimodalMessage[];
model?: string;
temperature?: number;
maxIterations?: number;
}): Promise<{
content: string;
iterations: number;
allToolCalls: ToolCallRecord[];
}>;完整调用
complete
执行完整补全请求。
options: CompleteOptions 对象 返回:Promise<CompleteResponse>- 完整响应
点击展开完整类型定义
typescript
function complete(options: CompleteOptions): Promise<CompleteResponse>;提示词管理
registerPrompt
注册提示词。
name: 提示词名称prompt: 提示词内容 返回:boolean- 是否注册成功
getPrompt
获取指定名称的提示词。
name: 提示词名称 返回:string | undefined- 提示词内容
getAllPrompts
获取所有已注册的提示词。
返回:
Record<string, string>- 所有提示词
removePrompt
移除指定名称的提示词。
name: 提示词名称 返回:boolean- 是否移除成功
点击展开完整类型定义
typescript
function registerPrompt(name: string, prompt: string): boolean;
function getPrompt(name: string): string | undefined;
function getAllPrompts(): Record<string, string>;
function removePrompt(name: string): boolean;类型定义
TextMessage
文本消息
typescript
interface TextMessage {
role: "system" | "user" | "assistant";
content: string;
}
role: 消息角色content: 消息内容
MultimodalMessage
多模态消息
typescript
interface MultimodalMessage {
role: "system" | "user" | "assistant";
content: string | MultimodalContentItem[];
}
role: 消息角色content: 消息内容或内容项数组
MultimodalContentItem
多模态消息内容项
typescript
interface MultimodalContentItem {
type: "text" | "image_url";
text?: string;
image_url?: {
url: string;
detail?: "auto" | "low" | "high";
};
}
type: 内容类型text?: 文本内容image_url?: 图片URL对象
CompleteOptions
原始补全请求参数
typescript
interface CompleteOptions {
model?: string;
messages: ChatCompletionMessageParam[];
tools?: ChatCompletionTool[];
executableTools?: SessionToolDefinition[];
executableToolsProvider?: () => SessionToolDefinition[];
temperature?: number;
max_tokens?: number;
maxIterations?: number;
stream?: boolean;
onTextDelta?: (delta: string) => void | Promise<void>;
}
model?: 模型名称messages: 消息列表tools?: 工具定义executableTools?: 可执行工具executableToolsProvider?: 动态获取工具函数temperature?: 温度参数max_tokens?: 最大 Token 数maxIterations?: 最大迭代次数stream?: 是否流式输出onTextDelta?: 流式文本回调
CompleteResponse
原始补全响应
typescript
interface CompleteResponse {
content: string | null;
reasoning: string | null;
toolCalls: { id: string; name: string; arguments: string }[];
raw: ChatCompletionMessageParam;
iterations?: number;
allToolCalls?: ToolCallRecord[];
turnMessages?: ChatCompletionMessageParam[];
}
content: 文本响应内容reasoning: 推理内容toolCalls: 工具调用列表raw: 原始响应消息iterations?: 迭代次数allToolCalls?: 所有工具调用记录turnMessages?: 本轮消息列表
ToolCallRecord
工具调用记录
typescript
interface ToolCallRecord {
name: string;
arguments: any;
result: any;
}
name: 工具名称arguments: 调用参数result: 调用结果
ChatRuntime
对话运行时
typescript
interface ChatRuntime {
requestInformation(
options: ChatRuntimeInformationRequestOptions,
): Promise<ChatRuntimeResult>;
generateNotice(options: ChatRuntimeNoticeOptions): Promise<ChatRuntimeResult>;
}
requestInformation: 请求用户信息generateNotice: 生成通知
AITool
AI 工具定义
typescript
interface AITool {
name: string;
description: string;
parameters: {
type: "object";
properties: Record<string, any>;
required?: string[];
};
handler: (args: any, event?: any) => Promise<any> | any;
}
name: 工具名称description: 工具描述parameters: 参数定义handler: 处理函数
AISkill
AI Skill 定义
typescript
interface AISkill {
name: string;
description: string;
tools: AITool[];
}
name: Skill 名称description: Skill 描述tools: 工具列表
