Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# The project owner reviews repository-wide changes while the maintainer team is small.
* @aopays
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -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:
Expand Down
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Questions and design discussions
url: https://github.com/aopays/cloud-agent-platform/discussions
about: Ask usage questions or discuss ideas before opening an implementation issue.
54 changes: 54 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Feature request
description: Propose an FDE discovery 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
326 changes: 157 additions & 169 deletions README.md

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Cloud Agent Platform 中文文档

中文产品介绍已经移到仓库默认首页,避免两份长 README 在功能、命令和安全边界上发生漂移。

- [打开完整中文 README](README.md)
- [跳转到英文概览](README.md#english-overview)
- [打开文档中心](docs/README.md)
15 changes: 11 additions & 4 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@
## 第一次了解项目

1. [项目首页](../README.md):价值、能力、启动和演示路径。
2. [产品定位与需求](product-positioning.md):目标用户、核心场景、MVP 范围和指标。
3. [系统架构](system-architecture.md):从系统上下文到组件、时序和部署。
4. [代码导览](code-tour.md):从 `src/main.py` 开始逐层读懂代码。
2. [FDE / AI Agent 面试展示包](fde-interview-kit.md):三分钟讲稿、现场 Demo、常见追问和简历写法。
3. [产品定位与需求](product-positioning.md):目标用户、核心场景、MVP 范围和指标。
4. [系统架构](system-architecture.md):从系统上下文到组件、时序和部署。
5. [代码导览](code-tour.md):从 `src/main.py` 开始逐层读懂代码。

## 想运行或二次开发

- [需求挖掘功能](requirement-discovery.md)
- [FDE 客户需求发现工作手册](fde-discovery-playbook.md)
- [FDE 多轮需求发现功能](requirement-discovery.md)
- [MVP 需求基线](requirements.md)
- [MVP 架构基线](architecture.md)
- [验收标准](acceptance-criteria.md)
Expand All @@ -27,6 +29,11 @@
- [需求场景评测](reviews/discovery-scenario-evaluation.md)
- [任务看板与决策记录](task-board.md)

## 想了解开源传播与项目包装

- [对标仓库增长分析](open-source-growth-analysis.md):用公开数据拆解搜索入口、首屏转化、面试资料和 Star 路径。
- [FDE / AI Agent 面试展示包](fde-interview-kit.md):把可运行能力转成有证据的项目讲解,不虚构业务和性能指标。

## 想看真实软件生命周期

[SDLC 文档中心](sdlc/README.md)覆盖产品、SRS、数据/API、多 Agent 编排、开发、测试、安全、发布、SRE、
Expand Down
70 changes: 70 additions & 0 deletions docs/assets/cloud-agent-platform-hero.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 5 additions & 4 deletions docs/code-tour.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,13 +203,14 @@ no-new-privileges、CPU/内存/PID/临时盘限制。Docker 控制命令与用
`LocalArtifactStore` 使用 SHA-256 和逻辑名称实现内容校验与幂等,限制单产物大小,并把真实存储路径隐藏在 API
响应之后。当前元数据在内存中,重启后不恢复;生产 Adapter 应使用 PostgreSQL + S3/MinIO。

## 11. 需求挖掘:`src/discovery.py`
## 11. FDE 客户需求发现:`src/discovery.py`

Discovery 是与仓库任务并列的产品模块:
Discovery 是与仓库任务并列的产品模块,也是 FDE 进入客户后的前置工作台

- `DiscoveryService` 管理会话、消息、状态和最终报告;
- `DemoDiscoveryAssistant` 提供可重复、无需费用的确定性流程;
- `ProviderDiscoveryAssistant` 使用同一 LLMProvider 做开放式澄清;
- `DemoDiscoveryAssistant` 提供可重复、无需费用的确定性 FDE 访谈流程;
- `ProviderDiscoveryAssistant` 使用同一 LLMProvider 按就绪门禁追问实施阻塞项;
- 报告严格区分事实、假设、决策、风险和开放问题,并形成研发与 QA 移交清单;
- `src/discovery_ui.py` 是无构建步骤的单页演示 UI;
- `src/api/discovery_routes.py` 提供创建、追加消息、完成和下载接口。

Expand Down
12 changes: 6 additions & 6 deletions docs/contracts/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ openapi: 3.1.0
info:
title: Cloud Agent Platform API
version: 0.1.0
description: P0 contract for task lifecycle, events, and artifacts.
description: P0 contract for FDE discovery, task lifecycle, events, and artifacts.
servers:
- url: http://localhost:8000
security:
Expand All @@ -11,7 +11,7 @@ paths:
/v1/discovery-sessions:
post:
operationId: createDiscoverySession
summary: Start a multi-turn requirement discovery conversation
summary: Start a multi-turn FDE customer discovery conversation
requestBody:
required: true
content:
Expand Down Expand Up @@ -45,7 +45,7 @@ paths:
/v1/discovery-sessions/{sessionId}/messages:
post:
operationId: addDiscoveryMessage
summary: Answer questions and continue requirement discovery
summary: Record customer evidence and continue FDE discovery
parameters:
- $ref: '#/components/parameters/DiscoverySessionId'
requestBody:
Expand All @@ -68,7 +68,7 @@ paths:
/v1/discovery-sessions/{sessionId}/finalize:
post:
operationId: finalizeDiscoverySession
summary: Generate the software design report
summary: Generate the FDE technical discovery and solution report
parameters:
- $ref: '#/components/parameters/DiscoverySessionId'
responses:
Expand All @@ -83,12 +83,12 @@ paths:
/v1/discovery-sessions/{sessionId}/report:
get:
operationId: downloadDiscoveryReport
summary: Download the finalized Markdown software design report
summary: Download the finalized Markdown FDE technical solution
parameters:
- $ref: '#/components/parameters/DiscoverySessionId'
responses:
'200':
description: Software design report
description: FDE technical discovery and solution report
content:
text/markdown:
schema:
Expand Down
127 changes: 127 additions & 0 deletions docs/fde-discovery-playbook.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# FDE 客户需求发现工作手册

## 1. 产品使命

本项目把需求发现模块定位为 Forward Deployed Engineer(FDE)的前置工作台。它服务于 FDE、解决方案架构师、
AI 应用工程师和技术交付负责人第一次进入客户现场的阶段:把企业负责人的业务语言、现状抱怨和零散想法,转成
一份能够被架构、开发、QA、安全和客户共同评审的技术发现包。

它不追求“多聊几轮”,而追求每次沟通都减少一个实施风险,最终回答五个问题:

1. 客户为什么现在必须解决这个问题?
2. 谁使用、谁提供数据、谁承担变更、谁最终决策?
3. 第一版具体做什么、不做什么?
4. 技术和组织前置条件是否真实存在?
5. 用什么证据决定 PoC/MVP 成功或停止?

## 2. 需要解决的真实痛点

- 客户负责人描述的是方案名或症状,例如“做一个 AI 平台”,而不是可验证的问题。
- 销售、业务、技术和一线用户使用不同语言,同一个词对应不同预期。
- 会议反复讨论功能,却没有现状基线、数据样例、系统负责人和决策权限。
- FDE 过早承诺技术方案,后续才发现数据拿不到、接口不存在、安全不允许或验收标准不一致。
- 需求从 FDE 移交到研发时丢失上下文,最终变成范围蔓延、重复返工和责任争议。

## 3. 拒绝无效沟通的原则

### 3.1 从抽象词追到证据

客户说“系统要快”,继续追问哪个操作、现状耗时、目标耗时、测量口径和峰值规模。客户说“要智能”,继续追问
由谁做决策、允许多大错误、错误成本、人工复核方式和可用训练或评测数据。

### 3.2 不重复已回答的问题

每轮先复用已有证据,只询问会阻塞范围、技术可行性、验收或交付承诺的缺口。问题数量控制在 3 到 5 个,
让客户可以在一次回复中给出高质量答案。

### 3.3 不把假设伪装成客户需求

所有内容按以下类型管理:

- `FACT`:客户明确表达且最好有业务数据、文档或实例支撑。
- `ASSUMPTION`:为了形成草案暂时采用,必须有责任人和确认日期。
- `DECISION`:经过有权限的人确认的范围、规则或技术选择。
- `RISK`:可能影响成本、进度、安全、质量或可行性的事项。
- `OPEN`:尚未回答且会阻塞实施或验收的问题。

### 3.4 先确定问题,再选择技术

在业务结果、As-Is 流程、规模、边界和验收证据没有形成之前,不承诺微服务、模型、数据库或具体供应商。
技术栈必须服务于已确认约束,而不是反过来创造需求。

## 4. FDE 访谈阶段

### 阶段 A:业务结果与决策机制

确认需求发起人、业务负责人、最终决策人、一线用户、预算和 Go/No-Go 机制。要求客户说明为什么现在做、
不做的损失、希望改变的业务指标,以及谁有权确认这些指标。

### 阶段 B:As-Is 流程与痛点证据

使用一个最近发生的真实案例走查当前流程,记录每一步的负责人、输入、输出、等待时间、错误、返工和人工兜底。
至少获得一种证据:样例数据、流程截图、工单、报表、会议纪要或系统日志。

### 阶段 C:范围、规则与异常

确定主流程、硬规则、常见例外、审批、人工覆盖和审计要求。明确 MVP 范围、非目标和变更流程,避免把未来愿景
包装成当前承诺。

### 阶段 D:数据、集成与安全

为每个数据源和外部系统确认业务用途、负责人、接口、字段样例、规模、质量、更新频率、测试环境、权限、
敏感等级、失败策略和预计可用日期。

### 阶段 E:PoC、MVP 与交付承诺

把成功写成可现场执行的 Given/When/Then,定义现状基线、目标阈值、测量窗口、数据来源和验收负责人。
确认时间、预算、客户配合人、部署条件、运维责任和停止条件。

## 5. 技术方案就绪门禁

完成三轮只代表可以生成草案。以下九项没有阻塞缺口,才可以把方案标记为“可进入工程评审”:

1. 业务结果、现状基线和成功指标;
2. 业务负责人、技术负责人、数据负责人和最终决策人;
3. 一线用户、场景、频率、规模和主流程;
4. MVP 范围、非目标、优先级和变更机制;
5. 业务规则、异常、人工兜底和审计要求;
6. 数据来源、样例、质量和责任人;
7. 外部系统、接口、测试环境和集成失败策略;
8. 安全、隐私、合规、部署和运维边界;
9. PoC/MVP 验收阈值、预算时间和 Go/No-Go 流程。

用户可以提前生成报告,但系统必须把缺口保留为开放问题,而不是自动补成客户承诺。单会话最多 12 个用户轮次,
用于避免无限对话;达到上限仍有阻塞项时,应升级为人工专题会议。

## 6. 最终交付物

FDE 技术发现报告至少包含:

- 执行摘要和原始需求;
- 客户原话、事实、假设、决策、风险和开放项;
- Stakeholder/决策地图和责任边界;
- As-Is 流程、量化痛点和 To-Be 业务目标;
- MVP 范围、非目标、可追踪需求 ID、规则和异常;
- 数据与集成责任矩阵;
- 技术架构、接口、安全、可靠性和非功能要求;
- PoC 与 MVP 验收标准;
- 交付计划、依赖、风险和 Go/No-Go 条件;
- 给架构、开发、QA 和安全团队的移交清单。

## 7. 成功指标

- 首次客户访谈后关键维度覆盖率;
- 每个关键结论的证据关联率;
- 报告中未确认假设的数量和关闭周期;
- 进入开发后因需求误解产生的返工率;
- PoC 验收争议率和 Go/No-Go 决策周期;
- FDE 到研发移交后新增阻塞问题的数量;
- 客户会议时长不作为单独成功指标,减少无效轮次同时提高决策密度才是目标。

## 8. 产品边界

- 工具辅助 FDE 组织问题和证据,不替代客户业务负责人做决定。
- 报告是技术方案草案,不是合同、法律意见、安全认证或自动交付承诺。
- 对话质量取决于客户输入;关键事实必须由有权限的人确认。
- 高风险行业仍需领域专家、法务、安全和合规团队参与。
- 当前会话使用进程内存,不具备生产级 CRM、权限、长期留存和多人协作能力。
Loading