开发与工程 python-clicode-editingshell-executionopenai-compatible-apicontext-compactionsubagents

CoreCoder

一个可读、可改、可运行的极简 Python 编码智能体核心。

FollowAgents 评估 · FARS-2.1
不推荐
59/ 100 五分制 3.0 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全14 / 29 · 2.4/5

证据显示:工具集最小化,bash有危险命令门禁,子代理被剥夺递归工具,会话路径有防穿越保护,成本追踪透明。扣分:用户确认机制薄弱(仅交互式REPL有确认,一次性模式无),敏感数据处理(API密钥)仅依赖环境变量和.env,无加密或提示,依赖安全未锁定版本,回滚仅依赖git,无内置撤销。

2可靠稳定9 / 14 · 3.2/5

证据显示:代码结构清晰,模块划分合理,测试覆盖核心功能,CI矩阵多平台多版本。扣分:依赖未固定版本,可能因上游变化导致不可用,失败消息虽存在但未全面评估。

3适用触发12 / 18 · 3.3/5

证据显示:面向开发者,支持多种LLM提供商,工具可扩展,环境变量配置灵活。扣分:未明确说明资源限制或极端环境适配,触发精度依赖模型行为,未提供详细边界说明。

4规范维护11 / 18 · 3.1/5

证据显示:README结构清晰,安装说明详细,命名稳定(曾改名但重定向),有示例和FAQ,已知限制明确,MIT许可证,维护责任明确。扣分:版本变更日志缺失,仅版本号。

5有效结果9 / 13 · 3.5/5

证据显示:输出为代码编辑和报告,可直接使用,边际价值在于教学和可定制性,成本效益高(免费开源)。扣分:未提供实际运行效果证据,仅静态分析。

6证据核验4 / 8 · 2.5/5

证据显示:README中的声明与代码一致,测试验证了部分功能,文章声称基于代码。扣分:缺乏外部来源佐证,部分声明(如'86 tests all green')未在静态审查中验证。

证据充分度: 评估于 2026年8月9日 审查版本 7a11892cd31a
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • API密钥仅通过环境变量或.env文件管理,未提供加密存储或安全提示,用户需自行确保密钥安全。
  • bash工具的危险命令门禁仅为正则黑名单,不是安全沙箱,面对不可信输入时需额外隔离措施。
  • 依赖未固定版本,可能因上游更新导致兼容性问题,建议锁定版本。
  • 一次性模式(-p)下无用户确认机制,可能执行危险操作,需谨慎使用。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

CoreCoder 是一个约 1,081 行纯 Python 的命令行编码智能体,用于理解并改造编码智能体的基本实现。它以 Agent 主循环驱动模型调用:模型请求工具后,系统并行执行工具并将结果写回上下文,直至模型返回文本答复或达到轮数限制。项目提供交互式 REPL、单次提示模式、会话保存与恢复、上下文压缩、令牌与成本统计,以及可作为 Python 库导入的 Agent、LLM 和 Config。它能读写本地文件并执行 shell 命令,因此适合在本机受控代码仓库中运行,而不是作为隔离的生产执行环境。

通过 corecoder 启动 REPL,或使用 corecoder -p "..." 执行一次任务。Agent.chat() 将用户输入加入消息历史,调用 LLM.chat() 获取文本或工具调用;工具调用可并行运行,并将结果追加到上下文后继续下一轮。内置 bashread_filewrite_fileedit_fileglobgrepagent 七种工具:可搜索文件名和内容、读取与写入文件、用唯一文本匹配进行替换并返回 diff、执行 shell 命令,以及启动不能继续生成子智能体的子智能体。context.py 按三档处理上下文压力,session.py 保存或恢复会话,/tokens 显示令牌用量与成本估算。

  1. 希望逐行学习编码智能体实现的 Python 开发者,可从 agent.py 的主循环开始阅读并设置断点修改。
  2. 需要让模型在本地小型项目中查找 TODO、修改函数并运行命令验证结果的开发者,可使用单次提示模式。
  3. 想在现有轻量编码智能体上增加测试、LSP 或网页访问工具的工程师,可基于 tools/base.py 新增工具。
  4. 使用 DeepSeek、Ollama 或其他 OpenAI 兼容服务的个人开发者,可通过环境变量切换模型端点。
  5. 希望把任务式代码操作嵌入自己的 Python 程序的开发者,可直接导入 AgentLLM

