codeAgent

Harvil1MIT活跃维护

终端里的开源编码智能体,能读懂仓库、规划多步改动、写改文件、跑命令和测试,并循环迭代直到任务完成。

CodeAgent is an open-source coding agent that lives in your terminal. It understands your repository, plans multi-step changes, writes and edits files, runs commands and tests, and iterates until the task is done — all with a transparent, extensible tool loop.

暂无版本1,009star69fork同步于 2026-11-10 11:51 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/Harvil1/codeAgent.git
cd codeAgent
uv sync
uv run python main.py
硬件要求按 README 说明

README 未说明显存或 GPU 要求;需 Python 3.11+ 与 uv,Windows 优先,Linux 可运行(含 bwrap 沙箱),macOS 理论可用未充分验证

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

终端里的开源 AI 编程助手,能读仓库、改文件、跑命令并迭代到任务完成

终端里的开源编码智能体,能读懂仓库、规划多步改动、写改文件、跑命令和测试,并循环迭代直到任务完成。

核心能力

  • 工具自注册体系,按 toolset 控制发给模型的工具集
  • 分级上下文压缩 L1 轻裁剪到 L4 深度摘要
  • 破坏性命令审批加跨会话白名单记忆
  • 长期记忆 MEMORY.md 索引加 JSONL 存储与检索注入
  • 从对话轨迹沉淀可复用技能的自学习管线

容易踩的坑

