KodeAgent
用轻量 Python 核心构建可规划、调用工具或执行代码的 AI 代理。
- Star 数
- ★ 45
- 最近更新
- 1 个月前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 49/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 需要在现有 Python 服务中加入网页检索与页面读取能力的开发者,可用 ReActAgent 配合 search_web 和 read_webpage 完成多步研究任务。
- 不适合
- 需要开箱即用完整平台和自动长期记忆持久化的团队
- 希望使用异步工具或现成框架的用户
- 在生产环境直接运行 LLM 生成代码而不做审查的场景
这个 Agent 能做什么,适合哪些场景?
KodeAgent 是一个无框架、轻量化的 Python AI 代理引擎,定位为嵌入更大系统的推理核心,而不是完整平台。它提供 ReActAgent、CodeActAgent 和 FunctionCallingAgent,并以 LiteLLM 连接 Gemini、GPT、Claude 与 Ollama 等模型或提供商。代理以异步流式方式通过 agent.run(task) 返回过程更新,完成后可从 agent.task.result 取得结果。CodeActAgent 可在本机 host 或 E2B 沙箱中执行模型生成的 Python 代码;CSVAnalysisAgent 则可从 URL 或路径加载 CSV 并执行自动分析。默认任务之间不保留记忆,但可使用 recurrent_mode 传入上一任务上下文,或注入兼容 OpenAI 格式的聊天历史。
开发者创建 ReActAgent、CodeActAgent 或 FunctionCallingAgent,传入 model_name、同步 Python tools 及迭代上限,然后通过 async for response in agent.run(task) 消费流式响应。ReActAgent 可直接调用如 search_web、read_webpage、calculator 等工具;CodeActAgent 会为任务创建计划,在循环中让模型生成 Thought 与 Python Code,执行工具调用并把观察结果回传给 Planner。CodeActAgent 可在 run_env='host' 的应用主机执行代码,或在 run_env='e2b' 的 E2B 沙箱执行,并可将沙箱生成文件下载至已有的 work_dir。内置工具还包括下载文件、提取 Markdown、搜索 arXiv/Wikipedia、生成图像及音频或 YouTube 转录;用户也可把自己的同步 Python 函数作为 tools 传入。可选的 tracing_type='langfuse' 或 'langsmith' 将运行追踪交给相应服务,默认使用无操作追踪器。
- 需要在现有 Python 服务中加入网页检索与页面读取能力的开发者,可用 ReActAgent 配合 search_web 和 read_webpage 完成多步研究任务。
- 需要让模型编写并运行 Python 来组合多个工具的工程团队,可用 CodeActAgent,并在受控需求下选择 E2B 沙箱执行。
- 使用支持原生函数调用的小语言模型、需要处理短暂失败重试与错误检测的开发者,可采用 FunctionCallingAgent。
- 需要从本地路径或 URL 载入 CSV 并让代理自动探索数据的分析人员,可使用 CSVAnalysisAgent。
- 需要将会话状态存入外部数据库、之后恢复上下文的应用开发者,可向 agent.run 注入 OpenAI 兼容 chat_history。
如何安装或部署这个 Agent?
运行 pip install -U kodeagent。运行环境需为 Python 3.10、3.11、3.12 或 3.13。为所选模型提供商设置对应环境变量,例如 Gemini 使用 GOOGLE_API_KEY,OpenAI 使用 OPENAI_API_KEY,Anthropic 使用 ANTHROPIC_API_KEY;使用 E2B 时还需 E2B_API_KEY。如从源码运行,可执行 git clone https://github.com/barun-saha/kodeagent.git,创建并激活虚拟环境后执行 pip install -r requirements.txt。
如何使用这个 Agent?
先导入 ReActAgent 与所需工具,创建例如 ReActAgent(name='Web agent', model_name='gemini/gemini-2.5-flash-lite', tools=[search_web, read_webpage], max_iterations=5) 的实例。随后执行 async for response in agent.run('What are the festivals in Paris? How they differ from Kolkata?'):,并用 print_response(response, only_final=True) 输出最终响应。要执行生成代码,改用 CodeActAgent,并显式指定 run_env、允许的 allowed_imports 以及需要时的 pip_packages。若启用 E2B,可指定一个已存在的 work_dir 作为本地文件交换目录。
这个 Agent 有哪些优点和局限?
- 同一库直接提供 ReAct、CodeAct 和原生函数调用三种代理模式,调用接口围绕 Python 类与 agent.run 保持一致。
- 基于 LiteLLM,可在不改动核心逻辑的情况下切换 Gemini、GPT、Claude 或 Ollama 等模型与提供商。
- CodeActAgent 支持本机与 E2B 两种代码执行环境,并可把 E2B 产生的文件同步到本地工作目录。
- 支持手动注入 OpenAI 兼容聊天历史,便于由外部存储系统负责跨会话状态。
- 项目明确说明仍在积极演进,部分行为可能变化,能力也有限。
- 默认跨任务无记忆;没有自动化的长期持久记忆管理或内置持久化层。
- CodeActAgent 会执行模型生成的代码;项目要求在受限、非生产环境中审查和测试生成代码。
- E2B 执行需要 E2B_API_KEY;LangSmith 不默认安装,使用时需额外安装并配置凭据。
- 自定义工具只能是同步 Python 函数,异步工具不受支持。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| KodeAgent 当前 | 49 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 45 | 1 个月前 | Python | OpenAI API · Claude API |
| CaveAgent | 63 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 219 | 1 个月前 | Python | OpenAI API · Claude API |
| 从零构建 AI 智能体 | 55 · 缺口较多 | 命令行工具免费 | ★ 4.9k | 3 个月前 | JavaScript | — |
| Langroid 多智能体框架 | 72 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 4.1k | 2 天前 | Python | Claude Code · OpenAI API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 明确列出模型、API 密钥、追踪服务、工具和 host/E2B 执行路径,追踪默认关闭,因而数据流有一定可见性(2);但 CodeAct 可运行生成代码,host 模式直接使用应用环境,导入白名单和安全审查只提供有限约束,且文档明确承认安全措施不可靠,故最小权限、敏感数据保护和外部副作用控制仅部分支持(各1)。未见执行前用户确认或回滚机制(各0)。依赖有版本范围和特定兼容性说明,但没有漏洞处置证据(1)。README 的致谢列出借鉴来源,Apache 许可证文件完整;但发布者身份未验证,具体维护责任和来源归属仍有限(2)。
README、usage 文档和安全文档在执行环境与功能描述上大体一致,但有示例和参数状态的细节差异,且安全文档对安全层的强断言与免责声明并存,因此自洽性为部分(1)。依赖文件锁定了部分版本范围并注明兼容性问题,但依赖服务、可选依赖和外部 API 带来可用性限制(1)。文档描述错误、超时及迭代上限可能导致无结果,并有集成测试跳过提示,失败信息处理有一定说明但未显示完整覆盖(2)。
文档区分 ReAct、CodeAct 和面向小模型的 FunctionCallingAgent,并列出任务类型和模型条件(2)。它说明 memoryless 默认行为、追踪限制、代码执行风险及若干功能限制(2)。工具可由使用者提供,但支持边界和触发条件主要依赖模型与任务描述,没有系统化的适用性规则(1)。安装和运行说明覆盖 Python 3.10+、虚拟环境、host/E2B、环境变量和可选追踪依赖(2)。
README 与 docs 分别组织快速开始、安全、安装和使用内容,并有明确导航主题(2)。安装步骤和可选依赖说明较具体(2)。Agent 名称稳定可辨,但文档参数既有弃用提示也有示例继续使用,存在接口演进不确定性(1)。提供多种可运行形式的示例和模型选择指导,也指出部分不适用场景(2)。已说明无持久化层、开发中、SLM/思维模型适配限制及 host 执行风险(2)。LICENSE 和项目元数据均指向 Apache-2.0(3)。版本信息为动态读取,README 提及 v0.12.1,但此材料未见变更日志(1)。列有 bug tracker 与发布工作流,但未明确长期维护负责人或更新支持承诺(1)。
流式响应、最终结果、计划和 token/费用统计有具体使用说明,便于接入和消费结果(2)。轻量多范式引擎、工具扩展和不同模型适配构成明确增益,但仍依赖外部模型、工具与服务(2)。依赖数量相对克制且支持本地或沙箱运行;同时 CodeAct、LLM 调用和可选云服务增加运行成本与运维负担,整体成本收益有依据但非完整量化(2)。
不少功能和配置主张可在 README、usage 与安装文档中找到对应说明,安全文档也描述处理流程(2);但安全层的实现效果和资源限制仅由文档陈述,所给源码样本未包含核心实现,跨来源验证有限(1)。文档包含局限与警告,但安全文档同时作出强保证式表述并加免责声明,事实与推断的界线不总清楚(1)。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- CodeAct 的 host 模式会在应用所在系统执行模型生成代码;文档建议使用 E2B,但安全文档也承认防护不可靠。生产使用前应审查执行权限、密钥可见性和文件/网络边界。
- 依赖及外部模型、搜索和追踪服务的实际安全与可用性,无法由此静态材料确认;不要把徽章或文档声明视为验证结果。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
What's Changed * chore: Update libs and bump version by @barun-saha in https://github.com/barun-saha/kodeagent/pull/232 Full Changelog: https://github.com/barun-saha/kodeagent/compare/v0.14.3...v0.14.4在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * Upgrade Codecov action to v7 by @barun-saha in https://github.com/barun-saha/kodeagent/pull/228 * Refactor dotenv loading and logging configuration by @barun-saha in https://github.com/barun-saha/kodeagent/pull/227 * Add Ollama usage examples by @barun-saha in https://github.com/barun-saha/kodeagent/pull/229 * Upgrade packages and release new version by @barun-saha in https://github.com/barun-saha/kodeagent/pull/230 Full Changelog: https://github.com/barun-saha/kodeagent/compare/v0.14.2...v0.14.3在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * Patch libs, update model names and docs by @barun-saha in https://github.com/barun-saha/kodeagent/pull/225 Full Changelog: https://github.com/barun-saha/kodeagent/compare/v0.14.1...v0.14.2在 GitHub 查看 ↗
常见问题
它能直接替代完整的代理平台吗?
是否锁定某一家模型提供商?
运行 CodeActAgent 有哪些安全边界?
使用成本是否由 KodeAgent 说明?
谢谢反馈,我们会据此改进页面。