From eb861b2c704f3a2c75463d844d1342895ea9d5b3 Mon Sep 17 00:00:00 2001 From: ymq Date: Wed, 19 Aug 2026 23:11:38 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20design=E4=BA=A7=E5=87=BA=E6=8B=86?= =?UTF-8?q?=E4=B8=A4=E5=B1=82=E2=80=94=E2=80=94=E5=BA=94=E7=94=A8=E7=BA=A7?= =?UTF-8?q?(architecture+ui-design=E9=A3=8E=E6=A0=BC/=E4=B8=BB=E9=A1=B5/?= =?UTF-8?q?=E4=BA=A4=E4=BA=92/=E5=BC=B9=E7=AA=97=E8=A7=84=E8=8C=83)?= =?UTF-8?q?=EF=BC=8C=E6=95=B0=E6=8D=AE=E8=AE=BE=E8=AE=A1=E4=B8=8B=E6=B2=89?= =?UTF-8?q?=E5=88=B0=E5=90=84=E6=A8=A1=E5=9D=97(=E6=95=B0=E6=8D=AE/CRUD/?= =?UTF-8?q?=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91/skills)=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E8=87=AA=E5=8C=85=E5=90=AB=E5=A4=8D=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pipeline_service/agent_loop.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/pipeline_service/agent_loop.py b/pipeline_service/agent_loop.py index d0ae55c..f24a425 100644 --- a/pipeline_service/agent_loop.py +++ b/pipeline_service/agent_loop.py @@ -412,14 +412,17 @@ ROLE_SPECIFICS = { 'design': """你是系统设计师。按 SDLC 仓库标准产出文档。 -产出路径: docs/01-design/ 目录下: - - architecture.md: 系统架构、技术选型理由 - - database-design.md: ER图描述、表结构DDL - - api-design.md: 接口列表(method/path/request/response) - - ui-design.md: 页面结构、组件树(如适用) -同时完成模块划分(modules/<模块名>.md): 把应用拆成模块——概念相近的功能组合成一个独立模块,每个模块独立仓库(归入应用伞仓库 pkgs/<模块>),每个模块含: 模块功能、仓库URL(先填规划地址)、技术栈、依赖。 -同时定义模块间依赖关系 + 开发顺序: 每个模块在「依赖」字段写明它依赖哪些其他模块(被依赖方须先开发),并给出开发顺序(拓扑序)。无依赖的模块可并行开发;有依赖的模块须等其依赖的模块完成后再开发。 -模块划分遵循: apppublic、sqlor、ahserver、accounting、appbase、rbac 等基础模块已存在、可直接引用,**不必列为待开发模块**(除非需求明确要改它们)。后续 PM 按你划分好的模块 + 依赖关系派发 develop 任务,develop 按你的模块清单逐个开发。 +应用级设计(产出到 docs/01-design/): + - architecture.md: 系统架构、技术选型理由、模块划分、模块间依赖关系、开发顺序 + - ui-design.md: 视觉风格(配色/字体/间距)、主页面布局、用户交互模式、弹窗/表单规范 + +模块级设计(每个模块自包含、可复用,产出到各模块目录): + - modules/<模块名>.md: 模块功能、仓库URL(先填规划地址)、技术栈、依赖、开发顺序 + - modules/<模块名>/design.md: 该模块的数据设计(表结构DDL) + CRUD 定义 + 处理逻辑(接口) + - modules/<模块名>/skill/SKILL.md: 该模块技能文档 + 数据、CRUD、处理逻辑、skills 都属于模块本身,不放在应用级 design——这样模块可整体复用(换个应用带着自己的数据/逻辑/skills 一起加载)。 + +模块划分遵循: 概念相近的功能组合成一个独立模块,每个模块独立仓库(归入应用伞仓库 pkgs/<模块>)。apppublic、sqlor、ahserver、accounting、appbase、rbac 等基础模块已存在、可直接引用,**不必列为待开发模块**(除非需求明确要改它们)。后续 PM 按你划分好的模块 + 依赖关系派发 develop 任务,develop 按你的模块清单逐个开发。 产出后用 result 输出文档,files 列出所有文件路径。""", 'develop': """你是开发工程师。按模块化原则开发:概念相近的功能组合成一个独立模块,每个模块独立仓库,所有模块归入应用的伞仓库(pkgs/<模块>)。源码写入模块独立仓库,不在项目仓库。 @@ -427,8 +430,8 @@ ROLE_SPECIFICS = { 基础模块复用(必读): apppublic、sqlor、ahserver、accounting、appbase、rbac 等基础模块已存在、可直接引用,**不必再开发**——需要权限走 rbac、需要数据访问走 sqlor、需要 HTTP 框架走 ahserver、需要配置/参数走 appbase、需要工具函数走 apppublic。开发前先确认目标能力是否已由基础模块提供,能复用就不重造。 准备工作: - 1. read_file 读 docs/01-design/ 下的设计文档 - 2. read_file 读 modules/<模块名>.md 获取模块仓库 URL + 1. read_file 读 docs/01-design/ 下的架构与 UI 设计文档 + 2. read_file 读 modules/<模块名>.md 获取模块仓库 URL,读 modules/<模块名>/design.md 获取该模块的数据设计/CRUD/处理逻辑 3. git_clone 克隆模块仓库到工作空间 开发流程: 4. write_file 写代码到模块仓库目录下