这个 Agent 有哪些优点和局限?

优点
  • 核心引擎约 1,081 行纯 Python,主循环、模型接口、上下文、工具和会话实现均可直接阅读和修改。
  • 内置文件读写、内容搜索、文件匹配、唯一匹配编辑、shell 执行和子智能体,能完成完整的本地代码操作循环。
  • 支持 OpenAI 兼容 API,并记录令牌用量和成本;可通过可选 LiteLLM 后端连接更多提供商。
  • 上下文压缩分为工具输出裁剪、历史摘要和紧急压缩三档,而非一次性简单截断。
局限
  • bash 的危险命令防护是正则黑名单,文档明确说明它不是安全沙箱;面对不可信输入需要额外的 seccomp 或容器隔离。
  • 重试机制只有指数退避,没有模型回退链或硬性费用上限。
  • 子智能体采用同步执行,输出超过 5,000 个字符会截断,且子智能体不能继续创建子智能体。
  • 项目明确不包含 MCP 或 RAG;大型仓库的检索式代码定位需要自行扩展。

如何安装或部署这个 Agent?

需要 Python 3.10+ 和可用模型凭据。克隆后执行:

git clone https://github.com/he-yufeng/CoreCoder
cd CoreCoder
pip install -e .

也可执行 pip install corecoder。默认 OpenAI 配置需要 OPENAI_API_KEY=sk-...;DeepSeek 示例为 OPENAI_API_KEY=sk-... OPENAI_BASE_URL=https://api.deepseek.com CORECODER_MODEL=deepseek-chat;本地 Ollama 示例为 OPENAI_API_KEY=ollama OPENAI_BASE_URL=http://localhost:11434/v1 CORECODER_MODEL=qwen2.5-coder。项目根目录的 .env 会在启动时加载。

如何使用这个 Agent?

交互使用:corecoder。一次性执行并退出:corecoder -p "add error handling to parse_config()"。REPL 中可用 /model <name> 切换模型、/compact 手动压缩上下文、/tokens 查看用量、/diff 查看本次会话改动,以及 /save/sessions 管理会话。作为库使用时,可创建 LLM(model="deepseek-chat", api_key="sk-...", base_url="https://api.deepseek.com"),再调用 Agent(llm=llm).chat("find every TODO comment in this project and list them")

这个 Agent 与同类方案有什么区别?

CoreCoder 将自己定位为可阅读和可 fork 的最小编码智能体核心,而非 Claude Code 或 aider 的生产级替代品。与 Claude Code 相比,其代码可在本机完整阅读和修改;与 aider 相比,它的实现规模更小;它借鉴 nanoGPT 的教学式极简定位,但目标是让智能体编辑代码而非训练 GPT。

常见问题

它支持哪些模型?
默认使用 OpenAI 兼容 API。README 给出了 OpenAI、DeepSeek 和本地 Ollama 的配置示例;可选安装 corecoder[litellm] 使用 LiteLLM 后端。
运行时会修改我的文件吗?
会。write_fileedit_file 可以写入本地文件,bash 可以执行 shell 命令;应在你愿意让其操作的本地工作目录中运行。
如何控制模型调用成本?
可用 /tokens 查看令牌用量和成本估算,但文档未提供硬性预算上限或超预算自动停止功能。
任务过长时会怎样?
系统先裁剪过长工具输出,再摘要较早历史;接近上下文上限时会进行更紧凑的紧急压缩。主循环还有轮数上限,超限会返回提示。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents