EkagraAgarwal/BanyanCode
GitHub: EkagraAgarwal/BanyanCode
BanyanCode 是一个终端原生的多 agent 编码框架,通过并行子 agent、持久化记忆和 Tree-Sitter 代码图谱将单个 prompt 转化为可验证的自动化开发工作流。
Stars: 3 | Forks: 0
# BanyanCode
**用于 loop engineering 的 agent 框架。**
将单个 prompt 转化为协同工作的编码系统 —— 并行 agent、持久化 memory、代码库智能,以及可验证的 workflow,全部集成于一个快速的终端 UI 中。
[](https://www.npmjs.com/package/banyancode)
[](https://github.com/EkagraAgarwal/BanyanCode/releases/latest)
[](https://github.com/EkagraAgarwal/BanyanCode/blob/main/LICENSE)
## 安装说明
```
# YOLO
curl -fsSL https://raw.githubusercontent.com/EkagraAgarwal/BanyanCode/main/install | bash
# Windows
irm https://raw.githubusercontent.com/EkagraAgarwal/BanyanCode/main/install.ps1 | iex
# 包管理器
npm i -g banyancode@latest # or bun/pnpm/yarn
bun add -g banyancode # Bun (fastest)
```
在任何项目目录中运行 `banyancode` —— 它会在当前 workspace 中打开,并在您工作时开始构建增量 code graph。
## 为什么选择 BanyanCode
大多数 coding agent 只提供对话功能。BanyanCode 为您提供一个**系统**。
- 一个 prompt 即可启动一个协同工作的 agent 团队。
- 每个 agent 都会自动获得其所需的 context 和工具。
- 您的 repository 将成为可搜索的结构化数据,而不是一堆杂乱的文件。
- Memory 会跨会话积累,而不会随着对话消失。
- 验证内置于 loop 中,而不是事后补充。
适用于重构、迁移、调试、代码库 onboarding、重度研究的实现,以及自主软件工程。
## 核心功能
### 并行 Subagent Mesh
从单个 prompt 并发调度 `scout`、`coder` 和 `researcher` agent。主 orchestrator 会分解任务并将其分配到整个 mesh 中,由可配置的并发上限和最旧优先终止的 eviction policy 进行管控 —— 从而防止任何任务耗尽您的资源。
The Agent Tree view — full visibility into every subagent, nested subagent, and its token spend.
### Loop Engineering
构建可重复的 agent loop,包含目标、行动、验证、重试和 memory —— 而无需您手动驱动每一个环节。核心 workflow 始终是:
```
trigger → context → plan → execute → verify → remember → repeat
```
Live plans, todo tracking, and system stats — right inside the chat.
### 跨会话的持久化 Memory
一个多层的 memory 引擎,能够在不同会话之间真正记住您的代码库:候选提取、意图分类、混合 FTS5/tag 检索,以及自动化的清理扫描(过期 → 调和 → 修剪),让 memory 保持有效而不至于陈旧失效。
### 代码库智能(Tree-Sitter Code Graph)
`/codegraph-build` 将您的仓库索引为一个实时、可查询的图表,包含符号、调用者、依赖者、测试、影响范围和归属权 —— 由 Tree-Sitter 解析提供支持,并对其原生不支持的内容提供 regex 回退机制。
### 验证 Hooks
Repository context、影响范围分析、预检、测试和 review loop 让每一个 agent 的变更在落地前都立足于实际情况。
### 免费研究 Loop
由 DuckDuckGo HTML 搜索提供支持的 `researcher` subagent —— 无需 API key,无需支付速率限制费用。
### 终端原生 UX
快速的 TUI,具备命令面板、内置 LSP 支持、模型切换、执行追踪和全键盘控制。
## 工作流程
```
Prompt
└─► Orchestrator
├─► Scout explores the repository
├─► Coder implements the change
├─► Researcher checks external knowledge
├─► Memory carries context across sessions
└─► Code graph verifies structure and impact
└─► merged, reviewable result
```
## 命令
在 TUI 中输入 `/` 以浏览所有命令。核心 workflow 包括:
| 命令 | 用途 |
|---|---|
| `/init` | 为 workspace 设置 `AGENTS.md`。 |
| `/review` | 审查未提交的更改、commits、分支或 pull requests。 |
| `/codegraph-build` | 构建或刷新 tree-sitter code graph。 |
| `/repository-query` | 同时搜索符号、测试、文档、配置和关系。 |
| `/repository-explain` | 通过架构切片了解某个符号。 |
| `/repository-trace` | 通过图表追踪下游依赖者。 |
| `/repository-impact` | 查看变更的影响范围。 |
| `/repository-tests` | 查找与符号相关的测试。 |
| `/websearch-free` | 使用 researcher agent 搜索网络。 |
| `/max-subagents` | 设置 mesh 的并发上限。 |
| `/lsp` | 切换内置 language servers。 |
| `/yolo` | 为沙盒化的 workflow 启用自动权限批准。 |
## 配置
BanyanCode 是一款独立产品,使用 `banyancode.json` —— 绝不使用 `opencode.json`。
```
{
"banyancode_lsp": true,
"banyancode_max_subagents": 10,
"agent": {
"coder": { "model": "minimax-coding-plan/MiniMax-M3" },
"scout": { "model": "minimax-coding-plan/MiniMax-M3" },
"researcher": { "model": "minimax-coding-plan/MiniMax-M3" }
}
}
```
| 键 | 默认值 | 用途 |
|---|---:|---|
| `banyancode_lsp` | `false` | 启用内置 language servers。 |
| `banyancode_max_subagents` | `5` | 将并发 subagents 限制在 1 到 20 之间。 |
| `banyancode_yolo_mode` | `false` | 自动批准权限。 |
| `banyancode_disable_websearch` | `false` | 禁用免费的 researcher agent。 |
| `banyancode_codegraph_watch_enabled` | `true` | 随文件变化更新 code graph。 |
## 数据与隐私
项目数据默认保留在本地:
```
.banyancode/
├── banyancode.db
├── ignore
└── trace/
```
BanyanCode 绝不会读取或写入 OpenCode 的配置或数据。全局 BanyanCode 数据位于 `~/.config/banyancode/` 和 `~/.local/share/banyancode/` 下。
## 开发
BanyanCode 使用 Bun 和 monorepo workspace。
```
bun install
bun run lint
bun typecheck
```
从 package 目录而不是 repository 根目录运行 package 测试:
```
cd packages/core
bun test
```
## 构建于
- [OpenCode](https://github.com/anomalyco/opencode) —— BanyanCode fork 自此的 TUI / CLI runtime
- [Effect](https://effect.website) —— 类型安全的服务架构
- [tree-sitter](https://tree-sitter.github.io) —— 增量解析
- [DuckDuckGo HTML](https://duckduckgo.com/html/) —— 免费网络搜索
- [libSQL](https://turso.tech) —— 嵌入式 SQL 存储
## 许可证
[MIT](./LICENSE)
标签:AI编程助手, SOC Prime, 人工智能, 多智能体, 开发工具, 暗色界面, 用户模式Hook绕过, 网络调试, 自动化, 自动化攻击