AgentScope Java 2.0 项目实战:从零构建企业级自主Coding Agent

AgentScope Java 2.0 项目实战:从零构建企业级自主Coding Agent

文章目录

    • 第一章:项目全景与技术架构
      • 1.1 这个项目是做什么的?
      • 1.2 核心设计理念
      • 1.3 整体架构图
      • 1.4 项目模块分层
    • 第二章:环境准备与依赖清单
      • 2.1 必需软件
      • 2.2 必需的外部服务/API Key
      • 2.3 Maven 依赖全景(pom.xml)
      • 2.4 Build 插件配置
    • 第三章:从零搭建 Maven 项目骨架
      • 3.1 目录结构总览
    • 第四章:核心配置体系
      • 4.1 配置层次概览
      • 4.2 application.yml(Spring Boot 配置)
      • 4.3 AgentscopeConfig —— 根配置模型
      • 4.4 AgentConfigEntry —— Agent 配置条目
      • 4.5 ChannelConfigEntry —— 通道配置条目
      • 4.6 agentscope.json.example(示例配置文件)
      • 4.7 配置加载逻辑(CodingBootstrap 中)
    • 第五章:数据存储层 —— SqliteBaseStore
      • 5.1 为什么选 SQLite?
      • 5.2 BaseStore 接口(来自 Harness 框架)
      • 5.3 SqliteBaseStore 完整实现
      • 5.4 使用场景速查
    • 第六章:Thread ID 工厂 —— 确定性会话路由
      • 6.1 设计目标
      • 6.2 完整实现
      • 6.3 映射规则一览
    • 第七章:中间件层 —— 消息队列/模型调用预算/线程预算
      • 7.1 中间件架构位置
      • 7.2 MessageQueueMiddleware —— 消息队列注入
      • 7.3 ThreadBudgetMiddleware —— Per-Thread 预算控制
      • 7.4 ModelCallLimitMiddleware —— 全局模型调用限制
    • 第八章:LLM 模型层与 Fallback 机制
      • 8.1 支持的 LLM 提供商
      • 8.2 CodingAgentFactory.buildModel() —— 模型构建
      • 8.3 FallbackModel —— 透明降级装饰器
    • 第九章:工具集(Tools)—— Agent 的手和脚
      • 9.1 工具全景
      • 9.2 HttpRequestTool —— 通用 HTTP 工具
      • 9.3 FetchUrlTool —— 网页抓取工具
      • 9.4 WebSearchTool —— 网络搜索工具
      • 9.5 GitHubApiTool —— GitHub API 工具(核心!)
      • 9.6 RequestPrReviewTool —— 请求 PR 审查工具
      • 9.7 Reviewer Tools —— Findings CRUD 工具
    • 第十章:System Prompt 工程 —— 编码 Agent 与评审 Agent
      • 10.1 CodingSystemPrompt —— 编码 Agent 提示词
      • 10.2 ReviewerSystemPrompt —— 评审 Agent 提示词
    • 第十一章:Agent 工厂 —— CodingAgentFactory 与 ReviewerAgentFactory
      • 11.1 CodingAgentFactory —— 编码 Agent 工厂
      • 11.2 ReviewerAgentFactory —— 评审 Agent 工厂
    • 第十二章:Session 管理体系
      • 12.1 Session 生命周期
      • 12.2 核心组件关系
      • 12.3 SessionEntry —— 会话条目
      • 12.4 SessionAgentManager 核心能力
    • 第十三章:Gateway 网关 —— 请求路由与 Agent 调度
      • 13.1 核心职责
      • 13.2 关键设计:Per-Session Turn Gate
      • 13.3 Agent 路由逻辑
    • 第十四章:RunDispatcher —— 事件派发与排队
      • 14.1 核心逻辑
      • 14.2 完整实现要点
    • 第十五章:GitHub Webhook 处理器
      • 15.1 处理流水线
      • 15.2 核心实现
    • 第十六章:Reviewer 评审体系
      • 16.1 数据模型 —— Finding
      • 16.2 ReviewerFindingsService —— CRUD 服务
      • 16.3 GitHubReviewPublisher —— 发布到 GitHub
    • 第十七章:可观测性 —— Metrics + Tracing
      • 17.1 Micrometer 指标定义
      • 17.2 指标暴露路径
      • 17.3 OTel 分布式追踪
    • 第十八章:Bootstrap 启动装配器
      • 18.1 职责
      • 18.2 Builder 模式
    • 第十九章:双入口 —— Spring Boot 应用 & CLI 命令行
      • 19.1 Spring Boot 入口(Webhook 服务模式)
      • 19.2 CLI 入口(本地开发模式)
    • 第二十章:Docker 沙箱环境
      • 20.1 Dockerfile
      • 20.2 构建和运行
    • 第二十一章:Skill 技能模板体系
      • 21.1 什么是 Skill?
      • 21.2 四个内置 Skill
        • apply-patch —— 原子化多文件修改
        • code-search —— 高效代码搜索
        • git-checkpoint —— Git 安全网
      • 21.3 工作区模板文件
    • 第二十二章:测试策略与验证
      • 22.1 测试清单
      • 22.2 快速验证步骤
    • 第二十三章:部署与运维
      • 23.1 部署架构
      • 23.2 环境变量清单(生产部署必设)
      • 23.3 Docker Compose 部署示例
      • 23.4 GitHub App 配置步骤
    • 附录:完整文件清单与职责速查表
    • 总结:从零开发的推荐顺序

第一章:项目全景与技术架构

1.1 这个项目是做什么的?

一句话概括:这是一个可以部署在你自己组织内的自主编码 AI 机器人,它能够:

能力描述
Issue → PR在 GitHub Issue 下评论需求 → Agent 自动克隆仓库、写代码、推分支、开 PR
PR Review被指定为 Reviewer → Agent 读取 diff、记录结构化 findings、发表完整的 GitHub Review
PR 迭代在 review comment 上回复 → Agent 就地改分支、在原 thread 里答复
多通道接入GitHub Webhook / 本地 CLI / 钉钉 Stream / 飞书回调
安全隔离每个 session 运行在独立的临时 Docker 容器中