Conductor

June 1, 2026 · View on GitHub

AI-native collaborative coding inside VS Code.

Turn engineering discussions into structured decisions and executable code tasks.

Conductor combines real-time team collaboration, isolated Git workspaces, agentic code intelligence, and multi-provider AI into a single developer environment.

English | 中文


Why Conductor

Modern AI coding tools are powerful — but they are mostly single-user tools.

Tools like GitHub Copilot, Cursor, and ChatGPT help individuals write code. But software development is a team activity.

Most engineering knowledge lives in meetings, chat discussions, and design reviews. By the time code is written, the reasoning behind decisions is often lost.

Conductor explores a different approach: instead of starting from code prompts, we start from engineering discussions.

The Idea

Conductor transforms engineering conversations into structured inputs for AI systems.

Team Discussion

AI Distillation

Structured Engineering Decisions

Code Intelligence Agent

Implementation

This allows AI systems to understand not only the codebase, but also the context behind engineering decisions.

What Conductor Provides

Collaborative Coding Rooms

Teams collaborate inside shared rooms with real-time chat, file sharing, code snippets, and TODO tracking.

Isolated Git Workspaces

Each collaboration room runs inside its own Git workspace using bare repositories, Git worktrees, and a custom VS Code filesystem (conductor://). This allows AI agents to explore code safely without affecting developers' local repositories.

Agentic Code Intelligence

Conductor uses a Brain orchestrator with tool-based agent loops instead of simple RAG. The Brain (strong model) dispatches specialist sub-agents, each navigating the repository using 46 code tools (up to 40 iterations, 500K token budget). For PR review, a dedicated PR Brain v2 takes over via transfer_to_brain("pr_review") and runs a coordinator loop with two dispatch primitives: dispatch_subagent (file-range scoped, 3 falsifiable checks) and dispatch_dimension_worker (full-diff sweep through one role lens — security/correctness/concurrency/reliability/performance/test_coverage/api_contract).

ToolDescription
grepRegex search (ripgrep)
read_fileRead file content with line range
list_filesDirectory tree
find_symbolAST-based symbol definition (with role classification)
find_referencesAll usages of a symbol
file_outlineAll definitions in a file
get_dependenciesFiles this file imports
get_dependentsFiles that import this file
git_logRecent commits; search= param filters by commit message
git_diffDiff between refs
ast_searchStructural AST search (ast-grep, $VAR/$$$MULTI patterns)
get_calleesFunctions called within a function
get_callersFunctions that call a given function (cross-file)
git_blamePer-line authorship with commit hash, author, date
git_showFull commit details (message + diff); reads pre-change file at HEAD~1:path
find_testsTest functions covering a given function/class
test_outlineTest file structure with mocks, assertions, fixtures
trace_variableData flow tracing: alias detection, arg→param mapping, sink/source patterns
compressed_viewFile signatures + call relationships + side effects (~80% token savings)
module_summaryModule-level summary: services, models, functions, file list (~95% savings)
expand_symbolExpand a symbol from compressed view to full source code
run_testExecute a test file or function; returns pass/fail + output (optional verification)

The Brain dispatches agents via dispatch_agent / dispatch_swarm tools, each with per-agent tool sets. A Token Budget Controller emits NORMAL → WARN_CONVERGE → FORCE_CONCLUDE signals. An Evidence Evaluator gates answers before finalising: requires file:line references, ≥2 tool calls, ≥1 file accessed.

Multi-Provider AI

Conductor supports AWS Bedrock (Claude, Qwen, DeepSeek, Mistral, Nova, NVIDIA, GLM), Anthropic Direct, OpenAI, Alibaba DashScope, and Moonshot. ProviderResolver health-checks all configured providers at startup and selects the best available model. All providers implement chat_with_tools().

Jira Integration + Task Board

Full Jira integration (OAuth 3LO) with 5 agent tools and a 3-phase workflow: investigate (code analysis) → mark code (TODO markers with dependencies) → update ticket. The Task Board shows Jira tickets grouped by Epic (mine=green, unassigned=orange) with dependency-aware drag-and-drop to AI Working Space.

Cloud Deployment

Docker images ship with dev-default secrets. For ECS/K8s, CONDUCTOR_* environment variables override any secret in conductor.secrets.yaml. See docs/GUIDE.md §21.7 for the full variable reference.

Quick Demo

# Start the backend
cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload

Open the VS Code extension and start a session. Then ask questions like:

  • "Where is the loan approval logic implemented?"
  • "Trace how the payment service is called."
  • "Explain the dependency graph of this module."

Architecture

┌──────────────────────────────────┐     ┌──────────────────────────────────────────┐
│   VS Code Extension              │     │   FastAPI Backend                        │
│                                  │     │                                          │
│  ┌────────────────────────────┐  │ WS  │  ┌───────────────────────────────────┐  │
│  │ SessionFSM                 │  │◄────┼──│ WebSocket Manager (rooms/broadcast)│  │
│  │ WebSocketService           │  │     │  └───────────────────────────────────┘  │
│  │ CollabPanel + @AI commands │  │     │                                          │
│  │ /ask, /pr slash menu       │  │     │  ┌───────────────────────────────────┐  │
│  └────────────────────────────┘  │     │  │ Brain Orchestrator (strong)        │  │
│                                  │     │  │  dispatch_agent / dispatch_swarm  │  │
│  ┌────────────────────────────┐  │HTTP │  │  transfer_to_brain (PR Brain)     │  │
│  │ WorkspaceClient            │◄─┼─────┼──│  ask_user (mid-loop clarify)      │  │
│  │ WorkspacePanel (wizard)    │  │     │  │  TaskTelemetry per-task usage     │  │
│  │ FileSystemProvider         │  │     │  └───────────────────────────────────┘  │
│  └────────────────────────────┘  │     │                                          │
│                                  │     │  ┌───────────────────────────────────┐  │
│                                  │     │  │ AgentLoopService (sub-agents)     │  │
│                                  │     │  │  4-layer system prompt            │  │
│                                  │     │  │  LLM ←→ 42 Code Tools             │  │
│                                  │     │  │  → BudgetController               │  │
│                                  │     │  │  → EvidenceEvaluator → SSE stream │  │
└──────────────────────────────────┘     │  └───────────────────────────────────┘  │
                                         │                                          │
                                         │  ┌───────────────────────────────────┐  │
                                         │  │ AI Provider Layer                  │  │
                                         │  │  ProviderResolver → health check  │  │
                                         │  │  ├─ ClaudeBedrockProvider         │  │
                                         │  │  ├─ ClaudeDirectProvider          │  │
                                         │  │  └─ OpenAIProvider                │  │
                                         │  └───────────────────────────────────┘  │
                                         │                                          │
                                         │  ┌───────────────────────────────────┐  │
                                         │  │ Git Workspace Service              │  │
                                         │  │  bare clone → worktree per room   │  │
                                         │  └───────────────────────────────────┘  │
                                         │                                          │
                                         │  ┌───────────────────────────────────┐  │
                                         │  │ PostgreSQL (Liquibase-managed)    │  │
                                         │  │  tables + task telemetry          │  │
                                         │  └───────────────────────────────────┘  │
                                         └──────────────────────────────────────────┘

Project Status

Current prototype includes:

  • VS Code collaboration extension with slash-command @AI chat and workflow visualization
  • FastAPI backend with Brain orchestrator (dispatches specialist agents)
  • Agentic code intelligence (46 tools, 4-layer prompt architecture)
  • PR Brain v2 — coordinator-worker (agent-as-tool) PR review: a Sonnet coordinator surveys the diff, dispatches scope-bounded workers (scoped dispatch_subagent + dimension-sliced dispatch_dimension_worker) from 7 role templates, classifies severity itself, and runs deterministic post-passes (P8 reflection against Phase 2 facts, P11 per-finding verifier, P13 phantom-symbol scanners for Python/Go/Java, P14 stub-caller detector, diff-scope filter). Mandatory-dispatch detector (Tier 1 path + Tier 2 +-line content) forces security/reliability coverage on auth/crypto/migration PRs regardless of survey.
  • Fact Vault (short-term memory per PR review — task-scoped SQLite cache shared across sub-agents; Phase 9.15)
  • Hardened tree-sitter scan — subprocess-isolated parsing with SIGKILL-on-timeout + JSX-depth heuristic; tree-sitter upgraded to 0.25 / language-pack (Phase 9.18)
  • Atlassian readonly enrichment — PR Brain pre-fetches linked Jira tickets + Confluence pages via a service-account API token (one classic token covers both products), splices the flattened body into the coordinator's context so severity calibrates against acceptance criteria and intent drift is caught (Phase 7.8.6); see docs/JIRA_TICKET_STANDARD.md for the ticket shape this expects
  • Isolated Git workspaces per room
  • Task Board: TODO dependency markers ({jira:TICKET#N|after:M|blocked:OTHER}), Epic-grouped Jira tickets, drag-and-drop AI Working Space
  • Chat persistence: write-through micro-batch Postgres + Redis hot cache
  • Browser tools: Playwright Chromium automation for web browsing from agents
  • Multi-provider AI support (Bedrock, Anthropic, OpenAI, DashScope, Moonshot)
  • Task-hierarchy telemetry (per-task token usage + cost tracking via the task table)
  • Jira integration (OAuth 3LO, 5 agent tools, 3-phase investigate→mark→update workflow)
  • Cloud-ready: CONDUCTOR_* env vars override secrets for ECS/K8s deployment
  • 2045+ automated tests (533 tool-related + parity)

Roadmap

Upcoming features:

  • AI decision distillation from discussions
  • Code change proposals with diff preview and review
  • Model B delegate authentication (no PAT required)
  • Enterprise access control and audit export
  • Persistent codebase memory (background file-summary indexer)
  • Teams and Slack integrations

See ROADMAP.md for full details.

Running Tests

cd backend
pytest                                        # all tests (1655+)
pytest tests/test_code_tools.py -v            # code tools (139 tests)
pytest tests/test_agent_loop.py -v            # agent loop + 4-layer prompt (55 tests)
pytest tests/test_brain.py -v                 # Brain orchestrator (64 tests)
pytest tests/test_jira_tools.py -v            # Jira agent tools (21 tests)
pytest tests/test_ai_provider.py -v           # AI providers (131 tests)
pytest tests/test_compressed_tools.py -v      # compressed view tools (24 tests)
pytest tests/test_code_review.py -v           # code review pipeline (67 tests)
pytest --cov=. --cov-report=html              # coverage report

# Tool parity (Python ↔ TypeScript)
make test-parity                              # contract + shape + subprocess validation

Contributing

We welcome contributors interested in:

  • AI developer tools
  • Collaborative coding environments
  • Agentic code intelligence

Documentation


为什么做 Conductor

现代 AI 编程工具很强大——但大多数都是单人工具

GitHub Copilot、Cursor、ChatGPT 帮助个人写代码。但软件开发本质上是团队活动

大多数工程知识存在于会议、聊天讨论和设计评审中。等到代码写出来,决策背后的原因往往已经消失了。

Conductor 探索一种不同的方式:不从代码提示出发,而从工程讨论出发。

核心思想

Conductor 将工程对话转化为 AI 系统的结构化输入。

团队讨论

AI 提炼

结构化工程决策

代码智能 Agent

代码实现

这让 AI 系统不仅理解代码库,还能理解工程决策背后的上下文

功能特性

协作编码房间

团队在共享房间内协作,支持实时聊天、文件共享、代码片段和 TODO 追踪。

独立 Git 工作区

每个协作房间运行在独立的 Git 工作区中,使用裸仓库、Git worktree 和自定义 VS Code 文件系统(conductor://)。AI Agent 可以安全探索代码,不影响开发者本地仓库。

Agentic 代码智能

Conductor 使用 Brain 编排器和基于工具的 Agent 循环,而非简单的 RAG。Brain(强模型)分发专业子 Agent,每个 Agent 通过 46 个代码工具迭代探索代码库(最多 40 轮迭代,50 万 token 预算)。PR 评审由专门的 PR Brain v2 接管(通过 transfer_to_brain("pr_review")),运行协调循环,配两个分发原语:dispatch_subagent(按文件范围 + 3 个可证伪 check)和 dispatch_dimension_worker(按 bug 类别从一个 role lens 扫描整个 diff —— security/correctness/concurrency/reliability/performance/test_coverage/api_contract)。

工具详情见上方英文部分。

Brain 通过 dispatch_agent / dispatch_swarm 分发 Agent,每个 Agent 配有专属工具集。Token 预算控制器发出 NORMAL → WARN_CONVERGE → FORCE_CONCLUDE 信号。证据评估器在最终确认答案前把关:要求文件:行号引用、≥2 次工具调用、≥1 个已访问文件。

多提供商 AI

支持 AWS Bedrock(Claude、Qwen、DeepSeek、Mistral、Nova 等)、Anthropic Direct、OpenAI、阿里 DashScope 和 Moonshot。ProviderResolver 在启动时对所有已配置的提供商做健康检查,自动选择最优模型。所有提供商均实现 chat_with_tools()

快速开始

# 启动后端
cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload

# 启动扩展
cd extension
npm install
npm run compile
# 在 VS Code 中按 F5 启动扩展开发主机

打开 VS Code 扩展并开始会话,然后提问例如:

  • "贷款审批逻辑在哪里实现的?"
  • "追踪支付服务是如何被调用的。"
  • "解释这个模块的依赖图。"

架构

架构图见上方英文部分。

项目状态

当前原型包括:

  • VS Code 协作扩展(斜杠命令 @AI 聊天与工作流可视化面板)
  • FastAPI 后端(Brain 编排器分发专业 Agent)
  • Agentic 代码智能(46 个工具,4 层 prompt 架构)
  • PR Brain v2 —— 协调-worker(agent-as-tool)PR 评审:Sonnet coordinator 扫描 diff,从 7 个 role 模板分发 scope-bounded worker(按文件范围的 dispatch_subagent + 按 bug 类别的 dispatch_dimension_worker),自己分类 severity,并运行确定性后置检查(P8 现存事实反思、P11 逐条 finding 验证、P13 Python/Go/Java 幻觉符号扫描器、P14 stub 调用检测、diff-scope 过滤)。强制分发检测器(Tier 1 路径 + Tier 2 + 行内容)在 auth/crypto/migration PR 上强制 security/reliability 覆盖。
  • Fact Vault(PR review 会话级短期记忆 —— 任务作用域 SQLite 缓存,跨 sub-agent 共享;Phase 9.15)
  • 硬化的 tree-sitter 扫描 —— 子进程隔离解析 + SIGKILL 超时 + JSX 嵌套深度启发式;tree-sitter 升级到 0.25 + language-pack(Phase 9.18)
  • Atlassian 只读富化 —— PR Brain 用服务账号 API token(一把 classic token 通吃 Jira + Confluence)预拉取 PR 关联的 Jira 工单和 Confluence 设计文档,把铺平后的正文塞进 coordinator 上下文,让 severity 按 acceptance criteria 校准、并能抓到 intent drift(Phase 7.8.6);工单形态规范见 docs/JIRA_TICKET_STANDARD.md
  • 每个房间独立的 Git 工作区
  • 任务面板:TODO 依赖标记({jira:TICKET#N|after:M|blocked:OTHER})、Epic 分组 Jira 票、拖拽 AI 工作区
  • 聊天持久化:写穿透 micro-batch Postgres + Redis 热缓存
  • 浏览器工具:Playwright Chromium 自动化
  • 多提供商 AI 支持(Bedrock、Anthropic、OpenAI、DashScope、Moonshot)
  • 任务层级遥测(task 表记录每个任务的 token 用量与成本)
  • Jira 集成(OAuth 3LO,5 个 Agent 工具,3 阶段 investigate→mark→update 流程)
  • 云部署就绪:CONDUCTOR_* 环境变量覆盖 ECS/K8s 部署的 secrets
  • 2045+ 自动化测试(533 工具相关 + parity)

Roadmap

即将推出的功能:

  • 从讨论中 AI 提炼工程决策
  • 代码变更提案与 diff 预览审查
  • Model B 委托认证(无需 PAT)
  • 企业级访问控制与审计导出
  • 持久化代码库记忆(后台文件摘要索引)
  • Teams 和 Slack 集成

详见 ROADMAP.md

运行测试

cd backend
pytest                          # 所有测试 (1655+)
pytest --cov=. --cov-report=html  # 覆盖率报告

# 工具一致性验证(Python ↔ TypeScript)
make test-parity

配置

config/conductor.secrets.yaml 中配置 AI 提供商凭证(参考 config/conductor.secrets.yaml.example)。

非敏感配置在 config/conductor.settings.yaml 中。

云部署时,通过 CONDUCTOR_* 环境变量覆盖 secrets.yaml 中的值。详见 docs/GUIDE.md §21.7。

参与贡献

欢迎对以下方向感兴趣的贡献者:

  • AI 开发者工具
  • 协作编码环境
  • Agentic 代码智能