codeAgent

CodeAgent 是一個開源的程式碼代理,存在於你的終端機中。它能理解你的儲存庫、規劃多步驟變更、撰寫和編輯檔案、執行指令與測試,並持續迭代直到任務完成——一切都在透明且可擴展的工具迴圈中進行。

codeAgent 是什麼?

CodeAgent 是一個開源的程式碼代理,存在於你的終端機中。它能理解你的儲存庫、規劃多步驟變更、撰寫和編輯檔案、執行指令與測試,並持續迭代直到任務完成——一切都在透明且可擴展的工具迴圈中進行。

codeAgent 概覽

這是什麼

CodeAgent 是一個開源的 AI 程式碼代理工具,直接在你的終端機裡執行。它能理解你的程式碼倉庫、規劃多步驟的變更、寫入與編輯檔案、執行指令與測試,並反覆迭代直到任務完成 — 所有過程都透過透明且可擴展的工具循環來運作。

主要功能

  • 終端機體驗:串流回答圓角框、思考流暗色框、工具事件行(● Bash(...) + ⎿ 結果);針對危險指令與白名單外的寫檔動作提供許可審批面板。
  • 多模型支援:OpenAI 相容協定(預設 DeepSeek)與 Anthropic 協定均可設定;主模型搭配輔助小模型(用於壓縮、檢索、記憶提取等負載較輕的任務)。
  • 工具自註冊體系:tools/ 目錄下的模組匯入即自動登記,並可透過「套餐」(toolset)控制傳送給模型的工具集合。MCP 外部工具可透過專案層級的 .mcp.json 檔案宣告連接。
  • 安全防線:破壞性指令審批、跨工作階段白名單(依指令或前綴規則記憶)、注入攻擊檢測($()、程序替換等)、刪除路徑紅線、自我保護、API 金鑰掃描、SSRF 防護,以及 Linux 下可選的 bwrap 沙箱執行。
  • 記憶與自學習:長期記憶使用 MEMORY.md 索引與 JSONL 儲存;技能系統包含使用者自訂技能與外掛市場;自學習管線能從對話軌跡中沉澱可重複使用的技能。
  • 協作與自動化:子代理(同步/非同步派發,worktree 隔離)、團隊模式(coordinator / worker / 訊息匯流排 / 信箱)、工作流引擎(確定性編排,支援日誌斷點續跑)、定時任務(cron)、宣告式 hooks、任務清單,以及工作階段 checkpoint 回溯(/rewind)。
  • 上下文工程:分級壓縮(L1 輕度裁剪到 L4 深度摘要)、跨輪工具摘要、時基舊結果清除,以及前綴快取友善的臨時訊息注入機制。

使用情境

  • 開發人員想要一個在終端機內執行的 AI 程式碼助手,能自主完成多步驟的檔案編輯、執行指令並反覆迭代。
  • 任何正在學習或建構以代理為基礎的 AI 系統的人,因為 CodeAgent 提供了完整的、附中文註釋的實作,涵蓋工具註冊、上下文壓縮、權限審批、子代理派發、工作流引擎、記憶系統與自學習。
  • 需要高度可自訂、可擴展的 AI 代理,支援多種 LLM 提供者、外掛市場以及對指令執行與寫檔動作的安全控管的使用者。

快速開始

前提條件:Python 3.11 以上版本與 uv(Python 套件管理器)。bash# 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.gitcd codeAgentuv sync# 3) 設定 API 金鑰(二選一)# 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 # 自動恢復最近一次工作階段

授權與價格

本專案採用 MIT 授權條款,為開源軟體。專案本身未提供任何價格資訊。

內容整理自該專案公開的 README 與儲存庫資訊。

將此徽章加入你的 README

Featured on YunoDB 徽章樣式與說明

你是這個專案的維護者嗎?展示它已收錄於 YunoDB。

Markdown[![Featured on YunoDB](https://yunodb.com/badge/harvil1codeagent.svg)](https://yunodb.com/tools/harvil1codeagent?utm_source=github&utm_medium=badge)
HTML<a href="https://yunodb.com/tools/harvil1codeagent?utm_source=github&utm_medium=badge"><img src="https://yunodb.com/badge/harvil1codeagent.svg" alt="Featured on YunoDB" height="20"></a>