docmd-assistant 软件包导出了核心 DocmdAssistantEngine 类、辅助函数以及 TypeScript 类型定义。
import {
DocmdAssistantEngine,
createStandardTools,
DEFAULT_SYSTEM_PROMPT,
ENGINE_VERSION
} from 'docmd-assistant';
类: DocmdAssistantEngine
构造函数
new DocmdAssistantEngine(options?: AssistantOptions)
使用指定的配置初始化一个新的引擎实例。
const assistant = new DocmdAssistantEngine({
provider: 'openai',
model: 'gpt-4o-mini',
apiKey: process.env.OPENAI_API_KEY,
systemPrompt: '你是 AI 文档指南助手。'
});
核心消息方法
sendMessage(content, overrideOptions?)
将用户消息追加到历史记录,发起对话轮次,并返回一个 ChatResponse Promise。
public async sendMessage(
content: string,
overrideOptions?: Partial<AssistantOptions>
): Promise<ChatResponse>
参数:
| 参数 | 类型 | 说明 |
|---|---|---|
content |
string |
用户输入的文本消息 |
overrideOptions |
Partial<AssistantOptions> |
可选的单轮配置覆盖选项 |
返回值: Promise<ChatResponse>
interface ChatResponse {
message: string;
role: 'assistant';
unconfigured?: boolean;
unconfiguredData?: any;
history: ChatMessage[];
usage?: {
promptTokens?: number;
completionTokens?: number;
totalTokens?: number;
};
}
工具管理方法
registerTool(tool)
在引擎实例上注册一个工具处理函数。
public registerTool(tool: AssistantTool): this
unregisterTool(name)
按名称注销工具。如果找到并删除了工具,则返回 true。
public unregisterTool(name: string): boolean
getTools()
返回所有已注册工具的数组。
public getTools(): AssistantTool[]
getTool(name)
按名称返回特定的工具定义;如果未注册则返回 undefined。
public getTool(name: string): AssistantTool | undefined
executeTool(name, args)
使用给定的参数手动执行按名称注册的工具。
public async executeTool(name: string, args: any): Promise<any>
配置与系统提示词方法
updateOptions(newOptions)
动态更新引擎选项。
public updateOptions(newOptions: Partial<AssistantOptions>): this
setSystemPrompt(prompt)
替换当前生效的系统提示词。
public setSystemPrompt(prompt: string): this
appendSystemPrompt(additionalPrompt)
向现有系统提示词追加附加文本。
public appendSystemPrompt(additionalPrompt: string): this
getSystemPrompt()
返回当前生效的系统提示词字符串。
public getSystemPrompt(): string
历史记录管理方法
getHistory()
返回当前对话历史记录数组的副本。
public getHistory(): ChatMessage[]
setHistory(history)
替换当前对话历史记录。
public setHistory(history: ChatMessage[]): this
clearHistory()
清除所有历史消息并触发 'clear' 事件。
public clearHistory(): this
addMessage(message)
直接将消息对象追加到历史记录中。
public addMessage(message: ChatMessage): this
事件订阅方法
on(event, listener)
为引擎事件('message', 'tool_call', 'tool_result', 'error', 'clear')绑定事件监听器。
public on(event: AssistantEventType, listener: AssistantEventListener): this
off(event, listener)
移除已绑定的事件监听器。
public off(event: AssistantEventType, listener: AssistantEventListener): this
导出类型定义
所有 TypeScript 接口直接从 docmd-assistant 导出:
import type {
AssistantOptions,
AssistantTool,
AssistantToolParameters,
AssistantToolParameterProperty,
ChatMessage,
ChatResponse,
SearchResultItem,
AssistantEventType,
AssistantEvent,
AssistantEventListener
} from 'docmd-assistant';