📈 GH Trending Explorer 🎲 Surprise me

← all repos

Harvil1 / codeAgent

git clone https://github.com/Harvil1/codeAgent.git

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.

—
stars, 24h
—
stars, 7 days
+1.0k
stars, 30 days · #298
1.0k
★ total
69
forks · 1 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguagePython
LicenseMIT
Created2026-10-02 (18d ago)
Last push7d ago
Watchers163
OwnerUser

GitHub topics

Links

README excerpt
# CodeAgent
> 自学习 AI Agent 命令行工具——交互体验对标 claude code,Windows 优先,开箱即用。
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 深度摘要)、批间工具摘要、时间基线旧结果清理
- 前缀缓存友好:临时消息注入与剥离时机讲究,不破坏缓存前缀
## 🖥 界面一览
## 🚀 快速开始
前提:Python 3.11+ 和 uv(Python 包管理器)。
 [code] 
> 提示:换模型 / 换厂商在会话里输 `/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 → 分发工具调用,模型不再要工具即收尾。
| 子系统 | 模块 |
|---|---|
| LLM | `llm_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