用途:Kit SDK(pkg/kit)让开发者把 Kit 的完整智能体能力嵌入任意 Go 应用,包括 LLM 交互、工具执行、会话管理、流式输出与钩子。与扩展(在 Kit TUI 内解释执行的脚本)不同,SDK 程序是独立编译的 Go 二进制。
安装与导入:go get github.com/mark3labs/kit;导入建议使用别名 import kit "github.com/mark3labs/kit/pkg/kit"。
核心生命周期:用 kit.New(ctx, opts) 创建实例(加载配置、初始化 MCP 服务器、创建 LLM 提供方、装配智能体);用 host.Prompt(ctx, msg) 交互,智能体按需调用工具;用 host.Close() 清理 MCP 连接、模型资源与会话文件句柄,务必 defer Close()。
主要能力:通过 kit.Options 配置模型、系统提示、MaxSteps、工具等;Prompt 系列方法支持多模态附件、逐次系统消息注入、Steer、FollowUp;事件(OnToolCall、OnMessageUpdate、Subscribe)只读观察,钩子(OnBeforeToolCall、OnAfterToolResult、OnBeforeTurn、OnPrepareStep、OnContextPrepare、OnBeforeCompact)可拦截修改;用 kit.NewTool 定义自定义工具;会话自动以 JSONL 树文件持久化;支持模型注册表、自定义提供方、MCP 服务器与 MCP OAuth;支持上下文估算、压缩与子智能体。
关键规则:Options.Tools 替换全部默认工具,Options.ExtraTools 在默认工具之外追加;事件与钩子须在 Prompt 前注册,返回取消订阅函数;钩子返回 nil 表示放行,首个非 nil 结果生效,优先级数值越小越先执行;指针字段表示未设置;NoSession: true 用于临时内存智能体;上下文占用需累加 InputTokens、CacheReadTokens、CacheCreationTokens、OutputTokens;响应式压缩始终开启,AutoCompact 为主动压缩;MCP OAuth 需显式配置,否则需授权的远程服务器会报错;避免依赖名泄漏,使用 kit.LLM* 类型别名。
限制:资料未提供收费、价格、平台支持范围与效果数据;详细内容需查阅 references/ 目录下对应参考文件。