Akash-nath29/Coderrr
GitHub: Akash-nath29/Coderrr
Coderrr 是一个 AI 驱动的开源编程命令行助手,能将复杂编程任务自动拆解为步骤并执行文件操作、命令执行和测试。
Stars: 68 | Forks: 26
# Coderrr - AI Coding Agent CLI
[](https://www.npmjs.com/package/coderrr-cli)
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
[](https://github.com/Akash-nath29/Coderrr/issues)
[](https://github.com/Akash-nath29/Coderrr/stargazers)
```
██████╗ ██████╗ ██████╗ ███████╗██████╗ ██████╗ ██████╗
██╔════╝██╔═══██╗██╔══██╗██╔════╝██╔══██╗██╔══██╗██╔══██╗
██║ ██║ ██║██║ ██║█████╗ ██████╔╝██████╔╝██████╔╝
██║ ██║ ██║██║ ██║██╔══╝ ██╔══██╗██╔══██╗██╔══██╗
╚██████╗╚██████╔╝██████╔╝███████╗██║ ██║██║ ██║██║ ██║
╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝
```
**你友好的开源 AI 驱动编程助手**
Coderrr 是一个 AI 驱动的编程助手,它能够分析任务、创建可执行的计划、执行文件操作,并在用户授权下执行命令。专为希望在不牺牲控制权的前提下获得自动化协助的开发者而打造。
## 🧩 技能市场
**通过安装技能扩展 Coderrr 的功能!**
浏览并从 [coderrr-skills](https://github.com/Akash-nath29/coderrr-skills) 市场安装技能:
```
# 浏览可用技能
coderrr market
# 安装技能
coderrr install web-scraper
# 列出已安装的技能
coderrr skills
```
| 技能 | 描述 |
|-------|-------------|
| **web-scraper** | 抓取并提取网页内容 |
| **pdf** | 创建、合并、拆分和提取 PDF |
| **code-analyzer** | 代码 Lint、统计行数、查找 TODO |
| **docx/xlsx/pptx** | 处理 Office 文档 |
| **api-client** | 发起 HTTP 请求 |
👉 **[浏览所有技能 →](https://github.com/Akash-nath29/coderrr-skills)**
## 目录
- [🧩 技能市场](#-skills-marketplace)
- [查看 Coderrr 实际运行效果](#see-coderrr-in-action)
- [功能](#features)
- [核心能力](#core-capabilities)
- [高级功能](#advanced-features)
- [安装说明](#installation)
- [快速开始](#quick-start-zero-config)
- [高级配置](#advanced-configuration-optional)
- [自托管后端](#self-hosting-backend-advanced)
- [使用示例](#usage-examples)
- [交互模式](#interactive-mode-default)
- [单命令模式](#single-command-mode)
- [选项](#options)
- [命令示例](#example-commands)
- [工作原理](#how-it-works)
- [架构](#architecture)
- [代码库智能](#codebase-intelligence)
- [安全功能](#safety-features)
- [项目自定义](#project-customization)
- [支持的测试框架](#supported-test-frameworks)
- [贡献指南](#contributing)
- [文档](#documentation)
- [许可证](#license)
## 查看 Coderrr 实际运行效果

## 功能
### 核心能力
- **任务分析** - 将复杂的请求分解为结构化、可执行的 TODO 项
- **文件操作** - 创建、更新、打补丁、删除和读取文件,并自动创建目录
- **命令执行** - 在强制权限提示下运行 shell 命令(GitHub Copilot 风格)
- **独立终端执行** - 长时间运行的命令会在单独的终端窗口中运行,保持 Coderrr 的响应速度
- **自我修复** - 使用 AI 生成的修复方案自动重试失败的步骤
- **自动化测试** - 完成任务后自动检测并运行测试
- **代码库智能** - 扫描并理解项目结构,以实现精准的文件编辑
- **Git 集成** - 自动创建检查点和提交,并具备便捷的回滚功能
- **交互模式** - 用于迭代开发的持续对话循环
- **美观的 CLI** - 带有进度指示器和状态更新的简洁界面
### 高级功能
- **跨会话记忆** - 通过 `.coderrr/memory.json` 跨会话记住对话上下文
- **Skills.md 支持** - 为你的项目定义持久的编码规范和模式
- **Coderrr.md 支持** - 添加用于指导 AI 行为的特定任务指令
- **代码库扫描器** - 具备 1 分钟缓存的项目自动感知能力
- **多框架支持** - 兼容 Node.js、Python、Go、Rust、Java 项目
- **环境配置** - 通过环境变量灵活配置后端
- **安全第一** - 对所有破坏性操作进行权限提示
- **双重架构** - 使用 Python 处理 AI 后端,使用 Node.js 处理文件操作前端
## 安装说明
## 极简快速开始(面向初次使用的用户)
如果你只想快速试用 Coderrr 而不想进行任何配置,请按照以下步骤操作:
```
npm install -g coderrr-cli
cd C:\Coder\Coderrr
coderrr
### 快速开始(零配置!)
```
```
npm install -g coderrr-cli
```
就是这样!CLI 已预先配置好了托管后端。
## 前置条件
要在本地从源码运行 Coderrr 或为项目做贡献,请确保你具备:
- Node.js >= 16.x
- npm(随 Node.js 一起提供)
- Python >= 3.8
- pip
- Git
### 用法
导航到任何文件夹并开始编码:
```
cd my-project
coderrr
```
## 高级配置(可选)
默认情况下,Coderrr 使用我们位于 `https://coderrr-backend.vercel.app` 的托管后端。
如果你想使用自定义后端(自托管或不同的提供商),你有几个选项:
### 选项 1:用户配置文件(推荐)
创建 `~/.coderrr/.env`:
**Windows:**
```
mkdir $HOME\.coderrr
echo CODERRR_BACKEND=http://localhost:8000 > $HOME\.coderrr\.env
```
**Linux/Mac:**
```
mkdir -p ~/.coderrr
echo "CODERRR_BACKEND=http://localhost:8000" > ~/.coderrr/.env
```
### 选项 2:系统环境变量
**Windows:**
```
setx CODERRR_BACKEND "http://localhost:8000"
```
**Linux/Mac:**
```
export CODERRR_BACKEND="http://localhost:8000"
# 添加到 ~/.bashrc 或 ~/.zshrc 以实现持久化
```
### 选项 3:命令行标志
```
coderrr --backend http://localhost:8000
```
## 自托管后端(高级)
大多数用户不需要这个!但如果你想出于隐私或定制化目的运行自己的后端,请查看我们的[自托管指南](./docs/SELF_HOSTING.md)。
## 使用示例
### 交互模式(默认)
导航到你的项目并启动 agent:
```
cd my-project
coderrr
```
或者明确指定:
```
coderrr start
```
### 单命令模式
执行单个请求并退出:
```
coderrr exec "Create a FastAPI endpoint for user authentication"
```
### 选项
- `-b, --backend ` - 覆盖默认的后端 URL
- `-d, --dir ` - 工作目录(默认:当前目录)
- `--no-auto-test` - 禁用自动运行测试
- `--no-auto-retry` - 禁用错误时的自动重试/自我修复
- `--max-retries ` - 每个失败步骤的最大重试次数(默认:2)
- `--auto-commit` - 启用 git 检查点和自动提交(选择性开启)
**默认后端:** 使用位于 `https://coderrr-backend.vercel.app` 的托管后端
**自我修复:** 当某个步骤失败时,Coderrr 会自动分析错误并尝试修复,最多重试 2 次后才会放弃。
**Git 集成:** 加上 `--auto-commit` 标志后,Coderrr 会在操作前创建安全检查点,并自动提交成功的更改。使用 `coderrr rollback` 撤销更改。
## 命令示例
```
# 交互模式
coderrr
# 创建新功能
coderrr exec "Add a REST API endpoint for creating blog posts"
# 重构代码
coderrr exec "Refactor the authentication module to use JWT tokens"
# 修复 Bug
coderrr exec "Fix the database connection timeout issue"
# 编写测试
coderrr exec "Add unit tests for the user service"
# 启用 git 安全(自动提交)
coderrr --auto-commit exec "Create user authentication system"
# 回滚更改
coderrr rollback
# 自定义 backend
coderrr start --backend http://my-backend:5000
# 不同的工作目录
coderrr start --dir /path/to/project
```
## 工作原理
1. **用户输入** - 你提供一个编程任务或请求
2. **AI 分析** - 后端 LLM 进行分析并创建结构化的计划
3. **TODO 生成** - 将任务分解为可执行的步骤
4. **执行** - agent 执行每一个步骤:
- 文件操作(创建、更新、打补丁、删除)
- 在单独的终端窗口中执行命令(带有权限提示)
5. **测试** - 如果检测到测试框架,则自动运行测试
6. **完成** - 显示摘要和执行统计数据
## 📁 项目结构
Coderrr 仓库遵循简洁和模块化的结构,以提高
可维护性、可扩展性,并方便贡献者上手。
```
📁 Coderrr/
├── 📁 bin/ # CLI entry points (modern CLI & legacy TUI)
├── 📁 src/ # Core agent logic, file operations, execution & UI
├── 📁 backend/ # FastAPI backend for AI processing
├── 📁 docs/ # Detailed documentation (architecture, API, guides)
├── 📁 examples/ # Example usage and demo projects
├── 📁 test/ # General test files
├── 📁 tests/unit/ # Unit tests for core components
├── 📁 .github/ # GitHub Actions, CI/CD workflows, templates
├── 📄 package.json # Node.js dependencies and CLI metadata
├── 📄 README.md # Project overview and usage guide
└── 📄 LICENSE # MIT license
```
## 架构
```
📁 Coderrr/
├── 📁 bin/
│ ├── 📄 coderrr.js # Modern CLI (commander-based)
│ └── 📄 coderrr-cli.js # Legacy TUI (blessed-based)
├── 📁 src/
│ ├── 📄 agent.js # Core agent logic & orchestration
│ ├── 📄 fileOps.js # File operations handler
│ ├── 📄 executor.js # Command executor with permissions
│ ├── 📄 todoManager.js # TODO tracking & visualization
│ ├── 📄 codebaseScanner.js # Project structure scanner
│ └── 📄 ui.js # UI utilities & components
├── 📁 backend/
│ ├── 📄 main.py # FastAPI backend server
│ └── 📄 requirements.txt # Python dependencies
├── 📁 test/ # Test suite
├── 📁 docs/ # Documentation
├── 📁 examples/ # Usage examples
├── 📁 .github/ # CI/CD workflows
├── 📄 package.json
└── 📄 .env # Environment configuration
```
### 后端
处理 AI 模型通信、请求处理和 JSON schema 强制校验。默认运行在端口 5000。
### 前端
管理用户交互、文件操作、命令执行和项目扫描。提供 CLI 和 TUI 界面。
## 代码库智能
Coderrr 包含一个智能的**代码库扫描器**,它能够:
- 在首次请求时**自动扫描**你的项目
- **记住**所有现有文件及其位置
- 在编辑现有代码时**防止**文件名不匹配
- **缓存**结果以加快后续请求的响应速度
- **忽略**常见的文件夹,如 `node_modules`、`env`、`__pycache__`
这意味着当你要求“编辑 agent 文件”时,它知道你指的是 `src/agent.js`,而不是 `agent.py` 或 `agentController.js`。
**了解更多:** 查看 [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md) 获取详细的架构文档。
## 安全功能
- **权限提示** - 所有命令在执行前都需要用户确认
- **Diff 预览** - 在修改文件前查看更改内容
- **逐步执行** - 每个动作都会单独执行并提供反馈
- **错误处理** - 优雅的错误处理机制,提供继续或停止的选项
- **Git 友好** - 在 Git 仓库中运行效果最佳,便于回滚
## 项目自定义
Coderrr 通过特殊文件支持针对特定项目的自定义:
### Skills.md - 持久规范
在你的项目根目录下创建一个 `Skills.md` 文件,以定义适用于**所有任务**的编码规范:
```
# 项目技能
## 代码风格
- Use TypeScript strict mode
- Prefer functional components in React
- Always add JSDoc comments to public functions
## 架构
- Follow clean architecture patterns
- Keep business logic in /src/domain
```
### Coderrr.md - 任务特定指令
创建一个 `Coderrr.md` 文件用于提供针对特定任务的指导:
```
# 当前焦点
Working on authentication module. Priority:
1. Security first - validate all inputs
2. Use bcrypt for password hashing
3. JWT tokens with 1-hour expiry
```
### 跨会话记忆
Coderrr 会自动将对话历史保存在 `.coderrr/memory.json` 中:
- **跨会话持久化** - 从你上次中断的地方继续
- **项目专属** - 每个项目都有其独立的记忆
- **自动管理** - 保留最近 30 轮对话
- **随时清除** - 删除 `.coderrr/memory.json` 即可重置
## 支持的测试框架
Coderrr 会自动检测并运行以下框架的测试:
- **JavaScript/TypeScript** - npm test
- **Python** - pytest
- **Go** - go test
- **Rust** - cargo test
- **Java** - Maven (mvn test) 或 Gradle (gradle test)
## 本地开发设置(面向贡献者)
本部分介绍如何在本地从源码运行 Coderrr 以进行开发或贡献。
### 1. 克隆仓库
```
git clone https://github.com/Akash-nath29/Coderrr.git
cd Coderrr
```
### 2. 后端设置
你可以使用 Docker(推荐)或手动设置来运行后端。
#### 选项 A:Docker(推荐)
```
docker compose up --build
```
后端将启动在 `http://localhost:5000`,并启用了热重载。
#### 选项 B:手动设置
```
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
```
运行后端服务器:
```
uvicorn main:app --reload --port 5000
```
后端将可以通过以下地址访问:
```
http://localhost:5000
```
### 3. CLI 设置
在项目根目录下执行:
```
npm install
npm link
```
这允许你使用以下命令运行本地 CLI:
```
coderrr
```
### 4. 配置 CLI 使用本地后端
创建一个用户配置文件:
```
mkdir -p ~/.coderrr
echo "CODERRR_BACKEND=http://localhost:5000" > ~/.coderrr/.env
```
或者直接运行:
```
coderrr --backend http://localhost:5000
```
### 5. 验证本地设置
```
cd any-project
coderrr
```
## 故障排除
### 无法连接后端
- 确保 FastAPI 正在端口 5000 上运行
- 检查 `CODERRR_BACKEND` 的值
### 找不到 `coderrr` 命令
- 再次运行 `npm link`
- 重启终端
### Python 依赖错误
- 确保已激活虚拟环境
- 重新运行 `pip install -r requirements.txt`
## 贡献指南
在贡献之前,请阅读上方的**项目结构**部分,以了解应将新代码、测试或文档添加到何处。
欢迎 contributions!在提交 pull request 之前,请阅读我们的[贡献指南](./CONTRIBUTING.md)。
### 分支工作流
- `feature/*` → `dev` → `main`
- 直接将 feature 提交到 main 的 PR 会被 CI 阻止
- 所有测试都会在针对 dev 或 main 的 PR 上运行
有关详细的开发设置和指南,请参阅 [CONTRIBUTING.md](./CONTRIBUTING.md)。
## 文档
- [架构](./docs/ARCHITECTURE.md) - 系统设计和数据流
- [API 参考](./docs/API.md) - 完整的 API 文档
- [常见问题](./docs/FAQ.md) - 常见问题解答- [部署](./docs/DEPLOYMENT.md) - 生产环境部署指南
- [示例](./examples/) - 使用示例和教程
## 许可证
MIT 许可证 - 详情请参阅 [LICENSE](./LICENSE) 文件。
## 鸣谢
灵感来源于:
- Claude Code (Anthropic)
- GitHub Copilot CLI
- Cursor AI
**由开发者构建,为开发者服务**
标签:AI编程助手, GNU通用公共许可证, MITM代理, Node.js, SOC Prime, 开发工具, 开源, 暗色界面, 网络安全研究, 网络调试, 自动化, 自定义脚本, 逆向工具