据 AlphaMoat 统计,截至 2026-10,Project Orchestrator 累计下载 5,602 次、获 3 个星标,按累计下载量在本次参与排名的 5,109 个 AI 技能中排名第 2,477 位,在「AI 智能体」分类(987 个)中排名第 475 位。
列表默认按累计下载量排序,也可按星标排序;详情页排名按累计下载量计算。
| 平台 | 累计下载 | 星标 | 评论 |
|---|---|---|---|
| ClawHub ↗ | 3,600 | 3 | - |
| SkillHub ↗ | 5,602 | 3 | — |
各平台的计数口径不同,统计时间不一致。
AI代理编排器,使用Neo4j 知识图谱、Meilisearch 检索和 Tree‑sitter 解析,用于在复杂项目中协调多个编码代理,共享上下文与计划。
2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。
| 月份 | 累计下载 | 环比 | 星标 |
|---|---|---|---|
| 2026-10 | 5,602 | — | 3 |
| 2026-09 | 3,824 | — | 3 |
| 2026-08 | 3,406 | +3.6% | 3 |
| 2026-07 | 3,288 | +8.6% | 3 |
| 2026-06 | 3,029 | +4.6% | 3 |
| 2026-05 | 2,896 | — | 3 |
以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。
---
name: project-orchestrator
description: AI agent orchestrator with Neo4j knowledge graph, Meilisearch search, and Tree-sitter parsing. Use for coordinating multiple coding agents on complex projects with shared context and plans.
metadata:
clawdbot:
emoji: "🎯"
requires:
bins: ["docker", "cargo"]
---
# Project Orchestrator
Coordinate multiple AI coding agents with a shared knowledge base.
## Features
- **Multi-Project Support**: Manage multiple codebases with isolated data
- **Neo4j Knowledge Graph**: Code structure, relationships, plans, decisions
- **Meilisearch**: Fast semantic search across code and decisions
- **Tree-sitter**: Precise code parsing for 12 languages
- **Plan Management**: Structured tasks with dependencies and constraints
- **MCP Integration**: 62 tools for Claude Code, OpenAI Agents, and Cursor
## Documentation
- [Installation Guide](docs/setup/installation.md)
- [Getting Started Tutorial](docs/guides/getting-started.md)
- [API Reference](docs/api/reference.md)
- [MCP Tools Reference](docs/api/mcp-tools.md)
- Integration Guides: [Claude Code](docs/integrations/claude-code.md) | [OpenAI](docs/integrations/openai.md) | [Cursor](docs/integrations/cursor.md)
## Quick Start
### 1. Start the backends
```bash
cd {baseDir}
docker compose up -d neo4j meilisearch
```
### 2. Build and run the orchestrator
```bash
cargo build --release
./target/release/orchestrator serve
```
Or with Docker:
```bash
docker compose up -d
```
### 3. Sync your codebase
```bash
# Via CLI
./target/release/orch sync --path /path/to/project
# Via API
curl -X POST http://localhost:8080/api/sync \
-H "Content-Type: application/json" \
-d '{"path": "/path/to/project"}'
```
## Usage
### Create a project
```bash
# Create a new project
curl -X POST http://localhost:8080/api/projects \
-H "Content-Type: application/json" \
-d '{
"name": "Embryon",
"root_path": "/Users/triviere/projects/embryon",
"description": "Neural network composition framework"
}'
# List all projects
curl http://localhost:8080/api/projects
# Sync a project
curl -X POST http://localhost:8080/api/projects/embryon/sync
# Search code within a project
curl "http://localhost:8080/api/projects/embryon/code/search?q=tensor&limit=10"
```
### Create a plan
```bash
orch plan create \
--title "Implement GPU Backend" \
--desc "Add Metal GPU support for neural network operations" \
--priority 10
```
### Add tasks to the plan
```bash
orch task add \
--plan <plan-id> \
--desc "Implement MatMul Metal shader"
orch task add \
--plan <plan-id> \
--desc "Add attention layer GPU support" \
--depends <task-1-id>
```
### Get context for an agent
```bash
# JSON context
orch context --plan <plan-id> --task <task-id>
# Ready-to-use prompt
orch context --plan <plan-id> --task <task-id> --prompt
```
### Record decisions
```bash
orch decision add \
--task <task-id> \
--desc "Use shared memory for tile-based MatMul" \
--rationale "Better cache locality, 2x performance improvement"
```
### Search past decisions
```bash
orch decision search "memory management GPU"
```
## API Endpoints
### Projects (Multi-Project Support)
| Method | Path | Description |
|--------|------|-------------|
| GET | `/api/projects` | List all projects |
| POST | `/api/projects` | Create a new project |
| GET | `/api/projects/{slug}` | Get project by slug |
| DELETE | `/api/projects/{slug}` | Delete a project |
| POST | `/api/projects/{slug}/sync` | Sync project's codebase |
| GET | `/api/projects/{slug}/plans` | List project's plans |
| GET | `/api/projects/{slug}/code/search` | Search code in project |
### Plans & Tasks
| Method | Path | Description |
|--------|------|-------------|
| GET | `/health` | Health check |
| GET | `/api/plans` | List active plans |
| POST | `/api/plans` | Create plan |
| GET | `/api/plans/{id}` | Get plan details |
| PATCH | `/api/plans/{id}` | Update plan status |
| GET | `/api/plans/{id}/next-task` | Get next available task |
| POST | `/api/plans/{id}/tasks` | Add task to plan |
| GET | `/api/tasks/{id}` | Get task details |
| PATCH | `/api/tasks/{id}` | Update task |
| GET | `/api/plans/{plan}/tasks/{task}/context` | Get task context |
| GET | `/api/plans/{plan}/tasks/{task}/prompt` | Get generated prompt |
| POST | `/api/tasks/{id}/decisions` | Add decision |
| GET | `/api/decisions/search?q=...` | Search decisions |
### Sync & Watch
| Method | Path | Description |
|--------|------|-------------|
| POST | `/api/sync` | Sync directory to knowledge base |
| GET | `/api/watch` | Get file watcher status |
| POST | `/api/watch` | Start watching a directory |
| DELETE | `/api/watch` | Stop file watcher |
| POST | `/api/wake` | Agent completion webhook |
### Code Exploration (Graph + Search)
| Method | Path | Description |
|--------|------|-------------|
| GET | `/api/code/search?q=...` | Semantic code search |
| GET | `/api/code/symbols/{path}` | Get symbols in a file |
| GET | `/api/code/references?symbol=...` | Find all references to a symbol |
| GET | `/api/code/dependencies/{path}` | Get file import/dependent graph |
| GET | `/api/code/callgraph?function=...` | Get function call graph |
| GET | `/api/code/impact?target=...` | Analyze change impact |
| GET | `/api/code/architecture` | Get codebase overview |
| POST | `/api/code/similar` | Find similar code snippets |
| GET | `/api/code/trait-impls?trait_name=...` | Find types implementing a trait |
| GET | `/api/code/type-traits?type_name=...` | Find traits implemented by a type |
| GET | `/api/code/impl-blocks?type_name=...` | Get all impl blocks for a type |
## Auto-Sync with File Watcher
Keep the knowledge base updated automatically while coding:
```bash
# Start watching a project directory
curl -X POST http://localhost:8080/api/watch \
-H "Content-Type: application/json" \
-d '{"path": "/path/to/project"}'
# Check watcher status
curl http://localhost:8080/api/watch
# Stop watching
curl -X DELETE http://localhost:8080/api/watch
```
The watcher automatically syncs `.rs`, `.ts`, `.tsx`, `.js`, `.jsx`, `.py`, `.go` files when modified.
It ignores `node_modules/`, `target/`, `.git/`, `__pycache__/`, `dist/`, `build/`.
## Code Exploration
Query the code graph instead of reading files directly:
```bash
# Semantic search across code
curl "http://localhost:8080/api/code/search?q=error+handling&language=rust&limit=10"
# Get symbols in a file (functions, structs, etc.)
curl "http://localhost:8080/api/code/symbols/src%2Flib.rs"
# Find all references to a symbol
curl "http://localhost:8080/api/code/references?symbol=AppState&limit=20"
# Get file dependencies (imports and dependents)
curl "http://localhost:8080/api/code/dependencies/src%2Fneo4j%2Fclient.rs"
# Get call graph for a function
curl "http://localhost:8080/api/code/callgraph?function=handle_request&depth=2&direction=both"
# Analyze impact before changing a file
curl "http://localhost:8080/api/code/impact?target=src/lib.rs&target_type=file"
# Get architecture overview
curl "http://localhost:8080/api/code/architecture"
# Find similar code patterns
curl -X POST http://localhost:8080/api/code/similar \
-H "Content-Type: application/json" \
-d '{"snippet": "async fn handle_error", "limit": 5}'
# Find all types implementing a trait
curl "http://localhost:8080/api/code/trait-impls?trait_name=Module"
# Find all traits implemented by a type
curl "http://localhost:8080/api/code/type-traits?type_name=Orchestrator"
# Get all impl blocks for a type
curl "http://localhost:8080/api/code/impl-blocks?type_name=Neo4jClient"
```
## For Agents
### Getting context before starting work
```bash
# Fetch your task context
curl http://localhost:8080/api/plans/$PLAN_ID/tasks/$TASK_ID/prompt
```
### Recording decisions while working
```bash
curl -X POST http://localhost:8080/api/tasks/$TASK_ID/decisions \
-H "Content-Type: application/json" \
-d '{
"description": "Chose X over Y",
"rationale": "Because..."
}'
```
### Notifying completion
```bash
curl -X POST http://localhost:8080/api/wake \
-H "Content-Type: application/json" \
-d '{
"task_id": "'$TASK_ID'",
"success": true,
"summary": "Implemented feature X",
"files_modified": ["src/foo.rs", "src/bar.rs"]
}'
```
## Configuration
Environment variables:
| Variable | Default | Description |
|----------|---------|-------------|
| `NEO4J_URI` | `bolt://localhost:7687` | Neo4j connection URI |
| `NEO4J_USER` | `neo4j` | Neo4j username |
| `NEO4J_PASSWORD` | `orchestrator123` | Neo4j password |
| `MEILISEARCH_URL` | `http://localhost:7700` | Meilisearch URL |
| `MEILISEARCH_KEY` | `orchestrator-meili-key-change-me` | Meilisearch API key |
| `WORKSPACE_PATH` | `.` | Default workspace path |
| `SERVER_PORT` | `8080` | Server port |
| `RUST_LOG` | `info` | Log level |
## Architecture
```
┌─────────────────────────────────────────────────────────────┐
│ ORCHESTRATOR API │
│ (localhost:8080) │
└─────────────────────────────┬───────────────────────────────┘
│
┌─────────────────────┼─────────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ NEO4J │ │ MEILISEARCH │ │ TREE-SITTER │
│ (7687) │ │ (7700) │ │ (in-proc) │
│ │ │ │ │ │
│ • Code graph │ │ • Code search │ │ • AST parsing │
│ • Plans │ │ • Decisions │ │ • Symbols │
│ • Decisions │ │ • Logs │ │ • Complexity │
│ • Relations │ │ │ │ │
└───────────────┘ └───────────────┘ └───────────────┘
```
## Development
```bash
# Run tests
cargo test
# Run with debug logging
RUST_LOG=debug cargo run -- serve
# Format code
cargo fmt
# Lint
cargo clippy
```
把开发过程中的经验、错误与纠正记录为 Markdown 文件,供后续复用并晋升为工作区记忆。
用自然语言描述需求,在本地与远程技能市场里找技能并给出推荐的技能。
给 AI agent 用的浏览器自动化命令行技能。
把用户纠正与自我复盘沉淀成分层记忆、并按使用情况升降级的技能。
一份为 AI 代理规划主动跟进、工作记忆与复盘流程的工作区配置指南。
指导如何创建与更新有效 Claude 技能的写作指南。
在安装第三方技能之前,按清单审查来源、权限与危险模式的技能。
把 agent 的记忆与跨技能状态存成带类型和约束的知识图谱的技能。
数据月份:2026-10 · 下载/星标数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。