From 145daf10fb60967de0827dca152005c11903397d Mon Sep 17 00:00:00 2001
From: aaa <2481034282@qq.com>
Date: Sat, 22 Aug 2026 04:54:51 +0800
Subject: [PATCH 1/4] docs: improve open-source discovery and onboarding
---
.github/CODEOWNERS | 2 +
.github/ISSUE_TEMPLATE/bug_report.yml | 2 +-
.github/ISSUE_TEMPLATE/config.yml | 5 +
.github/ISSUE_TEMPLATE/feature_request.yml | 54 ++++
README.md | 292 +++++++++------------
README.zh-CN.md | 261 ++++++++++++++++++
docs/assets/cloud-agent-platform-hero.svg | 70 +++++
docs/task-board.md | 8 +
8 files changed, 529 insertions(+), 165 deletions(-)
create mode 100644 .github/CODEOWNERS
create mode 100644 .github/ISSUE_TEMPLATE/config.yml
create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml
create mode 100644 README.zh-CN.md
create mode 100644 docs/assets/cloud-agent-platform-hero.svg
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 0000000..aac549d
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1,2 @@
+# The project owner reviews repository-wide changes while the maintainer team is small.
+* @aopays
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index 7913c18..b4333fd 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -1,7 +1,7 @@
name: Bug report
description: Report a reproducible defect without including secrets or private data.
title: "[Bug]: "
-labels: [bug]
+labels: [bug, needs-triage]
body:
- type: markdown
attributes:
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..cde689a
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,5 @@
+blank_issues_enabled: false
+contact_links:
+ - name: Questions and design discussions
+ url: https://github.com/aopays/Agent/discussions
+ about: Ask usage questions or discuss ideas before opening an implementation issue.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 0000000..899870f
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,54 @@
+name: Feature request
+description: Propose a focused improvement or a real-world agent workflow.
+title: "[Feature]: "
+labels:
+ - enhancement
+ - needs-triage
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for helping improve Cloud Agent Platform. Concrete workflows and measurable outcomes are especially useful.
+ - type: textarea
+ id: problem
+ attributes:
+ label: Problem or workflow
+ description: Who has this problem, and what are they trying to complete?
+ placeholder: As a platform engineer, I need...
+ validations:
+ required: true
+ - type: textarea
+ id: proposal
+ attributes:
+ label: Proposed behavior
+ description: Describe the smallest useful behavior, including inputs and outputs.
+ validations:
+ required: true
+ - type: textarea
+ id: acceptance
+ attributes:
+ label: Acceptance evidence
+ description: How could maintainers verify that the feature works?
+ placeholder: Given..., when..., then...
+ validations:
+ required: true
+ - type: dropdown
+ id: area
+ attributes:
+ label: Area
+ options:
+ - Agent runtime and tools
+ - Sandbox and security
+ - API and scheduling
+ - Requirement discovery
+ - Documentation and onboarding
+ - Other
+ validations:
+ required: true
+ - type: checkboxes
+ id: boundaries
+ attributes:
+ label: Safety check
+ options:
+ - label: This proposal does not require committing secrets or bypassing the sandbox boundary.
+ required: true
diff --git a/README.md b/README.md
index 71d0e6f..c6a089c 100644
--- a/README.md
+++ b/README.md
@@ -1,93 +1,98 @@
# Cloud Agent Platform
-> **Turn fuzzy ideas and code repositories into bounded, auditable AI work.**
-> 从一句模糊需求到软件设计报告,从一个 Git 仓库到可追踪的 Agent 执行结果。
+**English** | [简体中文](README.zh-CN.md)
-
-
-
-
-
+
-Cloud Agent Platform 是一个面向 **AI 应用工程师、平台工程团队和技术面试候选人** 的开源 MVP。
-它把“LLM 会调用工具”扩展成一条可以真正运行、取消、审计和演进的工程链路:API 接收任务,调度器投递,
-Worker 准备仓库,Agent Runtime 循环推理与调用工具,Sandbox 控制执行边界,最终返回事件、用量与产物。
+[](https://github.com/aopays/Agent/actions/workflows/ci.yml)
+[](https://github.com/aopays/Agent/actions/workflows/security.yml)
+[](https://www.python.org/)
+[](https://developers.openai.com/api/docs/quickstart)
+[](LICENSE)
+[](https://github.com/aopays/Agent/stargazers)
-项目还提供独立的 **需求挖掘工作台**:用户只需要输入十几个字的模糊需求,系统通过多轮对话补齐用户、目标、
-流程、约束和验收条件,再生成可下载的软件设计报告。
+Turn a fuzzy software idea or a Git repository into a **bounded, observable AI workflow**. Cloud Agent Platform combines requirement discovery, an autonomous model–tool loop, task orchestration, sandbox adapters, event streaming, and downloadable artifacts in one runnable Python project.
-> 当前版本是可运行的本地开发与架构演示 MVP,不是生产级托管平台。运行时已经实现单 Agent 工具循环;
-> 多 Agent DAG、持久化基础设施和强隔离属于清晰定义的演进路线,而非已经上线的能力。
+> This repository is a production-aware local MVP and architecture reference, not a hosted production service. The single-agent runtime is implemented today; durable infrastructure, stronger isolation, and multi-agent DAG orchestration are documented evolution paths.
-## 为什么值得关注
+## Why developers use this project
-- **不是一个聊天壳**:包含任务状态机、at-least-once 队列、执行租约、取消传播、预算和产物管理。
-- **不是一个无限循环脚本**:模型轮次、token、墙钟时间、命令时间和工具输出都有上限。
-- **不是把 Docker 当魔法**:明确 local 与 Docker 沙箱的信任边界,并提供路径穿越、符号链接、进程树和资源限制测试。
-- **不是只展示 Happy Path**:失败、超时、取消、重复投递、幂等冲突和清理失败都有显式语义。
-- **不是只画目标架构**:仓库同时保留 As-Is 可运行代码、Next 演进设计和完整 SDLC 文档,方便面试讲解和二次开发。
+- **Learn the engineering behind coding agents** — not just prompting, but queues, leases, cancellation, budgets, idempotency, events, artifacts, and failure semantics.
+- **Prototype with a real OpenAI tool loop** — the provider uses the Responses API and structured function calls behind a replaceable interface.
+- **Start without an API key** — a deterministic demo provider exercises the full task lifecycle offline.
+- **Inspect the security boundary** — command execution is routed through sandbox interfaces with path, timeout, output, process-tree, and network controls.
+- **Use it as an interview or architecture reference** — the repository includes requirements, contracts, diagrams, test strategy, security review, release runbook, and an end-to-end SDLC.
-## 两条可运行产品链路
+If that is useful to you, consider giving the project a ⭐ so other agent engineers can find it.
-### 1. 模糊需求 → 软件设计报告
+## What it can do
-适合产品经理、创业者、交付团队和 AI 应用工程师。输入例如:
+### 1. Fuzzy requirement → software design report
+
+Start with a short idea such as:
```text
-设计一个物流司机排班用的软件
+Design software for scheduling logistics drivers.
```
-系统通过三轮左右的澄清逐步收集角色、业务目标、关键流程、规则、数据、安全、性能和验收标准,最终生成
-Markdown 软件设计报告。入口:`http://127.0.0.1:8001/discovery`。
+The requirement-discovery workbench asks focused questions over several rounds, separates confirmed facts from assumptions and open decisions, then generates a downloadable Markdown software design report.
+
+### 2. Natural-language task + Git repository → agent artifact
-### 2. 自然语言任务 + Git 仓库 → Agent 产物
+Submit an instruction and a public Git repository. A worker prepares the repository, starts a bounded agent loop, validates tool calls, executes them through a sandbox adapter, records public events, and returns the final result and downloadable artifacts.
-适合研发团队、代码治理平台和 Agent Platform 学习者。输入包括自然语言指令、公开 HTTPS Git URL 或允许目录内
-的 `file://` 仓库 URI。平台返回:
+The API exposes:
-- Task ID 与完整状态;
-- 单调递增的公开事件流;
-- 工具调用摘要、持续时间和截断信息;
-- Agent turns、token 与墙钟用量;
-- 可下载的 Markdown/文本产物;
-- 安全错误码、取消或超时结果。
+- task state from `CREATED` to a terminal outcome;
+- monotonic status, model, tool, budget, and artifact events;
+- agent turns, token usage, and wall-clock usage;
+- explicit cancellation, timeout, policy, and execution errors;
+- Markdown or text artifacts with download endpoints.
-## 60 秒离线体验
+## Run it in 60 seconds — no API key
-离线 Demo 不需要 OpenAI API Key,也不会产生模型费用:
+### Windows PowerShell
```powershell
+git clone https://github.com/aopays/Agent.git
+cd Agent
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -c requirements.lock -e ".[dev]"
Copy-Item .env.example .env
-# 将 .env 中的 LLM_PROVIDER 改为 demo,SANDBOX_BACKEND 改为 local
+$env:LLM_PROVIDER = "demo"
+$env:SANDBOX_BACKEND = "local"
.\scripts\start.ps1
```
-启动后打开:
-
-- 首页:
-- 需求挖掘:
-- Swagger API:
-- 就绪检查:
+### Linux and macOS
-也可以直接运行确定性示例:
-
-```powershell
-.\.venv\Scripts\python.exe scripts\demo.py
+```bash
+git clone https://github.com/aopays/Agent.git
+cd Agent
+python3 -m venv .venv
+./.venv/bin/python -m pip install -c requirements.lock -e ".[dev]"
+cp .env.example .env
+LLM_PROVIDER=demo SANDBOX_BACKEND=local bash scripts/start.sh
```
-该示例扫描 `examples/demo-repo` 中的 TODO/FIXME 并生成报告,用于验证完整任务生命周期。
+Open these pages after startup:
-## 接入 OpenAI
+- **Product home:**
+- **Requirement discovery:**
+- **Interactive API docs:**
+- **Readiness check:**
-复制配置文件:
+You can also run the deterministic lifecycle demo directly:
```powershell
-Copy-Item .env.example .env
+.\.venv\Scripts\python.exe scripts\demo.py
```
-只在本机 `.env` 中填写密钥,不要提交到 Git:
+It scans `examples/demo-repo` for TODO/FIXME markers and produces a report without contacting a model provider.
+
+## Connect OpenAI
+
+Keep the API key only in your local `.env`; never commit it:
```dotenv
LLM_PROVIDER=openai
@@ -96,27 +101,17 @@ OPENAI_MODEL=gpt-5.4-mini
SANDBOX_BACKEND=local
```
-然后启动:
-
-```powershell
-.\scripts\start.ps1
-```
-
-Linux/macOS 使用 `bash scripts/start.sh`。项目通过可替换的 `LLMProvider` 接口调用 OpenAI Responses API,
-把本地工具转换成 function tools,并使用 `function_call_output` 继续模型—工具循环。实现与概念可参考
-[OpenAI Developer Quickstart](https://developers.openai.com/api/docs/quickstart) 和
-[Responses API Reference](https://developers.openai.com/api/reference/resources/responses/methods/create)。
+Then start the application with `.\scripts\start.ps1` on Windows or `bash scripts/start.sh` on Linux/macOS. The provider adapter converts registered tools into Responses API function tools and returns observations with `function_call_output`.
-`/readyz` 只报告 Provider、模型、Sandbox 和目录状态,不返回 API Key。
+`/readyz` reports the selected provider, model, sandbox, and directory health but never returns the API key.
-## 提交仓库任务
+## Submit a repository task
-打开 Swagger 的 `POST /v1/tasks`,点击 **Authorize** 并在开发环境输入 `local-demo-token`。设置至少 8 个字符的
-`Idempotency-Key`,请求体示例:
+In Swagger, open `POST /v1/tasks`, select **Authorize**, and enter the development token `local-demo-token`. Add an `Idempotency-Key` of at least eight characters and submit:
```json
{
- "instruction": "读取仓库,找出所有 TODO 和 FIXME,生成 Markdown 报告。",
+ "instruction": "Read this repository, find every TODO and FIXME, and create a Markdown report.",
"repository": {
"url": "https://github.com/example/project.git",
"ref": "main"
@@ -124,7 +119,7 @@ Linux/macOS 使用 `bash scripts/start.sh`。项目通过可替换的 `LLMProvid
}
```
-之后依次调用:
+Use the returned task ID with:
```text
GET /v1/tasks/{taskId}
@@ -133,127 +128,96 @@ GET /v1/tasks/{taskId}/artifacts
GET /v1/tasks/{taskId}/artifacts/{artifactId}
```
-本地仓库必须位于 `REPOSITORY_IMPORT_ROOT` 下。当前版本只支持公开 HTTPS Git 仓库;私有仓库的任务级临时凭证
-注入属于下一阶段能力,请勿把 Token 拼进 URL。
+Only public HTTPS repositories are supported in the current version. Local `file://` repositories must be under `REPOSITORY_IMPORT_ROOT`. Do not place repository credentials in a URL.
-## 架构一览
+## Architecture
```mermaid
flowchart LR
- User[Web / API Client] --> API[FastAPI Control Plane]
- API --> Repo[Task Repository]
- API --> Queue[At-least-once Queue]
- Queue --> Worker[Worker + Lease + Heartbeat]
- Worker --> Prep[Repository Preparer]
- Worker --> Runtime[Bounded Agent Runtime]
- Runtime --> Provider[Demo / OpenAI Provider]
- Runtime --> Registry[Tool Registry + Policy]
- Registry --> Sandbox[Local trusted / Docker Sandbox]
- Runtime --> Events[Monotonic Event Store]
- Worker --> Artifacts[Content-addressed Artifacts]
+ User[Web / API client] --> API[FastAPI control plane]
+ API --> Store[Task repository]
+ API --> Queue[At-least-once queue]
+ Queue --> Worker[Worker + lease + heartbeat]
+ Worker --> Prep[Repository preparer]
+ Worker --> Runtime[Bounded agent runtime]
+ Runtime --> Provider[Demo / OpenAI provider]
+ Runtime --> Registry[Tool registry + policy]
+ Registry --> Sandbox[Local trusted / Docker sandbox]
+ Runtime --> Events[Monotonic event store]
+ Worker --> Artifacts[Content-addressed artifacts]
Events --> User
Artifacts --> User
```
-核心设计是 **控制面与执行面分离**。API 不执行用户命令;Worker 负责租约、仓库、沙箱、Runtime、产物和终态;
-Runtime 不直接调用宿主机 shell,而是通过结构化工具与 `SandboxSession` 交互。
+The control plane never executes user commands. The worker owns repository preparation, leases, sandbox lifecycle, runtime invocation, artifact collection, cleanup, and terminal task state. The runtime can call commands only through a validated tool and `SandboxSession` boundary.
-完整图解见 [系统架构](docs/system-architecture.md),逐文件讲解见 [代码导览](docs/code-tour.md)。
+Explore the implementation in the [system architecture](docs/system-architecture.md), [code tour](docs/code-tour.md), and [API contract](docs/contracts/openapi.yaml).
-## 技术栈
+## Engineering highlights
-- **API / Schema**:Python 3.10+、FastAPI、Pydantic v2、OpenAPI 3.1、SSE。
-- **Agent Runtime**:异步 Python、有界循环、Provider Adapter、结构化 function calling。
-- **调度与可靠性**:进程内队列/仓储/租约 MVP,at-least-once、幂等键、心跳与取消传播。
-- **工具系统**:JSON Schema 校验、权限策略、超时、输出限额、脱敏和结果提交。
-- **沙箱**:可信本地 Adapter、Docker Adapter、非 root、cap-drop、默认禁网和进程树清理。
-- **存储**:进程内事件/任务状态、本地内容寻址产物;接口预留 PostgreSQL、Redis、S3 替换点。
-- **工程质量**:Ruff、mypy strict、pytest、Windows/Linux CI、Docker smoke 与安全标记测试。
+- **API and contracts:** FastAPI, Pydantic v2, OpenAPI 3.1, SSE.
+- **Agent runtime:** asynchronous bounded loop, provider adapter, function calling, cancellation, retry, no-progress detection.
+- **Scheduling:** task state machine, at-least-once delivery, idempotency, leases, heartbeat, cancellation propagation.
+- **Tools:** JSON Schema validation, policy hooks, timeouts, output limits, redaction, result submission.
+- **Sandboxing:** trusted local adapter plus Docker adapter, non-root execution, dropped capabilities, default-deny network, process-tree cleanup.
+- **Quality:** Ruff, strict mypy, pytest, Windows/Linux CI, Docker smoke tests, CodeQL, dependency audit.
-## 代码地图
+## Repository map
```text
src/
-├── main.py # FastAPI composition root、SSE、下载与健康检查
-├── platform.py # Provider、Queue、Sandbox、Worker 的依赖装配
-├── worker.py # 从领取任务到终态提交的执行编排
-├── discovery.py # 多轮需求挖掘、结构化会话与报告生成
-├── agent_runtime/ # 模型—工具循环、预算、事件、OpenAI Adapter
-├── api/ # Task/Discovery 路由与 Pydantic Schema
-├── scheduler/ # 状态机、队列、租约、取消和幂等
-├── sandbox/ # 路径、进程、资源策略、本地与 Docker Session
-├── tools/ # Tool Registry、Schema 校验和内置工具
-├── models/ # 任务与 Attempt 领域模型
-└── shared/ # 公共契约、接口与配置
+├── main.py # FastAPI composition root and HTTP endpoints
+├── platform.py # Provider, queue, sandbox and worker wiring
+├── worker.py # End-to-end execution orchestration
+├── discovery.py # Multi-turn requirement discovery and reports
+├── agent_runtime/ # Model-tool loop, budgets, events, providers
+├── api/ # Task and discovery routes and schemas
+├── scheduler/ # State, queue, leases, cancellation, idempotency
+├── sandbox/ # Path, process, resource and Docker policies
+├── tools/ # Tool registry, schemas and built-in tools
+├── models/ # Task and attempt domain models
+└── shared/ # Shared contracts, interfaces and settings
```
-## 文档中心
-
-- [文档导航](docs/README.md):按产品、开发、架构、安全、测试和发布查阅。
-- [产品定位与需求](docs/product-positioning.md):谁会用、解决什么问题、MVP 范围和成功指标。
-- [代码导览](docs/code-tour.md):像代码解释器一样按入口、调用链和模块阅读项目。
-- [系统架构](docs/system-architecture.md):上下文、容器、组件、时序、信任边界和演进架构图。
-- [完整软件开发生命周期](docs/sdlc/README.md):PRD、SRS、数据/API、开发、测试、安全、发布、SRE 与移交。
-- [多 Agent 目标架构](docs/multi-agent-platform-architecture.md):需求、设计与开发团队的 DAG 和角色边界。
-- [安全策略](SECURITY.md) 与 [沙箱安全边界](docs/security-boundary.md)。
-- [贡献指南](CONTRIBUTING.md) 与 [发布前检查清单](docs/release-checklist.md)。
-
-## 已实现、未实现与演进方向
-
-### 已实现(As-Is)
+## Security boundary
-- 任务创建、查询、取消、事件与产物 API;
-- 模糊需求的多轮澄清页面与设计报告下载;
-- Worker、可见性超时、租约、心跳、幂等与状态机;
-- Demo/OpenAI Provider、Agent Loop、工具注册表与预算;
-- 本地可信与 Docker 沙箱 Adapter;
-- 路径逃逸防护、输出限制、超时、取消和秘密脱敏;
-- 自动化单元、集成、端到端和安全测试;
-- Docker、Compose、Windows/Linux 启动与 CI 基线。
+- `SANDBOX_BACKEND=local` is for trusted development inputs only and is rejected outside development/test environments.
+- Docker is an MVP isolation layer, not a final boundary for arbitrary hostile code. Production deployments should evaluate gVisor, Kata Containers, or Firecracker.
+- The sandbox is denied network access by default and is never given the host Docker socket or platform credentials.
+- Paths, tool arguments, command duration, output volume, cancellation, and secret redaction are enforced and tested.
+- Production use requires real identity, tenant isolation, persistence, rate limits, audit, and managed secrets.
-### 下一阶段(Next)
+Read the full [threat model](docs/security-boundary.md) and [security policy](SECURITY.md). Vulnerabilities can be reported privately through GitHub Security Advisories.
-- PostgreSQL、Redis、S3/MinIO 持久化 Adapter;
-- 真实用户与租户、OIDC、RBAC、配额、限流和成本中心;
-- 私有 Git 仓库的短期最小权限凭证注入;
-- SSE 持续订阅、任务列表和更完整的 Web 控制台;
-- 需求/架构/安全/QA 多 Agent DAG 与独立质量门;
-- Temporal/Kubernetes、Worker 分池、强沙箱和灾备。
+## What is implemented vs. next
-## 安全边界
+Implemented today:
-- `SANDBOX_BACKEND=local` 只允许可信开发输入,且在非 development/test 环境被拒绝。
-- Docker 是 MVP 隔离,不是运行任意恶意代码的最终边界;生产应评估 gVisor、Kata 或 Firecracker。
-- 默认不向沙箱开放网络,不挂载宿主 Docker socket,不把密钥放进模型上下文、事件、日志或产物。
-- 所有路径、命令参数和工具输出都必须经过策略与边界检查。
-- 生产环境必须替换默认 Bearer Token,并补齐身份、租户、持久化、限流、审计和密钥管理。
+- task creation, query, cancellation, event and artifact APIs;
+- multi-turn requirement discovery and report download;
+- demo and OpenAI providers with a bounded agent/tool loop;
+- local trusted and Docker sandbox adapters;
+- timeout, cancellation, path escape, output and secret controls;
+- unit, integration, end-to-end and security tests.
-详细威胁模型见 [docs/security-boundary.md](docs/security-boundary.md)。
+Planned evolution:
-## 开发验证
+- PostgreSQL, Redis and S3/MinIO adapters;
+- authentication, tenancy, RBAC, quotas, rate limits and cost controls;
+- temporary least-privilege credentials for private Git repositories;
+- richer web console, live task list and persistent SSE subscriptions;
+- requirement, architecture, security and QA multi-agent DAGs;
+- Temporal/Kubernetes workers and stronger isolation.
-```powershell
-.\.venv\Scripts\python.exe -m ruff format --check .
-.\.venv\Scripts\python.exe -m ruff check .
-.\.venv\Scripts\python.exe -m mypy src
-.\.venv\Scripts\python.exe -m pytest -q
-.\.venv\Scripts\python.exe -m pytest -m security -q
-.\.venv\Scripts\python.exe -m compileall -q src tests scripts
-```
-
-离线端到端烟测:
-
-```powershell
-.\.venv\Scripts\python.exe scripts\smoke_test.py --base-url http://127.0.0.1:8001
-```
+See the detailed [multi-agent target architecture](docs/multi-agent-platform-architecture.md) and [full SDLC documentation](docs/sdlc/README.md).
-## 开源协作
+## Contributing
-如果这个项目对你理解 Agent 编排、工具调用、沙箱或 AI 应用工程化有帮助,欢迎:
+Useful contributions include reproducible agent tasks, eval cases, sandbox attacks, persistence adapters, UI improvements, and documentation fixes.
-- ⭐ Star:让更多正在做 Agent Platform 的开发者看到它;
-- 🐛 Issue:提交可复现的缺陷、威胁场景或真实业务需求;
-- 🧪 Eval:贡献代表性任务、黄金答案和安全回归样例;
-- 🔧 Pull Request:优先完善持久化 Adapter、Web Console、质量评测和强隔离。
+1. Read [CONTRIBUTING.md](CONTRIBUTING.md).
+2. Start with a focused issue or [GitHub Discussion](https://github.com/aopays/Agent/discussions).
+3. Keep the trust boundary and public contracts intact.
+4. Add tests for every behavior change.
-提交前请阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。本项目使用 [MIT License](LICENSE)。
+This project is released under the [MIT License](LICENSE). If it helps you build or explain safer agent systems, please ⭐ the repository and share the use case you want it to support next.
diff --git a/README.zh-CN.md b/README.zh-CN.md
new file mode 100644
index 0000000..e41fb5d
--- /dev/null
+++ b/README.zh-CN.md
@@ -0,0 +1,261 @@
+# Cloud Agent Platform
+
+[English](README.md) | **简体中文**
+
+> **Turn fuzzy ideas and code repositories into bounded, auditable AI work.**
+> 从一句模糊需求到软件设计报告,从一个 Git 仓库到可追踪的 Agent 执行结果。
+
+
+
+
+
+
+
+Cloud Agent Platform 是一个面向 **AI 应用工程师、平台工程团队和技术面试候选人** 的开源 MVP。
+它把“LLM 会调用工具”扩展成一条可以真正运行、取消、审计和演进的工程链路:API 接收任务,调度器投递,
+Worker 准备仓库,Agent Runtime 循环推理与调用工具,Sandbox 控制执行边界,最终返回事件、用量与产物。
+
+项目还提供独立的 **需求挖掘工作台**:用户只需要输入十几个字的模糊需求,系统通过多轮对话补齐用户、目标、
+流程、约束和验收条件,再生成可下载的软件设计报告。
+
+> 当前版本是可运行的本地开发与架构演示 MVP,不是生产级托管平台。运行时已经实现单 Agent 工具循环;
+> 多 Agent DAG、持久化基础设施和强隔离属于清晰定义的演进路线,而非已经上线的能力。
+
+## 为什么值得关注
+
+- **不是一个聊天壳**:包含任务状态机、at-least-once 队列、执行租约、取消传播、预算和产物管理。
+- **不是一个无限循环脚本**:模型轮次、token、墙钟时间、命令时间和工具输出都有上限。
+- **不是把 Docker 当魔法**:明确 local 与 Docker 沙箱的信任边界,并提供路径穿越、符号链接、进程树和资源限制测试。
+- **不是只展示 Happy Path**:失败、超时、取消、重复投递、幂等冲突和清理失败都有显式语义。
+- **不是只画目标架构**:仓库同时保留 As-Is 可运行代码、Next 演进设计和完整 SDLC 文档,方便面试讲解和二次开发。
+
+## 两条可运行产品链路
+
+### 1. 模糊需求 → 软件设计报告
+
+适合产品经理、创业者、交付团队和 AI 应用工程师。输入例如:
+
+```text
+设计一个物流司机排班用的软件
+```
+
+系统通过三轮左右的澄清逐步收集角色、业务目标、关键流程、规则、数据、安全、性能和验收标准,最终生成
+Markdown 软件设计报告。入口:`http://127.0.0.1:8001/discovery`。
+
+### 2. 自然语言任务 + Git 仓库 → Agent 产物
+
+适合研发团队、代码治理平台和 Agent Platform 学习者。输入包括自然语言指令、公开 HTTPS Git URL 或允许目录内
+的 `file://` 仓库 URI。平台返回:
+
+- Task ID 与完整状态;
+- 单调递增的公开事件流;
+- 工具调用摘要、持续时间和截断信息;
+- Agent turns、token 与墙钟用量;
+- 可下载的 Markdown/文本产物;
+- 安全错误码、取消或超时结果。
+
+## 60 秒离线体验
+
+离线 Demo 不需要 OpenAI API Key,也不会产生模型费用:
+
+```powershell
+python -m venv .venv
+.\.venv\Scripts\python.exe -m pip install -c requirements.lock -e ".[dev]"
+Copy-Item .env.example .env
+# 将 .env 中的 LLM_PROVIDER 改为 demo,SANDBOX_BACKEND 改为 local
+.\scripts\start.ps1
+```
+
+启动后打开:
+
+- 首页:
+- 需求挖掘:
+- Swagger API:
+- 就绪检查:
+
+也可以直接运行确定性示例:
+
+```powershell
+.\.venv\Scripts\python.exe scripts\demo.py
+```
+
+该示例扫描 `examples/demo-repo` 中的 TODO/FIXME 并生成报告,用于验证完整任务生命周期。
+
+## 接入 OpenAI
+
+复制配置文件:
+
+```powershell
+Copy-Item .env.example .env
+```
+
+只在本机 `.env` 中填写密钥,不要提交到 Git:
+
+```dotenv
+LLM_PROVIDER=openai
+OPENAI_API_KEY=
+OPENAI_MODEL=gpt-5.4-mini
+SANDBOX_BACKEND=local
+```
+
+然后启动:
+
+```powershell
+.\scripts\start.ps1
+```
+
+Linux/macOS 使用 `bash scripts/start.sh`。项目通过可替换的 `LLMProvider` 接口调用 OpenAI Responses API,
+把本地工具转换成 function tools,并使用 `function_call_output` 继续模型—工具循环。实现与概念可参考
+[OpenAI Developer Quickstart](https://developers.openai.com/api/docs/quickstart) 和
+[Responses API Reference](https://developers.openai.com/api/reference/resources/responses/methods/create)。
+
+`/readyz` 只报告 Provider、模型、Sandbox 和目录状态,不返回 API Key。
+
+## 提交仓库任务
+
+打开 Swagger 的 `POST /v1/tasks`,点击 **Authorize** 并在开发环境输入 `local-demo-token`。设置至少 8 个字符的
+`Idempotency-Key`,请求体示例:
+
+```json
+{
+ "instruction": "读取仓库,找出所有 TODO 和 FIXME,生成 Markdown 报告。",
+ "repository": {
+ "url": "https://github.com/example/project.git",
+ "ref": "main"
+ }
+}
+```
+
+之后依次调用:
+
+```text
+GET /v1/tasks/{taskId}
+GET /v1/tasks/{taskId}/events
+GET /v1/tasks/{taskId}/artifacts
+GET /v1/tasks/{taskId}/artifacts/{artifactId}
+```
+
+本地仓库必须位于 `REPOSITORY_IMPORT_ROOT` 下。当前版本只支持公开 HTTPS Git 仓库;私有仓库的任务级临时凭证
+注入属于下一阶段能力,请勿把 Token 拼进 URL。
+
+## 架构一览
+
+```mermaid
+flowchart LR
+ User[Web / API Client] --> API[FastAPI Control Plane]
+ API --> Repo[Task Repository]
+ API --> Queue[At-least-once Queue]
+ Queue --> Worker[Worker + Lease + Heartbeat]
+ Worker --> Prep[Repository Preparer]
+ Worker --> Runtime[Bounded Agent Runtime]
+ Runtime --> Provider[Demo / OpenAI Provider]
+ Runtime --> Registry[Tool Registry + Policy]
+ Registry --> Sandbox[Local trusted / Docker Sandbox]
+ Runtime --> Events[Monotonic Event Store]
+ Worker --> Artifacts[Content-addressed Artifacts]
+ Events --> User
+ Artifacts --> User
+```
+
+核心设计是 **控制面与执行面分离**。API 不执行用户命令;Worker 负责租约、仓库、沙箱、Runtime、产物和终态;
+Runtime 不直接调用宿主机 shell,而是通过结构化工具与 `SandboxSession` 交互。
+
+完整图解见 [系统架构](docs/system-architecture.md),逐文件讲解见 [代码导览](docs/code-tour.md)。
+
+## 技术栈
+
+- **API / Schema**:Python 3.10+、FastAPI、Pydantic v2、OpenAPI 3.1、SSE。
+- **Agent Runtime**:异步 Python、有界循环、Provider Adapter、结构化 function calling。
+- **调度与可靠性**:进程内队列/仓储/租约 MVP,at-least-once、幂等键、心跳与取消传播。
+- **工具系统**:JSON Schema 校验、权限策略、超时、输出限额、脱敏和结果提交。
+- **沙箱**:可信本地 Adapter、Docker Adapter、非 root、cap-drop、默认禁网和进程树清理。
+- **存储**:进程内事件/任务状态、本地内容寻址产物;接口预留 PostgreSQL、Redis、S3 替换点。
+- **工程质量**:Ruff、mypy strict、pytest、Windows/Linux CI、Docker smoke 与安全标记测试。
+
+## 代码地图
+
+```text
+src/
+├── main.py # FastAPI composition root、SSE、下载与健康检查
+├── platform.py # Provider、Queue、Sandbox、Worker 的依赖装配
+├── worker.py # 从领取任务到终态提交的执行编排
+├── discovery.py # 多轮需求挖掘、结构化会话与报告生成
+├── agent_runtime/ # 模型—工具循环、预算、事件、OpenAI Adapter
+├── api/ # Task/Discovery 路由与 Pydantic Schema
+├── scheduler/ # 状态机、队列、租约、取消和幂等
+├── sandbox/ # 路径、进程、资源策略、本地与 Docker Session
+├── tools/ # Tool Registry、Schema 校验和内置工具
+├── models/ # 任务与 Attempt 领域模型
+└── shared/ # 公共契约、接口与配置
+```
+
+## 文档中心
+
+- [文档导航](docs/README.md):按产品、开发、架构、安全、测试和发布查阅。
+- [产品定位与需求](docs/product-positioning.md):谁会用、解决什么问题、MVP 范围和成功指标。
+- [代码导览](docs/code-tour.md):像代码解释器一样按入口、调用链和模块阅读项目。
+- [系统架构](docs/system-architecture.md):上下文、容器、组件、时序、信任边界和演进架构图。
+- [完整软件开发生命周期](docs/sdlc/README.md):PRD、SRS、数据/API、开发、测试、安全、发布、SRE 与移交。
+- [多 Agent 目标架构](docs/multi-agent-platform-architecture.md):需求、设计与开发团队的 DAG 和角色边界。
+- [安全策略](SECURITY.md) 与 [沙箱安全边界](docs/security-boundary.md)。
+- [贡献指南](CONTRIBUTING.md) 与 [发布前检查清单](docs/release-checklist.md)。
+
+## 已实现、未实现与演进方向
+
+### 已实现(As-Is)
+
+- 任务创建、查询、取消、事件与产物 API;
+- 模糊需求的多轮澄清页面与设计报告下载;
+- Worker、可见性超时、租约、心跳、幂等与状态机;
+- Demo/OpenAI Provider、Agent Loop、工具注册表与预算;
+- 本地可信与 Docker 沙箱 Adapter;
+- 路径逃逸防护、输出限制、超时、取消和秘密脱敏;
+- 自动化单元、集成、端到端和安全测试;
+- Docker、Compose、Windows/Linux 启动与 CI 基线。
+
+### 下一阶段(Next)
+
+- PostgreSQL、Redis、S3/MinIO 持久化 Adapter;
+- 真实用户与租户、OIDC、RBAC、配额、限流和成本中心;
+- 私有 Git 仓库的短期最小权限凭证注入;
+- SSE 持续订阅、任务列表和更完整的 Web 控制台;
+- 需求/架构/安全/QA 多 Agent DAG 与独立质量门;
+- Temporal/Kubernetes、Worker 分池、强沙箱和灾备。
+
+## 安全边界
+
+- `SANDBOX_BACKEND=local` 只允许可信开发输入,且在非 development/test 环境被拒绝。
+- Docker 是 MVP 隔离,不是运行任意恶意代码的最终边界;生产应评估 gVisor、Kata 或 Firecracker。
+- 默认不向沙箱开放网络,不挂载宿主 Docker socket,不把密钥放进模型上下文、事件、日志或产物。
+- 所有路径、命令参数和工具输出都必须经过策略与边界检查。
+- 生产环境必须替换默认 Bearer Token,并补齐身份、租户、持久化、限流、审计和密钥管理。
+
+详细威胁模型见 [docs/security-boundary.md](docs/security-boundary.md)。
+
+## 开发验证
+
+```powershell
+.\.venv\Scripts\python.exe -m ruff format --check .
+.\.venv\Scripts\python.exe -m ruff check .
+.\.venv\Scripts\python.exe -m mypy src
+.\.venv\Scripts\python.exe -m pytest -q
+.\.venv\Scripts\python.exe -m pytest -m security -q
+.\.venv\Scripts\python.exe -m compileall -q src tests scripts
+```
+
+离线端到端烟测:
+
+```powershell
+.\.venv\Scripts\python.exe scripts\smoke_test.py --base-url http://127.0.0.1:8001
+```
+
+## 开源协作
+
+如果这个项目对你理解 Agent 编排、工具调用、沙箱或 AI 应用工程化有帮助,欢迎:
+
+- ⭐ Star:让更多正在做 Agent Platform 的开发者看到它;
+- 🐛 Issue:提交可复现的缺陷、威胁场景或真实业务需求;
+- 🧪 Eval:贡献代表性任务、黄金答案和安全回归样例;
+- 🔧 Pull Request:优先完善持久化 Adapter、Web Console、质量评测和强隔离。
+
+提交前请阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。本项目使用 [MIT License](LICENSE)。
diff --git a/docs/assets/cloud-agent-platform-hero.svg b/docs/assets/cloud-agent-platform-hero.svg
new file mode 100644
index 0000000..b926d80
--- /dev/null
+++ b/docs/assets/cloud-agent-platform-hero.svg
@@ -0,0 +1,70 @@
+
diff --git a/docs/task-board.md b/docs/task-board.md
index 12a99a7..9bb4c06 100644
--- a/docs/task-board.md
+++ b/docs/task-board.md
@@ -10,6 +10,14 @@
## 当前扩展任务
+### CAP-OSS-001:GitHub 开源发现与仓库治理
+
+- 状态:`DONE`
+- 所有者:主 Agent
+- 范围:GitHub 仓库设置、README 双语入口、项目视觉、社区模板、标签、发布与验证
+- 验收:搜索元数据准确;新用户可在首屏理解价值并离线启动;main、Actions 与安全策略回读通过;
+ 变更通过本地质量门并以独立 PR 交付
+
### CAP-DISC-001:多轮需求发现与软件设计报告
- 状态:`DONE`
From d2dfe19527823278d05629eed1f506b6ad9f60e2 Mon Sep 17 00:00:00 2001
From: aaa <2481034282@qq.com>
Date: Sat, 22 Aug 2026 18:31:04 +0800
Subject: [PATCH 2/4] feat: position discovery as an FDE workflow
---
.github/ISSUE_TEMPLATE/config.yml | 2 +-
.github/ISSUE_TEMPLATE/feature_request.yml | 2 +-
README.md | 31 ++-
README.zh-CN.md | 27 +-
docs/README.md | 3 +-
docs/assets/cloud-agent-platform-hero.svg | 16 +-
docs/code-tour.md | 9 +-
docs/contracts/openapi.yaml | 12 +-
docs/fde-discovery-playbook.md | 127 ++++++++++
docs/product-positioning.md | 44 +++-
docs/requirement-discovery.md | 32 ++-
docs/requirements.md | 6 +-
.../01-product-and-business-requirements.md | 22 +-
.../11-acceptance-handover-traceability.md | 7 +-
docs/task-board.md | 8 +
src/api/discovery_routes.py | 12 +-
src/discovery.py | 233 +++++++++++++-----
src/discovery_ui.py | 39 +--
src/main.py | 4 +-
tests/discovery/test_service.py | 114 ++++++++-
tests/integration/test_discovery_api.py | 9 +-
21 files changed, 575 insertions(+), 184 deletions(-)
create mode 100644 docs/fde-discovery-playbook.md
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index cde689a..1d9eb6f 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,5 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Questions and design discussions
- url: https://github.com/aopays/Agent/discussions
+ url: https://github.com/aopays/cloud-agent-platform/discussions
about: Ask usage questions or discuss ideas before opening an implementation issue.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
index 899870f..2eebcc5 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.yml
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -1,5 +1,5 @@
name: Feature request
-description: Propose a focused improvement or a real-world agent workflow.
+description: Propose an FDE discovery improvement or a real-world agent workflow.
title: "[Feature]: "
labels:
- enhancement
diff --git a/README.md b/README.md
index c6a089c..d655cea 100644
--- a/README.md
+++ b/README.md
@@ -2,22 +2,25 @@
**English** | [简体中文](README.zh-CN.md)
-
+
-[](https://github.com/aopays/Agent/actions/workflows/ci.yml)
-[](https://github.com/aopays/Agent/actions/workflows/security.yml)
+[](https://github.com/aopays/cloud-agent-platform/actions/workflows/ci.yml)
+[](https://github.com/aopays/cloud-agent-platform/actions/workflows/security.yml)
[](https://www.python.org/)
[](https://developers.openai.com/api/docs/quickstart)
[](LICENSE)
-[](https://github.com/aopays/Agent/stargazers)
+[](https://github.com/aopays/cloud-agent-platform/stargazers)
-Turn a fuzzy software idea or a Git repository into a **bounded, observable AI workflow**. Cloud Agent Platform combines requirement discovery, an autonomous model–tool loop, task orchestration, sandbox adapters, event streaming, and downloadable artifacts in one runnable Python project.
+An open-source **FDE discovery workspace and Cloud Agent runtime**. It helps Forward Deployed Engineers turn messy customer conversations into evidence-backed, executable technical plans, then run well-scoped repository tasks through bounded, observable AI workflows.
+
+The discovery workflow is designed to stop unproductive meetings: it follows vague words to numbers and examples, separates facts from assumptions, identifies decision makers and system owners, and keeps asking about blockers until the result can be reviewed by architecture, engineering, QA, security, and the customer.
> This repository is a production-aware local MVP and architecture reference, not a hosted production service. The single-agent runtime is implemented today; durable infrastructure, stronger isolation, and multi-agent DAG orchestration are documented evolution paths.
## Why developers use this project
- **Learn the engineering behind coding agents** — not just prompting, but queues, leases, cancellation, budgets, idempotency, events, artifacts, and failure semantics.
+- **Run disciplined FDE discovery** — capture customer evidence, As-Is pain, scope, owners, data, integrations, acceptance thresholds, risks, and Go/No-Go conditions.
- **Prototype with a real OpenAI tool loop** — the provider uses the Responses API and structured function calls behind a replaceable interface.
- **Start without an API key** — a deterministic demo provider exercises the full task lifecycle offline.
- **Inspect the security boundary** — command execution is routed through sandbox interfaces with path, timeout, output, process-tree, and network controls.
@@ -27,15 +30,17 @@ If that is useful to you, consider giving the project a ⭐ so other agent engin
## What it can do
-### 1. Fuzzy requirement → software design report
+### 1. Customer conversation → FDE technical discovery package
Start with a short idea such as:
```text
-Design software for scheduling logistics drivers.
+We want to use AI to improve logistics driver scheduling.
```
-The requirement-discovery workbench asks focused questions over several rounds, separates confirmed facts from assumptions and open decisions, then generates a downloadable Markdown software design report.
+The FDE workbench follows five stages: business outcome and decision authority, As-Is evidence, scope/rules/exceptions, data/integration/security, and PoC/MVP acceptance. Three rounds unlock a draft; unresolved implementation blockers trigger further questions, up to twelve user rounds. The result is a downloadable technical plan with evidence, open decisions, architecture, acceptance thresholds, delivery gates, and an engineering handoff checklist.
+
+Read the [FDE customer discovery playbook](docs/fde-discovery-playbook.md).
### 2. Natural-language task + Git repository → agent artifact
@@ -54,8 +59,8 @@ The API exposes:
### Windows PowerShell
```powershell
-git clone https://github.com/aopays/Agent.git
-cd Agent
+git clone https://github.com/aopays/cloud-agent-platform.git
+cd cloud-agent-platform
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -c requirements.lock -e ".[dev]"
Copy-Item .env.example .env
@@ -67,8 +72,8 @@ $env:SANDBOX_BACKEND = "local"
### Linux and macOS
```bash
-git clone https://github.com/aopays/Agent.git
-cd Agent
+git clone https://github.com/aopays/cloud-agent-platform.git
+cd cloud-agent-platform
python3 -m venv .venv
./.venv/bin/python -m pip install -c requirements.lock -e ".[dev]"
cp .env.example .env
@@ -216,7 +221,7 @@ See the detailed [multi-agent target architecture](docs/multi-agent-platform-arc
Useful contributions include reproducible agent tasks, eval cases, sandbox attacks, persistence adapters, UI improvements, and documentation fixes.
1. Read [CONTRIBUTING.md](CONTRIBUTING.md).
-2. Start with a focused issue or [GitHub Discussion](https://github.com/aopays/Agent/discussions).
+2. Start with a focused issue or [GitHub Discussion](https://github.com/aopays/cloud-agent-platform/discussions).
3. Keep the trust boundary and public contracts intact.
4. Add tests for every behavior change.
diff --git a/README.zh-CN.md b/README.zh-CN.md
index e41fb5d..aea21e1 100644
--- a/README.zh-CN.md
+++ b/README.zh-CN.md
@@ -3,7 +3,7 @@
[English](README.md) | **简体中文**
> **Turn fuzzy ideas and code repositories into bounded, auditable AI work.**
-> 从一句模糊需求到软件设计报告,从一个 Git 仓库到可追踪的 Agent 执行结果。
+> 从客户的一句模糊需求到可执行技术方案,从一个 Git 仓库到可追踪的 Agent 执行结果。


@@ -11,12 +11,13 @@


-Cloud Agent Platform 是一个面向 **AI 应用工程师、平台工程团队和技术面试候选人** 的开源 MVP。
+Cloud Agent Platform 是一个面向 **FDE、解决方案架构师、AI 应用工程师和平台工程团队** 的开源 MVP。
它把“LLM 会调用工具”扩展成一条可以真正运行、取消、审计和演进的工程链路:API 接收任务,调度器投递,
Worker 准备仓库,Agent Runtime 循环推理与调用工具,Sandbox 控制执行边界,最终返回事件、用量与产物。
-项目还提供独立的 **需求挖掘工作台**:用户只需要输入十几个字的模糊需求,系统通过多轮对话补齐用户、目标、
-流程、约束和验收条件,再生成可下载的软件设计报告。
+项目的第一入口是 **FDE 客户需求发现工作台**:FDE 可以输入企业负责人的十几个字模糊需求,系统围绕业务结果、
+决策人、现状证据、范围与非目标、规则、数据、集成、安全和验收继续追问,直到形成可交给架构、开发、QA、
+安全和客户共同评审的技术方案草案。
> 当前版本是可运行的本地开发与架构演示 MVP,不是生产级托管平台。运行时已经实现单 Agent 工具循环;
> 多 Agent DAG、持久化基础设施和强隔离属于清晰定义的演进路线,而非已经上线的能力。
@@ -31,16 +32,19 @@ Worker 准备仓库,Agent Runtime 循环推理与调用工具,Sandbox 控制
## 两条可运行产品链路
-### 1. 模糊需求 → 软件设计报告
+### 1. 客户沟通 → FDE 技术发现与可执行方案
-适合产品经理、创业者、交付团队和 AI 应用工程师。输入例如:
+适合 FDE、解决方案架构师、售前技术顾问和交付负责人。输入例如:
```text
-设计一个物流司机排班用的软件
+我们想用 AI 提升物流司机排班效率
```
-系统通过三轮左右的澄清逐步收集角色、业务目标、关键流程、规则、数据、安全、性能和验收标准,最终生成
-Markdown 软件设计报告。入口:`http://127.0.0.1:8001/discovery`。
+系统按业务结果与决策人、As-Is 证据、范围/规则/异常、数据/集成/安全、PoC/MVP 验收五个阶段推进。
+三轮后可以生成草案,但关键阻塞项未关闭时仍会继续追问,单会话最多十二轮。最终输出客户证据、事实/假设/决策、
+技术架构、验收阈值、Go/No-Go 条件和研发移交清单。入口:`http://127.0.0.1:8001/discovery`。
+
+详细方法见 [FDE 客户需求发现工作手册](docs/fde-discovery-playbook.md)。
### 2. 自然语言任务 + Git 仓库 → Agent 产物
@@ -179,7 +183,7 @@ src/
├── main.py # FastAPI composition root、SSE、下载与健康检查
├── platform.py # Provider、Queue、Sandbox、Worker 的依赖装配
├── worker.py # 从领取任务到终态提交的执行编排
-├── discovery.py # 多轮需求挖掘、结构化会话与报告生成
+├── discovery.py # FDE 多轮客户发现、就绪门禁与技术方案生成
├── agent_runtime/ # 模型—工具循环、预算、事件、OpenAI Adapter
├── api/ # Task/Discovery 路由与 Pydantic Schema
├── scheduler/ # 状态机、队列、租约、取消和幂等
@@ -192,6 +196,7 @@ src/
## 文档中心
- [文档导航](docs/README.md):按产品、开发、架构、安全、测试和发布查阅。
+- [FDE 客户发现手册](docs/fde-discovery-playbook.md):访谈阶段、证据模型、就绪门禁和研发移交。
- [产品定位与需求](docs/product-positioning.md):谁会用、解决什么问题、MVP 范围和成功指标。
- [代码导览](docs/code-tour.md):像代码解释器一样按入口、调用链和模块阅读项目。
- [系统架构](docs/system-architecture.md):上下文、容器、组件、时序、信任边界和演进架构图。
@@ -205,7 +210,7 @@ src/
### 已实现(As-Is)
- 任务创建、查询、取消、事件与产物 API;
-- 模糊需求的多轮澄清页面与设计报告下载;
+- 面向 FDE 的多轮客户发现页面与可执行技术方案下载;
- Worker、可见性超时、租约、心跳、幂等与状态机;
- Demo/OpenAI Provider、Agent Loop、工具注册表与预算;
- 本地可信与 Docker 沙箱 Adapter;
diff --git a/docs/README.md b/docs/README.md
index 61afdb8..31fc9c3 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -11,7 +11,8 @@
## 想运行或二次开发
-- [需求挖掘功能](requirement-discovery.md)
+- [FDE 客户需求发现工作手册](fde-discovery-playbook.md)
+- [FDE 多轮需求发现功能](requirement-discovery.md)
- [MVP 需求基线](requirements.md)
- [MVP 架构基线](architecture.md)
- [验收标准](acceptance-criteria.md)
diff --git a/docs/assets/cloud-agent-platform-hero.svg b/docs/assets/cloud-agent-platform-hero.svg
index b926d80..5abb9d5 100644
--- a/docs/assets/cloud-agent-platform-hero.svg
+++ b/docs/assets/cloud-agent-platform-hero.svg
@@ -1,6 +1,6 @@