ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

GitAgent SDK完全指南:用query()函数把AI代理无缝嵌入你的应用

GitAgent SDK完全指南:用query()函数把AI代理无缝嵌入你的应用 GitAgent SDK完全指南用query()函数把AI代理无缝嵌入你的应用【免费下载链接】opengapA framework-agnostic, git-native standard for defining AI agents项目地址: https://gitcode.com/gh_mirrors/git/opengapGitAgentGitAgent SDK是一个以 Git 仓库为核心、框架无关的 AI 代理标准通过query()函数即可在几行代码内把拥有记忆、工具和技能的多模态 AI 代理嵌入你的 Node.js 应用。本指南带你从零掌握 GitAgent SDK 的安装、流式消息处理、自定义工具与 Hook 管控让 AI 代理成为应用的一等公民。 为什么选择 GitAgent传统代理框架把配置散落在应用代码各处而 GitAgent 反其道而行你的代理本身就是一个 Git 仓库。文件作用agent.yaml模型、工具、运行时配置SOUL.md代理的人格与身份RULES.md行为约束memory/MEMORY.md可提交、可回溯的 Git 记忆skills/example-skill/SKILL.md可组合的技能模块这意味着你可以 Fork 一个代理、为它开分支、用git log查看它的记忆演进——业内称之为agents as repos范式。 一键安装 GitAgent SDK环境要求Node.js 18推荐 20、npm、git。npm install gitagent安装完成后SDK 的核心 API 从 src/exports.ts 统一导出包括query、tool以及全部类型定义。核心query()函数的实现位于 src/sdk.ts。 3 行代码调用 AI 代理GitAgent SDK 最大的特点是进程内运行in-process没有子进程、没有 IPC 开销。query()返回一个AsyncGenerator以流式方式产出代理事件import { query } from gitagent; for await (const msg of query({ prompt: 列出所有 TypeScript 文件并总结, dir: ./my-agent, model: openai:gpt-4o-mini, })) { if (msg.type delta) process.stdout.write(msg.content); }就这么简单prompt是任务dir指向代理仓库目录model用provider:model-id格式指定模型。完整可运行的示例见 examples/sdk-demo.ts。 读懂 5 种流式消息类型query()流出的每条消息都带有type字段理解它们是玩转 SDK 的关键类型定义见 src/sdk-types.ts类型含义关键字段delta流式文本/思考片段content、deltaTypeassistant完整回复含 Token 用量与成本content、usagetool_use代理正在调用某个工具toolName、argstool_result工具执行结果content、isErrorsystem生命周期事件与错误subtype在 UI 里渲染delta就能实现打字机效果监听tool_use则能实时展示代理正在做什么这是构建 Agent 应用界面的最佳实践。✅ 用 tool() 创建自定义工具想让代理调用你的业务 APItool()辅助函数只需 4 个参数名称、描述、输入 Schema、处理函数import { query, tool } from gitagent; const greet tool(greet, 按名字问候某人, { properties: { name: { type: string } }, required: [name], }, async (args) 你好${args.name}欢迎使用 GitAgent。);然后把tools: [greet]传入query()即可参考 examples/sdk-demo.ts。此外代理还自带cli、read、write、memory四个内置工具见 src/tools/index.ts你可以通过allowedTools/disallowedTools选项做白名单或黑名单过滤。️ 用 Hooks 给代理加一道安全闸生产环境中你需要拦截危险操作、改写参数或记录日志。SDK 支持程序化生命周期 Hookfor await (const msg of query({ prompt: 部署服务, hooks: { preToolUse: async (ctx) { if (ctx.toolName cli ctx.args.command?.includes(rm -rf)) return { action: block, reason: 危险命令已拦截 }; return { action: allow }; }, onError: async (ctx) console.error(ctx.error), }, })) { /* ... */ }Hook 可用allow/block/modify三种动作精细管控完整的 Hook 事件类型onSessionStart、preToolUse、postResponse、onError等定义在 src/sdk-types.ts。⚙️ query() 常用选项速查表选项说明prompt用户提示词或异步流实现多轮对话dir代理目录默认当前目录modelprovider:model-id如anthropic:claude-sonnet-4-5-20250929tools追加自定义工具repo克隆远程仓库并在会话分支上工作sandbox在沙箱 VM 中运行与repo互斥hooks程序化生命周期 HookmaxTurns限制代理最大轮次abortController取消信号随时中断任务完整字段参考 src/sdk-types.ts。 进阶让代理直接修你的 Git 仓库通过repo选项query()会自动克隆仓库、让代理修改代码、并把改动自动提交推送到会话分支——参考 examples/local-repo.ts。配合 OpenTelemetry 遥测src/telemetry.ts你还能在 Jaeger 中追踪每一次 LLM 调用与工具执行的耗时和成本。 延伸阅读完整功能与 CLI 用法README.md详细文档含语音模式、插件、合规审计Documentation.md代理清单示例agent.yamlOpenShell 指南docs/openshell-guide.md❓ 常见问题QSDK 需要部署额外服务吗不需要。GitAgent SDK 完全进程内运行npm install gitagent后即可在应用里直接调用。Q支持哪些模型提供商通过 agent.yaml 可配置anthropic、openai、google、groq、mistral等提供商并支持fallback降级列表。Q代理的记忆存在哪里存在代理仓库的memory/目录中以普通 Markdown 文件提交到 Git天然具备完整历史版本。掌握query()之后你只需一个 Git 仓库和几行 TypeScript就能把记忆、工具、技能与人格齐备的 AI 代理嵌入任何应用——这就是 GitAgent agents as repos 的魅力所在。【免费下载链接】opengapA framework-agnostic, git-native standard for defining AI agents项目地址: https://gitcode.com/gh_mirrors/git/opengap创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表