How wanqi-development/ai-coding-harness works
这是一个单用户 AI 编程助手:用户创建仓库会话后发送消息,服务判定意图并选择智能体形态;智能体可规划、委派编码与审查任务,在隔离沙箱中操作仓库,再将过程和结果通过 SSE 返回。同步意图则直接执行,不经过智能体。图保留了 README 描述的平台 PR、方案、记忆、只读代码浏览、OAuth 与可选 Redis 能力;部分实现未采样,相关连线仅依据 README 和可见源码。
Main entry points: service.py 会话编排 · graph.py 主智能体 · App.vue 聊天界面 · runs.py 运行与流缓冲
Components 25
接口与界面
意图与智能体
- 会话编排
src/ai_coding_harness/server/service.py - 意图判定
src/ai_coding_harness/server/intent.py - 会话与运行时
src/ai_coding_harness/session/manager.py - 形态配置
src/ai_coding_harness/agent/profiles.py - 主智能体
src/ai_coding_harness/agent/graph.py - 子智能体
src/ai_coding_harness/agent/subagents.py - 安全与防护
src/ai_coding_harness/agent/middleware - 工具注册与执行
src/ai_coding_harness/tools/register.py
工作区与代码
外部集成
- 角色模型路由
src/ai_coding_harness/agent/llm.py - Gitee 与 GitHub 客户端
src/ai_coding_harness/tools/pr_client.py
持久化与运行
Other components
- 用户
- 代码平台
- OpenSandbox
- Redis(可选)
Connections 28
- 用户 → 聊天界面: 发送请求
- 聊天界面 → HTTP 路由: 调用聊天接口
- HTTP 路由 → 运行与流缓冲: 启动或续订
- 运行与流缓冲 → 会话编排: 运行一轮
- 会话编排 → 意图判定: 判定意图
- 会话编排 → 会话与运行时: 取得会话运行时
- 会话与运行时 → 形态配置: 选择形态
- 会话与运行时 → 主智能体: 构建智能体
- 主智能体 → 角色模型路由: 请求角色模型
- 主智能体 → 安全与防护: 经由中间件
- 主智能体 → 工具注册与执行: 调用工具
- 主智能体 → 子智能体: 委派任务
- 子智能体 → 角色模型路由: 请求角色模型
- 工具注册与执行 → 文件后端: 读写沙箱文件
- 文件后端 → 沙箱工作区: 执行文件操作
- 沙箱工作区 → OpenSandbox: 创建与执行
- 工具注册与执行 → Gitee 与 GitHub 客户端: 调用 PR 操作
- Gitee 与 GitHub 客户端 → 代码平台: 查询或变更 PR
- 会话编排 → 业务数据库: 读写业务记录
- 会话编排 → SSE 事件转换: 翻译运行事件
- 运行与流缓冲 → SSE 事件转换: 发布事件帧
- 运行与流缓冲 → Redis(可选): 跨进程缓冲与锁
- 聊天界面 → 仓库路由: 请求仓库视图
- 代码面板 → 仓库路由: 读取目录与文件
- 仓库路由 → 只读仓库缓存: 查询或同步缓存
- 只读仓库缓存 → 代码平台: 克隆或获取仓库
- 聊天界面 → OAuth 路由: 发起授权
- OAuth 路由 → 代码平台: OAuth 授权