需先装 uv 并配置 API key(环境变量或 ~/.codeAgent/settings.json),否则无法调用模型;默认模型为 DeepSeek,换厂商需用 /model 或改配置;运行时数据都在 ~/.codeAgent/,删目录即完全重置

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    CodeAgent

    自学习 AI Agent 命令行工具——交互体验对标 claude code,Windows 优先,开箱即用。

    Python 3.11+ License: MIT Platform

    English | 简体中文

    CodeAgent 是一个跑在终端里的 AI 编程助手:你用自然语言下指令,它读代码、改文件、跑命令、查资料,把活干完。它有自己的一套「长本事」机制——从对话轨迹里沉淀可复用的技能,越用越顺手。

    🧭 这是一份手写的「中文版 claude code」

    不是套壳,也不是翻译——是从交互界面到 Agent 主循环一行行手写出来的完整实现,注释全是中文:

    • 📚 想学 Agent 开发?这就是活教材。 工具自注册、上下文分级压缩、权限审批、子代理团队、工作流引擎、记忆系统——一个真实可跑的 Agent 全链路都在这儿,每个模块都是「大白话流程 → 参数 → 返回」的保姆级中文注释,读代码像读教程。
    • 🛠 欢迎上手改。 觉得哪里不顺手?fork 了直接改——代码结构清晰、注释到位,改起来不费劲。欢迎 PR:修 bug、加功能、优化界面都行。
    • 💬 有问题社区问。 卡住了、看不懂了、想讨论设计,直接去 Issues 或 Discussions 发帖,有问必答。

    ✨ 特性

    终端体验(对标 claude code)

    • 流式回答圆角框、思考流暗色框、工具事件行(● Bash(...) + ⎿ 结果)
    • 危险命令 / 白名单外写文件的审批面板:允许一次 / 总是允许 / 拒绝三选,面板答完自擦不污染上下文
    • Ctrl+C 语义分明:回合中一键中断、双击强退;审批面板上 Ctrl+C 一击取消并中断整轮
    • 皮肤系统、页脚状态栏、命令补全、输入历史、粘贴大段文本自动落盘引用

    模型与工具

    • 多模型接入:OpenAI 兼容协议(默认 DeepSeek)与 Anthropic 协议均可配;主模型 + 辅助小模型(压缩/检索/记忆提取等杂活走便宜模型)
    • 工具自注册体系:tools/ 下模块 import 即登记,按「套餐」(toolset)控制发给模型的工具集
    • MCP 外部工具:项目级 .mcp.json 声明即接入,首次连接需审批
    • 内置工具覆盖文件读写、终端执行、搜索、代码检索、Web 抓取、后台任务、子代理派发等

    安全防线

    • 破坏性命令审批 + 跨会话白名单(按命令 / 按前缀规则记忆)
    • 注入面检测($()、进程替换等「所见非所执行」形态升审批)、删除路径红线、自我保护
    • 秘钥扫描(防 API key 写入文件/记忆)、SSRF 防护、Web 内容注入隔离
    • Linux 下可选 bwrap 沙箱执行

    记忆与自学习

    • 长期记忆:MEMORY.md 索引 + JSONL 存储 + 检索结果临时注入(不污染正式历史)
    • 技能系统:用户技能 + 插件市场技能(/plugin 管理),支持按触碰文件路径条件激活
    • 自学习管线:观察对话轨迹 → 沉淀新技能(启发式 / 辅助模型两种观察方式)

    协作与自动化

    • 子代理:同步 / 后台派发,worktree 隔离,后台代理无人审批时自动 fail-closed
    • 团队模式:coordinator / worker / 消息总线 / 邮箱
    • 工作流引擎:确定性编排、日志断点续跑、花费封顶
    • 定时任务(cron)、声明式 hooks、任务清单、会话 checkpoint 回溯(/rewind)

    上下文工程

    • 分级压缩(L1 轻裁剪 → L4 深度摘要)、批间工具摘要、时间基线旧结果清理
    • 前缀缓存友好:临时消息注入与剥离时机讲究,不破坏缓存前缀

    🖥 界面一览

    运行中的 CodeAgent

    🚀 快速开始

    前提:Python 3.11+ 和 uv(Python 包管理器)。

    # 1) 安装 uv(已有可跳过)
    #    Windows (PowerShell):  powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    #    macOS / Linux:         curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # 2) 拉代码 + 装依赖
    git clone https://github.com/Harvil1/codeAgent.git
    cd codeAgent
    uv sync
    
    # 3) 配置 API key(二选一)
    #    a) 环境变量——按所用厂商设置其一即可,程序会自动识别:
    #       DEEPSEEK_API_KEY / OPENAI_API_KEY / ANTHROPIC_API_KEY /
    #       OPENROUTER_API_KEY / ZHIPUAI_API_KEY(BIGMODEL_API_KEY 亦可)
    #    b) 写入 ~/.codeAgent/settings.json 的 models.<名字>.api_key
    #       (首次运行会自动生成默认配置文件,默认模型为 DeepSeek)
    
    # 4) 跑起来
    uv run python main.py              # 交互模式
    uv run python main.py -c           # 自动恢复最近一次会话
    

    提示:换模型 / 换厂商在会话里输 /model 按引导配置,或直接编辑 ~/.codeAgent/settings.json。

    ⌨️ 常用操作

    会话内 40+ 个 slash 命令,常用如下:

    命令作用
    /help命令帮助
    /model切换 / 配置模型(按引导填厂商、key、端点)
    /new /resume /sessions新会话 / 恢复 / 会话列表
    /rewind回溯到某个 checkpoint 重来
    /skills /plugin管理技能 / 插件市场
    /memory查看维护长期记忆
    /permission /sandbox /approved权限模式 / 沙箱开关 / 已批准命令白名单
    /doctor自诊断(配置、网络、组件健康检查)
    /plan计划模式:先出方案批准再动手
    /stats /usage /trace花费统计 / 用量 / 调用链追踪

    ⚙️ 配置与数据

    运行时数据统一放在 ~/.codeAgent/(环境变量 CODEAGENT_HOME 可覆盖,测试 / 多配置隔离用):

    路径内容
    settings.json全部配置(默认值单一源头在代码里,落盘深合并,手改安全)
    sessions.db/会话持久化(JSONL)
    MEMORY.md + 记忆库长期记忆索引与正文
    skills/用户技能
    plugins/插件(含官方市场 claude-plugins-official)
    logs/运行日志(滚动,5MB × 3)

    🏗 架构一览

    调用链一句话:main.py(点火:控制台编码、终端自举)→ cli.main → run_interactive(REPL + slash 命令 + RuntimeContext 装配)→ AIAgent.run_conversation(主循环心脏)。

    主循环每轮:组装消息(注入后台 / 定时 / 团队 / 计划等临时消息)→ 上下文压缩 → 刷新工具集 → 调 LLM → 分发工具调用,模型不再要工具即收尾。

    子系统模块
    LLMllm_client.py(OpenAI 兼容 / Anthropic 协议)、aux_llm.py(辅助小模型路由)
    记忆memory_store.py、memory_retriever.py
    上下文context_compressor.py(分级压缩)、context_pipeline.py
    子代理 / 团队tools/delegate_tool.py、agent/team/
    工作流workflow_engine.py + workflow_journal.py
    技能~/.codeAgent/skills/ + agent/skill_learning/(自学习)
    安全bash_injection.py、ssrf_guard.py、secret_scanner.py、sandbox_runner.py、permission.py
    持久化session_store.py、task_store.py、hooks.py

    🧪 开发

    uv run python scripts/verify.py   # 60+ 项回归检查(改完代码先跑这个)
    uv run ruff check .               # lint
    

    ❓ FAQ

    • 支持哪些终端? cmd / Windows Terminal / PowerShell 直接可用;git-bash(mintty)下会自动用 winpty 重新拉起,无需手动处理。
    • 支持 Linux / macOS 吗? Windows 优先开发与验证;Linux 可运行(含 bwrap 沙箱支持),macOS 理论可用、未充分验证。
    • 模型必须用 DeepSeek 吗? 不。任何 OpenAI 兼容端点或 Anthropic 协议端点都可以,/model 或改 settings.json 即可,key 支持环境变量与配置文件两种方式。
    • 会话数据在哪? 全部在 ~/.codeAgent/,删掉目录即完全重置。

    📄 许可证

    MIT © 2026 Harvil1