π» CodeActor β A Self-Evolving AI Coding Engine
Not a copilot. A crew of autonomous agents that understand, navigate, and evolve your codebase β together.
βΆοΈ Click the image above to watch the demo video on YouTube
π‘ Why CodeActor?
Most AI coding tools share a fundamental flaw: they treat code as text, not structure.
| Traditional Tools | CodeActor |
|---|---|
| Flat text pattern matching | π§ Structural code understanding via AST + call graphs + semantic vectors |
| Single agent, working alone | π€ Hub-and-Spoke multi-agent: Conductor orchestrates, six specialized agents execute |
| Static capabilities | 𧬠Meta-Agent: designs & registers new agents at runtime β the system evolves |
| Keyword-only search | π Natural-language semantic search β "find where auth logic is implemented" |
| No project memory | π Git Commit Learning: auto-learns commit history, injects relevant context |
π€ The Agent Team
| Agent | Role | Core Capability |
|---|---|---|
| πΌ Conductor | Orchestrator | Task decomposition, dynamic planning, delegation, review |
| π¬ Repo-Agent | Code Archaeologist | AST parsing, semantic search, call graphs, code skeletons |
| βοΈ Coding-Agent | Staff Engineer | 22+ tools, autonomous coding, self-correction |
| π Browser-Agent | Web Researcher | Headless Chrome, page navigation, data extraction |
| π§ DevOps-Agent | SRE | Shell execution, environment diagnostics, process management |
| π¬ Chat-Agent | Technical Advisor | General Q&A, technical explanations |
| 𧬠Meta-Agent | Agent Factory | Runtime agent design & registration |
ποΈ Architecture
User Interface (TUI / HTTP+WebSocket)
β
πΌ Conductor
Task Decomposition Β· Dynamic Planning Β· Review
β
ββββββββββΌβββββββββ¬βββββββββ¬βββββββββ¬βββββββββ
β β β β β β
π¬Repo βοΈCoding π¬Chat π§DevOps πBrowser π§¬Meta
Code Intel Editing Q&A Shell Web Agent
(Rust) (22 tools) Ops Research Factory
β‘ Four Core Differentiators
π§ 1. Rust-Powered Deep Code Intelligence
The Repo-Agent is backed by a Rust engine with Tree-sitter AST parsing, LanceDB vector embeddings, and Petgraph call-graph analysis. It understands code like a senior engineer β cross-file impact analysis, cycle detection, semantic search.
- 7 language ASTs: Rust Β· Python Β· JavaScript Β· TypeScript Β· Java Β· C++ Β· Go
- Semantic search: find code by meaning, not keywords
- Call graph analysis: real-time "who calls this function?" and "what will this change break?"
- Auto-indexing: file watcher with 20s debounce keeps the model in sync
𧬠2. Meta-Agent: Self-Evolving at Runtime
This is CodeActor's most unique capability. When the Conductor encounters a task beyond built-in agents, the Meta-Agent:
- π¨ Designs β auto-generates a new agent's system prompt and toolset
- β‘ Executes β immediately runs the new agent to complete the task
- π§ Registers β permanently adds it to the available tool pool
Example: auto-creates
delegate_security_auditorfor full-repo security audits, ordelegate_performance_profilerfor bottleneck analysis.
π 3. Browser-Agent: Autonomous Web Research
Built-in headless Chrome (go-rod) navigates the web autonomously β documentation, GitHub issues, Stack Overflow. When local context is insufficient, the Conductor delegates web research automatically.
"Find the latest FastAPI middleware docs and summarize CORS setup" β without leaving the terminal.
π 4. Git Commit Learning: Project Memory
Automatically fetches recent commits β LLM generates structured summaries β LanceDB vector storage β semantic matching on user queries β relevant history auto-injected into context. The AI always knows your project's latest evolution.
π¬ 5. Hybrid Retrieval + Code Graph Expansion: From "Found" to "Understood"
Traditional code search tells you where keywords match. CodeActor finds the code, then automatically analyzes the structural world around it.
π― Three-Stage Cascading Retrieval Pipeline
User Query
β
βββ Stage 1: Hybrid Search (Dual-Channel High Recall)
β βββ π§ Dense: LanceDB Vector Search (Qwen3-Embedding-4B, 2560-dim)
β βββ π€ Sparse: Tantivy BM25 Full-Text Search (CodeTokenizer for snake_case/CamelCase)
β βββ π RRF Fusion: Reciprocal Rank Fusion merges both channels
β
βββ Stage 2: Code Graph Expansion (Structural Context Injection)
β βββ PetCodeGraph BFS Traversal: from seed functions, auto-expand callers/callees
β βββ Cross-file context: place isolated code blocks back into their architectural position
β
βββ Stage 3: Cross-Encoder Rerank (Precision Refinement)
βββ Optional Reranker API for Query-Document cross-encoding rerank
Why This Matters
Pure vector search treats code blocks as isolated islands β it computes semantic similarity but has no idea what the function calls, who calls it, or what module it belongs to.
CodeActor's breakthrough: Hybrid retrieval + code graph expansion = a leap from "found" to "understood".
| Aspect | Pure Vector Search | CodeActor Hybrid + Graph Expansion |
|---|---|---|
| Recall | β Semantic matches with different keywords β missed | β BM25 + Vector dual-channel covers both semantics and exact match |
| Precision | β Short text / noise often ranks high | β RRF fusion + short-code penalty + Cross-Encoder triple filtering |
| Context | β Returns isolated code blocks with no call relationships | β PetCodeGraph auto-expands call chains, restores architectural context |
| Code-Aware | β Generic tokenizers don't understand code naming | β Custom CodeTokenizer designed for snake_case & CamelCase |
| Robustness | β Single point of failure | β Triple degradation: BM25 failsβdense-only, Reranker failsβRRF, one channelβother |
π Quick Start
Download Pre-built Binary (Recommended)
Download the latest all-in-one release for your platform from the GitHub Releases page. The binary bundles the codexray intelligence engine (Rust), fzf (fuzzy finder), and ripgrep (regex search) β everything you need is included. Just extract and run ./codeactor β zero dependencies, zero configuration.
Prerequisites (for building from source)
- Go 1.24+
ripgrep(full-text regex search)
Build from Source
git clone https://github.com/iohub/codeactor-agent.git
cd codeactor-agent
go build -o codeactor .
Configure
Create ~/.codeactor/config/config.toml:
[global.llm]
use_provider = "siliconflow"
[global.llm.providers.siliconflow]
model = "deepseek-ai/DeepSeek-V3.2"
api_base_url = "https://api.siliconflow.cn/v1"
api_key = "your-api-key"
temperature = 0.0
max_tokens = 23000
Run
# TUI mode
./codeactor tui
# With a task file
./codeactor tui --taskfile TASK.md
# HTTP server mode (default :9080)
./codeactor http
π Documentation
| Document | Description |
|---|---|
| ARCHITECTURE.md | System architecture, modules, data flow |
| Agent_Design.md | Multi-agent design rationale |
| Agent_Reference.md | API reference & configuration |
| Browser_Agent_Design.md | Browser agent architecture |
π€ Community & Contributing
We welcome all contributions β bug reports, feature requests, docs, and code.
- π Open an Issue
- π Submit a PR
- π¬ Join the Discussion