CoreCoder

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

Star 数
★ 1.9k
最近更新
2 天前
License
MIT
主语言
Python

30 秒速览

运行形态
命令行工具代码库 / SDK
可在哪里用
通用 · 跨平台OpenAI API
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
Python 3.10+Shell / 命令行网络访问本地文件系统
典型场景
希望逐行学习编码智能体实现的 Python 开发者,可从 agent.py 的主循环开始阅读并设置断点修改。
不适合
  • 需要安全隔离运行不可信代码的团队:bash 防护只是正则黑名单
  • 需要 MCP 资源与提示或 RAG 检索的用户:这两块明确未实现

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

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

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

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

如何安装或部署这个 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 有哪些优点和局限?

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

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

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

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
CoreCoder 当前 59 · 缺口较多 命令行工具免费 + 模型费 ★ 1.9k 2 天前 Python OpenAI API
Kode CLI 44 · 缺口较多 命令行工具免费 + 模型费 ★ 5.2k 3 天前 TypeScript OpenAI API · Claude API
fx 编程代理 63 · 存在缺口 命令行工具免费 + 模型费 ★ 3.8k 今天 Zig ChatGPT · Codex · OpenAI API
DevSpace 50 · 缺口较多 命令行工具免费 + 模型费 ★ 5.4k 4 天前 TypeScript ChatGPT

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
59/ 100 五分制 3.0 / 5
本评测基于 2026年8月9日 的源码;此后该项目发布了 6 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 14/29
可靠稳定 9/14
适用触发 12/18
规范维护 11/18
有效结果 9/13
证据核验 4/8
查看各维度的扣分理由
信任安全14 / 29 · 2.4/5

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

可靠稳定9 / 14 · 3.2/5

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

适用触发12 / 18 · 3.3/5

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

规范维护11 / 18 · 3.1/5

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

有效结果9 / 13 · 3.5/5

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

证据核验4 / 8 · 2.5/5

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

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

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.8.0
    发布说明摘录
    v0.8.0 Undo and consent now survive restarts. /undo checkpoints serialize to ~/.corecoder/checkpoints.json (base64 payloads, tmp-file swap so a crash can't truncate the file) and reload lazily on first use, and "always allow" grants persist in ~/.corecoder/permissions.json. One-shot -p mode stays pure and still refuses mutating tools. Also in this release: - Test coverage for the REPL slash-command dispatch. - Docs pinned to the code: hook examples, test counts, and line counts are swept by an alarm so they can't drift. 中文说明 …
    在 GitHub 查看 ↗
  2. v0.7.0
    发布说明摘录
    Twenty-three commits since v0.6.0, still in the distilled spirit of the project: - Thinking models show their work (745ff65): deepseek-reasoner, kimi-k2-thinking and friends stream reasoning_content next to the answer. CoreCoder now surfaces it as it arrives instead of dropping it, and keeps it out of the reply and the history so context stays clean. …
    在 GitHub 查看 ↗
  3. v0.6.0 CoreCoder v0.6.0: MCP, hooks, plan mode
    发布说明摘录
    Four increments since v0.5.0, all in the distilled spirit of the project: - Engine trim (7f323e7): the core loop got leaner without losing behavior. - Pre/PostToolUse hooks (d503117): user shell commands around tool calls, configured in ~/.corecoder/hooks.json. - MCP stdio client (2dfd156): external tools join the agent from ~/.corecoder/mcp.json. Newline-delimited JSON-RPC over subprocess pipes, handshake and crash isolation included. MCP tools flow through the v0.5.0 consent gate and the new hooks like the built-ins. …
    在 GitHub 查看 ↗

常见问题

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

对比同类 Agent

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

相关 Agents