建立可移交的 AI 软件交付规划文档仓库。
纳入截至 2026-10-13 会议回写后的产品基线与会议图源。
No files matched your search
@@ -0,0 +1 @@
|
|||||||
|
diagrams/.render-cache/
|
||||||
@@ -0,0 +1,110 @@
|
|||||||
|
# AI 软件交付与持续服务平台分阶段讨论计划
|
||||||
|
|
||||||
|
这是一项包含业务模式重构、产品设计、自动交付和现网迁移的长期规划。通过分主题的连续讨论逐步完成,不以单次会话或上下文容量作为系统范围上限。
|
||||||
|
|
||||||
|
目录协作版本 0.18,业务基线 0.15,2026-10-13。2026-10-13 会议口径已写入正文,见 08 与 H0004。架构仍未定案。最新进度见 [08](08-当前讨论状态.md),交接按 [09](09-协作与交接规范.md)保存。
|
||||||
|
|
||||||
|
## 阶段 1 业务全貌与产品边界
|
||||||
|
|
||||||
|
**主文档:01 立项与产品定位。已形成阶段性业务基线。**
|
||||||
|
|
||||||
|
讨论公开服务网站卖什么、如何展示应用能力、客户购买后得到什么,以及客户、运营、设计、开发和运维如何协作。当前使用普通客户账号,中介也作为普通客户;企业组织和二次授权后置。
|
||||||
|
|
||||||
|
已明确核心销售是可稳定运行的 Web 应用技术封装及 AI、团队的二次开发定制能力,基础服务支撑体验和成本覆盖。客户用文字和附件提交一次清楚的改动任务,自动或人工模式处理后直接更新线上,人工额外确认金额;工单固定需求以减少追加和争议,客服或 TG 负责沟通。需求变更、支付和恢复细节分别留到业务规则与执行阶段,阶段 1 形成前提后已完成阶段 2 的领域核对。
|
||||||
|
|
||||||
|
展示网站、开源业务应用、内容运营、数据服务、仅邮箱和持续托管均进入整体场景。应用目录可扩展到经接入验证的各行业容器化系统;具体组合与对外服务表达逐项确认,不用现有模板限制产品范围。
|
||||||
|
|
||||||
|
完成条件:能用几个典型客户案例解释完整业务,并列出明确的目标能力、暂不纳入的能力和仍待研究的能力。此时不要求确定数据库或首期所有细节。
|
||||||
|
|
||||||
|
## 阶段 2 领域模型与项目类型
|
||||||
|
|
||||||
|
**主文档:03 的领域模型部分。已收口,结论见开头“阶段 2 完成基线与后续交接”。**
|
||||||
|
|
||||||
|
讨论客户账号、项目分组、服务产品、应用目录、订单、项目、环境、工作负载、资源和工单之间的关系。组织协作只作为后续扩展边界;用真实场景检验模型,不按客户来源拆业务流程。
|
||||||
|
|
||||||
|
重点处理用户提出的旧系统问题:自动生成标识,项目类型声明部署组成,worker 等工作负载有正式配置,命名空间有默认值且可配置,代码仓库与数据库通过显式关系绑定。
|
||||||
|
|
||||||
|
本阶段分轮讨论:先确定项目与应用、独立服务的边界;再区分应用目录、类型和运行配置;随后明确实例、环境、工作负载和资源绑定;最后检验工单、版本、订单关联及代表性场景。第一轮核心边界已确认:项目代表一个客户业务目标,允许多个相关应用及配套服务。第二轮根据用户实例提前展开部署组件、共享资源计费、namespace 与数据库关系、跨项目协作、公共 API、客户项目组及外部托管资源;费用组成同步 05,具体价目留到阶段 3,供应商接入留到架构与运行阶段。
|
||||||
|
|
||||||
|
完成条件:用展示站、仅邮箱、Web 加 worker、多应用或入口场景检验关系,不需要依赖项目名、仓库名与 namespace 相等或解析 `-x` 才能工作。概念图与字段说明可以逐轮完善,暂不生成生产建表迁移。
|
||||||
|
|
||||||
|
已达到上述领域完成条件。用户认可已讨论推荐方向:项目发布组合、代码/数据两层恢复、引用释放、受保护预览、自有域名绑定及平台/Git 职责。参数、规则状态和实现按 03 交接表后置,不为等待备份期限或法律地区而重新开放整轮领域确认。
|
||||||
|
|
||||||
|
## 阶段 3 业务流程与商业规则
|
||||||
|
|
||||||
|
**主文档:02,当前阶段。费用与权益讨论时使用 05。**
|
||||||
|
|
||||||
|
本轮已明确案例快捷入口与普通单 APP 向导、高级多 APP 配置、付款后开通状态/邮件、工单系统回执与失败修订重试、退役/再部署、年付及 AI 赠送方向、到期关闭外部访问和最多一周数据保留。建议方案见 02;先整体记录,再逐轮细化,不能把主要路径已描述等同于商业规则全部完成。
|
||||||
|
|
||||||
|
本轮补齐年付开发/运维套餐、预充值积分(推荐 1 USD = 100 积分)、全部模式实际 AI 消耗计费、套餐包含用量后超额扣充值、退役不退费且仅代码/配置归档。未来测试赠送永远只测试,禁止正式域名且可销毁;公开授予细则和客户例外按月结算后置,首期不做退款引擎。
|
||||||
|
|
||||||
|
具备进入阶段 4 的首期业务前提。下一轮建议先讨论平台业务模块/数据所有权与部署/数据库边界,再单独讨论工作流与 Git 接入。技术参数、充值渠道、模板支持范围按依赖细化,不能为了讨论所有运营细则把首期复杂化。
|
||||||
|
|
||||||
|
逐条讨论公开展示、需求或应用选择、注册、购买、付款、运行成果、改动工单、客服渠道、人工金额确认、直接线上更新、回退、续费及退役。覆盖等待、失败、取消、退款、需求变化和争议等分支;不预设每张工单都需客户验收再发布,成员及二次授权后置。
|
||||||
|
|
||||||
|
明确客户可以买什么、订单授予什么权益、工单如何归属和收费。用户注册与下工单作为完整业务能力设计,不作为在旧管理员表旁边临时加表的补丁。
|
||||||
|
|
||||||
|
工单保存本次文字和附件、自动或人工模式、内部处理、人工金额确认与线上版本。在线客服或 Telegram 负责沟通,TG 机器人作为渠道候选;提交后需求如何锁定和变化另行讨论。客户要求可回到历史工单发起前版本,整版回退、选择性撤销和数据恢复分别讨论;Git 关联评估保存到 03。
|
||||||
|
|
||||||
|
完成条件:角色权限、输入输出、状态转换及主要异常可以解释清楚;商业规则与系统自动行为一致。
|
||||||
|
|
||||||
|
## 阶段 4 系统架构与数据边界
|
||||||
|
|
||||||
|
**主文档:03 的架构部分。重要决定汇入 07。**
|
||||||
|
|
||||||
|
基于前三阶段确定的需求,对比应用部署方式、模块责任和数据库边界。分别回答是否需要独立执行进程、哪些业务需要事务一致、谁拥有数据、跨边界如何协作以及如何恢复。
|
||||||
|
|
||||||
|
统一系统可以有多个运行组件;多个运行组件也可以使用同一数据库。应用数量、数据库数量和产品整体性分别论证,不能相互替代。
|
||||||
|
|
||||||
|
完成条件:记录候选方案、选择理由、限制和可演进路径。随后才细化数据库结构、API、事件、任务接口和权限实现。
|
||||||
|
|
||||||
|
## 阶段 5 旧业务迁移与切换
|
||||||
|
|
||||||
|
**到这一阶段再按需要建立迁移专文,当前不批量新增空文档。**
|
||||||
|
|
||||||
|
盘点旧资产、现网资源、代码仓库、凭据引用及手工约定。设计导入映射、校验、冲突处理、演练、切换和回退,明确迁移期间由哪个系统负责写入。
|
||||||
|
|
||||||
|
新 ID 与旧记录、namespace、仓库、数据库及域名建立映射。迁入时不要求给线上资源改名,也不把历史名称规则转成新系统关系规则。迁移业务记录与迁移客户应用数据库是两类工作,需要分别规划。
|
||||||
|
|
||||||
|
完成条件:代表性旧项目可试导入、核对并演练切换;重复导入不产生重复资产,异常可处理,现网服务和发布链路有明确衔接方式。无缝衔接是目标,能否完全零中断需演练验证。
|
||||||
|
|
||||||
|
## 阶段 6 自动交付与运行体系
|
||||||
|
|
||||||
|
**主文档:04。依赖已确定的类型、权限、架构和资源模型。**
|
||||||
|
|
||||||
|
细化应用接入与版本、模板契约、安装配置、AI 开发、数据任务、质量验证、预览、生产发布、人工接续、备份和恢复。区分平台交付工作流与客户应用内部任务,定义输入、产物、预算、重试和权限。
|
||||||
|
|
||||||
|
K8s、CI/CD 和现有代码作为候选能力评估,不预设旧脚本调用方式、命名约束或部署分工必须保留。模板工程化与资源配置要支持类型版本和实例差异。
|
||||||
|
|
||||||
|
完成条件:普通交付和异常恢复都可追踪;多工作负载、版本发布与数据变更能够在统一模型内解释。
|
||||||
|
|
||||||
|
## 阶段 7 版本规划与工程实施
|
||||||
|
|
||||||
|
**主文档:06。此时才正式确定首期和后续版本。**
|
||||||
|
|
||||||
|
根据完整目标、依赖、成本和风险,决定先交付什么、如何试点、哪些能力逐期完善,并制定验收、实施任务和工期评估。
|
||||||
|
|
||||||
|
首期熟客普通账户自助购买年付套餐、预览与工单;固定运维、有限自动 AI/套餐包含用量及人工复杂定制并存。实际调用均消耗权益,超额扣充值积分;固定项目服务费衔接旧报价,提前退役不退费且不保业务数据,无退款引擎。公开获客/测试赠送细则、克隆和例外按月结算留后续。
|
||||||
|
|
||||||
|
本轮已提前明确收费方向,并同步到 01 和 05:运行资源按配置档位包年,服务独立选配,后台配置价格。跨阶段出现的明确结论即时记录,不要求为维护讨论顺序而推迟保存,也不据此认定整个商业设计阶段完成。
|
||||||
|
|
||||||
|
完成条件:首期范围可验收,后续路线不被首期简化设计堵死,迁移和业务切换纳入实施计划。
|
||||||
|
|
||||||
|
## 每轮讨论方式
|
||||||
|
|
||||||
|
新人员/AI 先读 AGENTS、README、08、09 和最新交接,再按下面步骤讨论。前三阶段主要由产品组织,阶段 4/5/6 由技术与产品共同评审;技术负责可行性与方案,产品负责业务边界、成本/承诺与切换影响。阶段 5 是迁移规划,不自动授予实施或现网操作权限。
|
||||||
|
|
||||||
|
1. 读取主文档的当前主题和已确认决定,选择一个子问题。
|
||||||
|
2. 用业务例子澄清目标、边界和异常,必要时比较方案。
|
||||||
|
3. 确认本轮结论,更新主文档及受影响章节。
|
||||||
|
4. 在 07 保存确认依据/建议/未决,追加交接记录并更新 08 和必要导航,说明下一轮入口。若仅解释且无变化,不生成空交接。
|
||||||
|
|
||||||
|
建议每轮围绕一至三个相关问题。发现前提变化时回到相应阶段修订,不为满足既定顺序而草率确定后续方案。
|
||||||
|
|
||||||
|
## 当前进度
|
||||||
|
|
||||||
|
- 已完成:阶段 1 业务基线与阶段 2 领域基线,分别见 01 和 03;03 开头保存关系汇总及交接清单。
|
||||||
|
- 当前:阶段 3 首期基线已形成;G01–G05 已生成,见 [会议图集](diagrams/README.md),10 保留图表规格与后续计划。会议核对后以 03 进入阶段 4,先讨论业务与数据边界。
|
||||||
|
- 未完成:完整业务与商业规则、架构选择、字段/数据库设计、迁移、自动交付细化和实施排期。
|
||||||
|
|
||||||
|
阶段 1/2 基线不等于全部字段和实施细节冻结。其余阶段材料仍需逐轮细化,未决事项按对应阶段继续,不因后续参数未知重新要求前两阶段全部确认。
|
||||||
@@ -0,0 +1,237 @@
|
|||||||
|
# AI 软件交付与持续服务平台立项与产品定位
|
||||||
|
|
||||||
|
状态:阶段 1 业务基线,版本 0.15,更新日期 2026-10-13。自动转人工改为先经 AI 验收、失败达到 x 次再转,x 未定。计费模式见 05 的 2026-10-13 补充。架构尚未决定。
|
||||||
|
|
||||||
|
## 立项原因
|
||||||
|
|
||||||
|
当前团队约 80% 的主要业务是企业展示官网,包含金融交易平台或机构的品牌官网。这是用户提供的业务占比,不是对项目目录的统计结果。多数订单来自一个作为订单中介的甲方,由团队负责开发和运行交付。
|
||||||
|
|
||||||
|
与此同时,用户直接承接供应链电商、货代等业务系统,采用接近需求的开源系统部署,再通过 AI 定制开发、配置和处理数据。这些项目此前未进入资产库,原因是客户来源不同,而不是交付业务不相关。
|
||||||
|
|
||||||
|
新平台面向公开市场提供服务,通过 SEO、广告及公开的案例和应用能力展示吸引客户自行注册、提交需求和购买服务。现有中介及直接客户只是业务样本和迁移对象,来源不驱动产品模型。需求分析、方案选择、交付和持续服务中反复发生的人工协调需要转为可追踪的工作流。
|
||||||
|
|
||||||
|
## 产品定位草案
|
||||||
|
|
||||||
|
建议定位为“AI 驱动的软件交付与持续服务平台”。AI 建站空间可以是其中面向展示网站的服务表达;正式产品名称待确认,目录代号暂保留 `ai-web-delivery`。
|
||||||
|
|
||||||
|
核心销售价值是团队将 Web 应用接入、配置、部署和维护封装为可稳定运行的交付基础,并通过 AI 工作流或人员利用 AI,基于该基础完成客户需要的二次开发与系统定制。客户购买的是适合自身业务、能够运行交付的应用成果;技术封装是团队持续积累的能力,定制服务是核心销售内容。
|
||||||
|
|
||||||
|
基础应用、标准部署、运行资源、域名和邮箱支撑客户接触、体验和持续使用服务,帮助客户认识平台能做什么,并覆盖相应成本。基础收费可以保留必要服务收益,但不把运行资源销售或托管规模作为核心商业定位。只需要标准应用或独立基础服务的客户仍可按已确认规则购买,不强制购买定制。
|
||||||
|
|
||||||
|
首期以团队利用 AI 处理人工定制工单提供这一核心价值,后续再把成熟任务转为自动 AI 工作流。自动化程度改变的是执行方式,不改变二次开发定制在产品中的核心地位。
|
||||||
|
|
||||||
|
平台既是对外服务网站,也是交付与持续运营系统。公开网站展示能做什么、有什么案例、哪些基础应用已支持,以及服务内容和定制入口;客户提出需求后,平台推荐自有模板或成熟系统,完成配置、范围内定制、验证、运行交付和后续服务。
|
||||||
|
|
||||||
|
系统上线后,平台还应承接数据迁移、批量内容处理、功能修改和运维任务。客户可以直接选已支持的应用,也可以先描述需求,由平台推荐方案;两种入口如何呈现,后续细化。
|
||||||
|
|
||||||
|
共同机制是按需求选择基础系统并持续交付,各类系统的代码、数据库和运行组成可以不同。统一产品不要求把所有客户应用改写成同一种技术栈。
|
||||||
|
|
||||||
|
## 现有业务样本与交付差异
|
||||||
|
|
||||||
|
| 场景 | 已观察到的内容 | 对新平台的意义 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 企业及金融机构官网 | project37、40 的源码有通用内容后台和不同品牌前端;线上 37、40、58、67 展示机构、服务、教育、新闻或下载入口 | 可将共用应用能力与品牌定制分开,行业、页面范围和收费不等同于模板类型 |
|
||||||
|
| TraderTopMark 评价网站 | 源码包含机构、评分评论、新闻、多语言和社区内容等业务实体 | 超出展示站范围,需自己的功能和验证契约 |
|
||||||
|
| Content Hub 内容中心 | API、内容分发 worker 等通过任务和发布端点协作,服务可连接多个目标站点 | 需表达后台工作负载及跨应用服务关系,不能都当作独立网页 |
|
||||||
|
| 供应链电商 | 基于 Odoo Community 19 的 Compose 项目;包含商品、分类、图片迁移及中西双语处理 | 开源系统定制和数据任务属于服务交付,不能只围绕前端改版 |
|
||||||
|
| 货代系统 | 基于 Frappe/ERPNext 的 Freight Ops;包含订单、费用、单证、客户门户和报表,运行组成有队列、scheduler、数据库和缓存 | 项目类型需覆盖完整业务应用及多组件运行,而非单一 Web 容器 |
|
||||||
|
| 仅邮箱服务 | 用户说明已有这类项目 | 服务可不包含代码开发或 Web 部署 |
|
||||||
|
|
||||||
|
官网采样反映的是展示和内容能力,不据此认定系统实现了交易执行。项目 30 至 67 并未全部盘点,失败访问也不能直接证明项目已关停或仅有邮箱。
|
||||||
|
|
||||||
|
目前官网与 Content Hub 的源码已有 Gitea 构建、推送镜像和 K8s 更新流程,但并非完全相同:官网样本使用 `latest` 且按仓库名推导部署目标;Content Hub 构建 SHA 镜像并更新多个工作负载。TraderTopMark 还存在首次自动创建资源的流水线分支,需要迁移时单独核对。
|
||||||
|
|
||||||
|
用户补充确认:电商和货代目前都是本地开发、本地运行,通过 FRP 映射给客户测试,尚未正式部署到服务器或 K8s。源码中的 Compose 配置是当前本地运行组成的参考,不是已完成生产上线的证据。新平台目标可以统一提供上线与运行服务,但不能直接把旧官网流水线复制到每一种系统。
|
||||||
|
|
||||||
|
## 对外服务网站与获客
|
||||||
|
|
||||||
|
平台通过公开展示软件交付能力吸引新客户,不依赖运营人员事先录入客户或中介提交订单。SEO、广告和已有合作关系都可以带来客户,但不会产生三套业务流程或三种客户身份模型。
|
||||||
|
|
||||||
|
建议公开站点包含应用和服务目录、行业场景、真实案例、定制能力说明以及提交需求或购买的入口。展示内容需要让客户理解应用能解决什么、默认包含什么、可定制什么及哪些需要评估,避免只陈列技术名称或容器镜像。
|
||||||
|
|
||||||
|
应用目录同时承担定制能力展示:让客户看到基础应用能完成什么,以及团队可在其上调整哪些界面、功能、业务流程或数据。演示、案例和定制入口应围绕这些成果展开;服务器规格是运行选配信息,不能取代对核心开发能力的表达。具体页面和客户转化路径后续讨论。
|
||||||
|
|
||||||
|
公开目录和案例可以形成可访问、可检索的页面;SEO 页面组织、广告落地页、服务定价展示及转化流程后续细化,不在本轮承诺渠道效果。
|
||||||
|
|
||||||
|
订单来源如需记录,可作为统计和推广归因信息。它不是项目类型、部署规则或访问授权依据。
|
||||||
|
|
||||||
|
## 客户账户与项目管理
|
||||||
|
|
||||||
|
当前以面向散户的自助服务为主,每个客户账号管理自己的项目和订单。中介也作为普通客户账号理解,只是可能频繁提交订单;无需为其预先建立中介组织、下级客户或专门报价链路。
|
||||||
|
|
||||||
|
账号是当前的操作与权限边界。用户将立项账号交给其他人使用,不要求平台识别谁是中介或最终客户;这种业务安排不构成新增账户类型。内部运营人员的管理权限仍需设计,不能因此允许不同客户账号访问彼此项目。
|
||||||
|
|
||||||
|
企业组织、成员协作和二次授权明确后置,本轮早先关于中介与最终客户分别参与和报价可见范围的草案撤回。未来有实际需要时再设计,不提前影响当前注册和项目模型。
|
||||||
|
|
||||||
|
项目可分组,用于管理和后续差异收费。分组由平台设置还是客户自建、是否需要两种分组,是待讨论的产品细节。
|
||||||
|
|
||||||
|
## 可持续扩展的应用目录
|
||||||
|
|
||||||
|
支持能力不限于现有官网模板。目标包括 GitHub 等来源中各行业的可容器化应用:团队完成一次接入和交付验证后,将具体应用版本录入目录,作为可向客户展示、推荐和交付的能力。
|
||||||
|
|
||||||
|
“调通一次”需要形成可重复执行的接入成果。建议至少记录:
|
||||||
|
|
||||||
|
- 应用来源、版本、适用场景、默认能力及许可信息。
|
||||||
|
- 可复现的构建或镜像来源,以及完整运行组成和外部依赖。
|
||||||
|
- 参数、数据库、缓存、文件、队列及启动初始化要求。
|
||||||
|
- 可修改的代码或插件范围、可配置能力,以及需要人工评估的定制。
|
||||||
|
- 可执行的安装、健康检查、验收、升级、备份和恢复步骤。
|
||||||
|
- 对外说明、演示或案例,以及可提供的服务和资源规格。
|
||||||
|
|
||||||
|
具体上架标准在领域模型和交付阶段制定。容器化是重要接入条件,但“容器能启动”与“能按客户需求稳定交付、升级和维护”是不同的验证范围。
|
||||||
|
|
||||||
|
热门项目可以成为选型线索,但新平台区分“已接入可交付”和“候选待评估”。客户也可以提出目录之外的需求,进入应用评估或人工方案流程,不直接承诺任意项目均可自动支持。
|
||||||
|
|
||||||
|
应用目录中的一个版本及其交付能力,是项目可选择的基础,不等于客户只能使用原样软件。配置、插件扩展、界面与功能调整、数据服务及运行维护共同组成后续交付。
|
||||||
|
|
||||||
|
目录展示基础应用、案例和团队经验,不将“预先列出的可定制能力”作为客户提交需求的限制。客户可以自由说明希望怎样修改,工单记录一次清楚的需求;可行性、实施方式和人工价格由内部评估确定,沟通通过客服渠道完成。应用接入契约及已验证能力是内部选型和执行依据,不代表人工只能接受清单内需求,也不代表所有需求都已承诺可实现。
|
||||||
|
|
||||||
|
## 工单目的、处理模式与沟通渠道
|
||||||
|
|
||||||
|
工单的核心目的是固定客户这一次明确提出的改动,减少客户摇摆、无限追加以及“是否提出过、是否完成”的争议。客户把要执行的需求以文字或详细文档附件提交,工单主要伴随代码修改,并关联实际处理及线上版本;不要求客户使用 Git。
|
||||||
|
|
||||||
|
客户提交时选择自动或人工模式。自动模式由 AI 完成修改,并先做 AI 验收;验收通过后更新线上,客户直接看到结果。验收失败达到 x 次后才自动转为人工模式,沿用原工单。x 未定。人工模式由内部评估设置金额,系统显示价格,客户点击同意或拒绝,同意后人工执行并更新线上。
|
||||||
|
|
||||||
|
人工价格确认类似网购改价确认,仅承担金额的同意或拒绝;价格沟通不在工单中进行。自动模式没有这项人工价格确认,也不采用每次客户验收预览后才上线的默认流程。代码检查与发布验证仍是内部执行责任。
|
||||||
|
|
||||||
|
其他沟通、需求澄清、价格协商及后续反馈归在线客服或 Telegram 等渠道。用户考虑接入 TG 机器人接口处理沟通;当前作为渠道候选记录,不作为工单执行方式,也未决定实现。
|
||||||
|
|
||||||
|
已确认提交后保存本次文字和附件的固定版本;新增或改变业务范围另建工单,客服或 TG 聊天不自动扩大原范围。本轮允许失败后修订需求再次尝试,原始需求和历史尝试仍保留;系统提供成功摘要、失败原因及预览入口等回执,不因此增加客服会话。具体规则见 02。
|
||||||
|
|
||||||
|
工单全程追踪的是需求原件、初始与当前模式、模式转换、人工金额及确认、执行记录、代码和线上版本、回退结果。客户不满意时目标支持回到任意历史工单发起前的应用版本;普通回退保留数据,带数据恢复另选时间点,具体恢复规则后续细化。
|
||||||
|
|
||||||
|
Git Issue 关联适合进一步评估开发任务的追踪。建议平台保留客户任务、处理模式、人工价格确认和执行状态,Git 侧关联 Issue、PR 与提交,平台再关联实际线上版本;客服会话独立。具体比较见 03、任务流程见 02,尚未作为最终技术架构定案。
|
||||||
|
|
||||||
|
## 分组和差异收费的讨论方向
|
||||||
|
|
||||||
|
用户希望对项目分组,并支持不同收费标准;金融行业网站可能采用更高收费标准。分组与定价属于目标能力,但来源不是固定分类,更不是系统驱动方式;具体分组、收费规则及优先级尚未确定。
|
||||||
|
|
||||||
|
建议区分以下维度,避免一个“组”同时承担归属、权限、行业、技术和价格全部含义:
|
||||||
|
|
||||||
|
| 维度 | 回答的问题 | 示例 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 客户账号 | 谁在平台拥有和操作项目 | 普通客户,也包含经常下单的中介 |
|
||||||
|
| 项目分组 | 怎样整理项目或应用不同服务政策 | 具体分组及其管理者待定,不预设为客户来源 |
|
||||||
|
| 行业 | 客户在哪个行业经营 | 金融、供应链、货代 |
|
||||||
|
| 服务产品 | 客户购买什么 | 官网交付、商城定制、业务系统、邮箱、持续运维 |
|
||||||
|
| 系统基础及运行类型 | 采用什么软件和运行组成 | 自有模板、已接入开源应用、API 加 worker |
|
||||||
|
| 定价与服务政策 | 适用什么收费与交付条款 | 组或行业价目、套餐、个别项目报价 |
|
||||||
|
|
||||||
|
这是一种待讨论的拆分方式,不是已确定的字段设计。相同行业可以存在不同应用类型,同一客户账号也可以购买不同服务。
|
||||||
|
|
||||||
|
价格如何按组、行业、服务及合同匹配,需要明确规则。建议订单和人工报价保存当时采用的条款版本,防止后来调价或移动分组改变历史费用。
|
||||||
|
|
||||||
|
## 服务范围与任务形态
|
||||||
|
|
||||||
|
目标全貌涵盖展示官网、评价及内容业务、可持续扩展的各行业应用、邮箱与附加资源,以及持续运行和定制服务。成熟系统不仅供安装,还可能包含业务适配、插件扩展、流程调整、数据迁移及上线后处理。
|
||||||
|
|
||||||
|
Content Hub 案例还需区分两层工作流:交付平台执行安装、定制与维护;部署出来的内容中心运行自己的采集、生成及分发任务。当前发布 worker 与 Hub API 使用 Hub 数据库,再通过目标站点 API 发布,不要求跨站共用业务数据库。现有发布器实际注册范围有限,不能据此认为已经支持任意站点。
|
||||||
|
|
||||||
|
工单或服务请求可能产生不同成果:
|
||||||
|
|
||||||
|
- 软件开发与配置:代码、模块、页面、业务规则或配置版本。
|
||||||
|
- 数据服务:迁移、导入、清洗、图片同步、翻译及校验报告。
|
||||||
|
- 内容运营:生成、发布、分发与持续维护。
|
||||||
|
- 运行服务:环境准备、部署、监控、备份、恢复或升级。
|
||||||
|
|
||||||
|
是否把这些全部称为工单,还是区分订单、交付任务、工单和周期服务,后续讨论。任务不一定生成代码提交,也不一定需要新建站点。
|
||||||
|
|
||||||
|
## 客户购买什么与如何收费
|
||||||
|
|
||||||
|
二次开发定制是核心销售服务,运行资源是必须覆盖成本的基础交付服务。客户根据应用类别和规模选择配置档位,按购买的档位包年;扩容时调整费用。数据库、CPU、内存、持久存储等进入配置和定价,具体规格、扩容差价及生效时点后续制定,不按实际瞬时用量结算。
|
||||||
|
|
||||||
|
应用选择与资源购买关联,但已接入、已调通的开源应用标准拉取部署不另收部署费。应用接入、非标准配置和定制开发与标准部署分开判断;目录外项目尚不适用免费标准部署承诺。
|
||||||
|
|
||||||
|
| 可购买的服务 | 已确认的收费方向 |
|
||||||
|
| --- | --- |
|
||||||
|
| 应用运行资源 | 配置档位包年,扩容调整费用,覆盖基础运行成本 |
|
||||||
|
| 已接入开源应用标准部署 | 不另收部署费,运行资源正常收费 |
|
||||||
|
| 人工开发、设计或调整 | 工单人工评估报价,客户确认后跟进 |
|
||||||
|
| AI 定制工作流 | 首期有限范围开放,年付套餐包含用量,超额实际成本加价 20% 后扣充值积分;失败/重试/转人工均计真实消耗 |
|
||||||
|
| 域名 | Gname 购买成本加平台服务费,独立收费 |
|
||||||
|
| 企业邮箱 | 共享池与独享账号分别定价,独立收费 |
|
||||||
|
|
||||||
|
默认建站域名可以是平台提供的三级或四级域名,仅供客户测试/预览,不允许作为正式公开网站入口。预览应用仍购买包年运行资源,不强制配邮箱;正式公开发布需要独立域名路径,允许客户自有域名绑定或平台代购。域名、邮箱可以独立购买,不强制绑定应用托管或开发服务。用户要求预览入口展示提示并经验证码放行,其访问保护与法律责任评估见 03。
|
||||||
|
|
||||||
|
共享邮箱使用 Migadu 账号池;收发需求较高的客户可申请独享账号,经人工工单处理。用户提出的共享池约 100 个域名、供应商费用 90 美元、零售 10 美元是本轮业务示例;包年方向已明确,零售计价对象仍待细化,不能直接作为对外价目。池内域名、邮箱共用供应商账号额度,账号容量与客户服务规格需分别定义。
|
||||||
|
|
||||||
|
基础服务按第三方成本加价、AI 工单超额按模型成本加价,人工定制按评估报价。计费依据与核心销售价值分别表达。后台可调整配置价格、固定服务费、赠送额度、加价比例和邮箱规格等参数。首期既有合作客户采用账户价格政策,使基础及固定项目服务费合计符合原谈好的价格。共享成本需分摊,不能认为每位客户都有独立供应商采购账单。具体规则见 [05 商业模式与成本指标](<05-商业模式与成本指标.md>)。
|
||||||
|
|
||||||
|
## 首期交付与自动化边界
|
||||||
|
|
||||||
|
首期包含客户自助购买、运行成果或预览、工单提交和后台处理,先由深度合作的既有中介客户试用;中介仍是普通客户账户。长期对外公开获客与服务散户目标不变。简单固定运维例如添加域名和邮箱由程序封装,不必调用 AI。
|
||||||
|
|
||||||
|
首期有限自动 AI 有套餐包含用量,自动评估/开发/检查后直接更新,不能处理转人工。复杂任务人工评估金额,客户同意后执行,协商归客服/TG。所有归属客户项目的 AI 调用均计消耗,包括人工辅助、失败与重试;超过包含用量扣充值积分,与人工费用分别说明,避免重复计同一调用。
|
||||||
|
|
||||||
|
自动能力按成熟度扩展,不承诺任意需求自动成功。首期年付套餐可包含初始开发与运维,不采用按月/小时退费;退役清理运行及业务数据,仅存代码和启动配置以便重新部署。特殊差额系统外处理。新客测试赠送永远不作正式权益,禁止绑定域名并可销毁;具体额度策略后置。标准部署和有限自动清单后续验证。
|
||||||
|
|
||||||
|
## 供应商账号池与服务分配
|
||||||
|
|
||||||
|
Migadu 和 Cloudflare 的账号目前需要人工注册、准备和维护。首期可自动执行已有有效账号支持的操作,缺少账号或容量时转人工处理,不将账号注册也假定为自动步骤。
|
||||||
|
|
||||||
|
平台需要管理供应商账号池和实际资源绑定。Cloudflare 分组分配用于控制单个账号发生信誉问题、停用或故障时的影响范围;Migadu 还需按共享容量、客户收发需求及独享要求分配。具体分配与停用规则后续细化。
|
||||||
|
|
||||||
|
项目业务分组、收费分类与供应商账号分配是不同职责。不能预设一个项目分组永远对应一个 Cloudflare 或 Migadu 账号,也不能把账号名写进项目编号作为隐式关系。
|
||||||
|
|
||||||
|
## AI 对话工作如何转为工作流
|
||||||
|
|
||||||
|
本节讨论长期工程化方向。首期有固定运维和有限自动 AI 定制,复杂开发及数据任务可由人工工单承担;不要求首期上线前完成所有 AI 工作流。
|
||||||
|
|
||||||
|
当前大量工作通过与 AI 对话完成,为工作流化提供了真实样本。可复用的是任务步骤、工具、约束、产物和验收方式,而不是把一段聊天记录原样变成无人值守流程。
|
||||||
|
|
||||||
|
用户在对话中实际承担了需求补全、方案选择、提供权限、纠正结果、决定是否继续等职责。工作流必须显式处理这些决策;证据不足时进入澄清或人工接续,不能假设每次都能自动判断。
|
||||||
|
|
||||||
|
建议将任务分为 AI 判断、程序执行和人工决策三个部分。AI 适合理解需求、推荐候选、生成改动及解释异常;确定性的批量写入、数字检查、去重和结果核对由程序执行;涉及业务含义或服务范围的未决事项保留明确的确认入口。
|
||||||
|
|
||||||
|
电商样本已有这种组合:按源商品 ID 导入和更新,图片分批同步,翻译结果做结构与数字校验,再写入目标系统。这说明部分步骤已经有工程化基础,但完整的自助服务、授权、预算、调度和异常处理仍需设计。
|
||||||
|
|
||||||
|
一次性大规模迁移与周期内容分发的执行模式不同。新平台需分别表达数据来源、目标、操作范围、结果验证、进度、重试、费用及恢复条件,再评估各类任务的自动化程度。
|
||||||
|
|
||||||
|
## 已确认的设计前提
|
||||||
|
|
||||||
|
- 全面重构业务与系统,旧资产库是迁移来源,不默认作为新系统底座。
|
||||||
|
- 企业官网是当前主要业务,长期目标覆盖各行业应用的交付、定制、数据和持续服务。
|
||||||
|
- 核心价值是可稳定运行的 Web 应用技术封装,以及 AI 和团队的二次开发定制能力;基础服务支撑交付、获客与成本覆盖。
|
||||||
|
- 新系统是公开服务网站,通过 SEO、广告和能力展示获客,来源不驱动业务模型。
|
||||||
|
- 以普通客户账号为当前模型,中介也作为普通客户;组织、成员和二次授权后置。
|
||||||
|
- 支持项目分组与差异收费,具体分类和定价模型待定。
|
||||||
|
- 团队接入并验证容器化应用后可录入能力目录,支持范围持续扩展。
|
||||||
|
- 项目组织业务;其与客户、订单、应用和服务的关系需要重新设计。
|
||||||
|
- 类型配置表达工作负载,资源通过明确绑定关联,不靠人工编号、后缀或名称相等。
|
||||||
|
- 首期方向仍包含客户自助下单、预览和修改工单;完整服务范围与首期边界分开确定。
|
||||||
|
- 保留人工评估、报价与高级定制;支持旧数据迁移和业务衔接。
|
||||||
|
- 首期熟客年付套餐含 AI 用量,固定运维及有限自动定制并存,复杂需求走人工;新客测试赠送细则后置。
|
||||||
|
- 运行资源按购买的配置档位包年,扩容调整费用;已接入开源应用标准部署不另收费。
|
||||||
|
- 域名、邮箱、人工与 AI 定制独立计费;价格及赠送政策后台管理,超额 AI 当前拟加价 20%,熟客可配置固定项目服务费。
|
||||||
|
- Cloudflare 与 Migadu 账号池纳入资源管理,账号注册目前人工完成,不能把池准备假定为全自动。
|
||||||
|
- 工单固定本次要执行的清晰需求,主要伴随代码修改,支持文字和文档附件,不预先用能力清单限制需求入口。
|
||||||
|
- 提交时有自动、人工两种模式;自动修改并更新线上,需要人工时自动转为人工模式,人工模式额外确认金额。
|
||||||
|
- 沟通、澄清、价格协商和后续反馈归在线客服或 Telegram,TG 机器人接口作为后续沟通渠道候选。
|
||||||
|
- 目标支持回到任意历史工单发起前的应用版本;回退的数据范围、保存期限及 Git 集成实现仍待细化。
|
||||||
|
|
||||||
|
## 阶段 1 小结与后续事项归属
|
||||||
|
|
||||||
|
阶段 1 已明确公开市场定位、可扩展应用目录、普通客户账户和独立服务,以及固定需求、独立客服、两种模式、直接更新和回退目标。阶段 3 将首期范围修订为熟客试用、固定运维、有限自动 AI 及人工复杂定制;阶段 2 领域关系仍适用。
|
||||||
|
|
||||||
|
仍未确认的细项不从记录中删除,但按依赖归入后续阶段:
|
||||||
|
|
||||||
|
| 后续主题 | 归属阶段与文档 |
|
||||||
|
| --- | --- |
|
||||||
|
| 项目边界、分组、应用与服务关系、项目类型和资源绑定 | 阶段 2,03 当前讨论部分 |
|
||||||
|
| 需求锁定与变更、价格确认、支付、资源档位、邮箱单位周期和基础维护 | 阶段 3,02 与 05 |
|
||||||
|
| 数据库与模块边界、Git 接入及客服/TG 技术实现 | 阶段 4,03 架构部分 |
|
||||||
|
| 版本产物保留、历史恢复及数据范围、执行失败和供应商操作流程 | 阶段 3 的规则与阶段 6 的执行设计,02 与 04 |
|
||||||
|
|
||||||
|
这些问题不要求在阶段 1 全部解完。阶段 2 已完成领域基线,当前进入阶段 3 细化业务流程和商业规则;组织协作仍后置,首期完整工程清单未定案。
|
||||||
|
|
||||||
|
## 样本依据
|
||||||
|
|
||||||
|
源码与页面采样日期为 2026-10-10。页面仅检查公开展示,不提交表单或操作后台;项目文档中的数据规模和完成情况不代表本轮重新验收了客户数据。
|
||||||
|
|
||||||
|
- 官网:[project37](https://project37.website-build.org/)、[project40](https://project40.website-build.org/)、[project58](https://project58.website-build.org/)、[project67](https://project67.website-build.org/)。
|
||||||
|
- [project37 源码规范](<D:\work\dev\src\project37\AGENTS.md>)、[project37 CI](<D:\work\dev\src\project37\.gitea\workflows\ci.yml>)、[project40 CI](<D:\work\dev\src\project40\.gitea\workflows\ci.yml>)。
|
||||||
|
- [TraderTopMark 业务模型](<D:\work\dev\src\tradertopmark\db\schema.ts>)、[部署流水线](<D:\work\dev\src\tradertopmark\.gitea\workflows\ci.yml>)。
|
||||||
|
- [Content Hub 构建与发布](<D:\work\dev\src\content-hub\.gitea\workflows\ci.yml>)。
|
||||||
|
- [Content Hub 端点与任务模型](<D:\work\dev\src\content-hub\src\db\schema.ts>)、[跨站发布器](<D:\work\dev\src\content-hub\src\publishers\tradertopmark.ts>)、[实际发布器目录](<D:\work\dev\src\content-hub\src\publishers\registry.ts>)。
|
||||||
|
- [电商项目说明](<D:\work_mk\titan\dianshang\README.md>)、[多语言任务方案](<D:\work_mk\titan\dianshang\docs\multilingual-local-translation-plan.md>)。
|
||||||
|
- [货代项目说明](<D:\work_mk\titan\wuliu\README.md>)、[运行架构](<D:\work_mk\titan\wuliu\docs\02-architecture.md>)、[CI/CD 路线](<D:\work_mk\titan\wuliu\docs\07-cicd-k8s-roadmap.md>)。
|
||||||
@@ -0,0 +1,208 @@
|
|||||||
|
# AI 软件交付与持续服务平台业务流程与产品需求
|
||||||
|
|
||||||
|
状态:版本 0.15,更新日期 2026-10-13。2026-10-13 会议补充见下一节,依据 [H0004](handoffs/H0004-2026-10-13-产品基线会议.md) 与 D085–D088。此前首期基线仍留在后文,被新口径改到的句子以本节为准。
|
||||||
|
|
||||||
|
## 2026-10-13 会议补充
|
||||||
|
|
||||||
|
- 不单独建设「任务执行、版本与恢复 / 自动能力与人工接续」这一层。每一次工单创建一个版本,恢复就用这个版本。该版本是工单完成后的结果,还是同时保留发起前版本,以及带数据恢复是否仍另选时间点,会上没有说明。
|
||||||
|
- 自动路径在转入人工之前先做 AI 验收。验收失败未达到 x 次时继续修改并再次验收;达到 x 次才转入原工单的人工模式。x 未定。这不是客户先验收再上线。
|
||||||
|
- 初级版本不让客户选择 Web、API、worker 等组件,组件按应用预设固定带上。高级版本以后再做界面,选择这个项目要不要组件。
|
||||||
|
- 应用指功能。邮箱是一种应用。域名是需要购买的资源,不包含在应用里。
|
||||||
|
- 计费按客户使用不同模式,暂时只记两种,规则见 05。创建和开通要能按客户所属模式走,不能只剩一套年付向导。
|
||||||
|
|
||||||
|
## 阶段 3 当前进度与下一轮入口
|
||||||
|
|
||||||
|
四条业务路径与首期核心收费已明确。普通购买单 APP 分步向导,高级模式管理多 APP 与资源;工单有回执和失败重试;年付套餐可捆绑开发及运维并含 AI 用量,超额扣充值积分;退役释放资源不退钱,只留代码和启动配置。整体公开服务目标与首期熟客试用分别记录。
|
||||||
|
|
||||||
|
不再将新客赠送频率/结转、按月退款或退役业务恢复列为首期讨论前提。确定预充值积分消费,推荐 1 USD = 100 积分,支持小数;实际已耗 AI 调用不因失败/重试/转人工而免计。充值渠道、具体规格和执行预算在对应设计阶段明确,金额同意、积分扣款和开通成功仍是不同事实。
|
||||||
|
|
||||||
|
下一轮建议进入阶段 4,先确定统一平台的业务模块、数据责任与执行边界,再讨论工作流/Git 专题。隔离执行、验证/恢复阶段 6 细化;充值接入和具体参数可按架构及版本依赖完成。首期业务基线不等于已经形成全部数据库字段或运营细则。
|
||||||
|
|
||||||
|
## 普通购买向导与高级配置
|
||||||
|
|
||||||
|
公开案例旁提供“建立同类项目”入口,预选案例对应的已支持应用;另一入口从服务目录直接建立项目。建议引用案例的模板/应用版本与展示方案,不复制其他客户代码、业务数据或私有素材;是否有可授权的方案素材另行登记。
|
||||||
|
|
||||||
|
普通流程:选择应用 → 必需配置 → 可选服务 → 核对年付套餐及积分合计 → 余额不足则充值 → 确认扣除真实充值积分 → 自动开通 → 受保护预览。账号/项目/订单保存节点后定,不能因建了项目记录就开通未支付的正式资源;测试赠送不能支付正式套餐。
|
||||||
|
|
||||||
|
| 普通向导步骤 | 客户看到什么 |
|
||||||
|
| --- | --- |
|
||||||
|
| 应用选择 | 金融官网等业务名称、案例及用途;案例快捷入口已预选,可调整 |
|
||||||
|
| 必需配置 | 由应用预设列出必需项,客户选择支持的档位;金融官网的 Web/数据库/PVC 不可删掉,纯前端应用不出现无关依赖 |
|
||||||
|
| 可选服务 | 域名代购、自有域名接入、邮箱等;说明默认域仅受保护预览,不强制采购域名 |
|
||||||
|
| 费用核对 | 展示年度套餐、选配项、积分合计、包含 AI 用量及超额收费;真实充值余额与测试赠送分开 |
|
||||||
|
| 支付和开通 | 显示付款结果、部署状态、完成后的访问入口;成功后邮件通知 |
|
||||||
|
|
||||||
|
普通路径默认一个项目、一个 APP、应用预设的一套组件。用业务语言表达配置,不把 namespace、仓库名、所有部署字段一次堆给普通客户。标准组合若以后在普通模式出现,应同样封装为清楚的预设,而不是自动切换成复杂后台。
|
||||||
|
|
||||||
|
高级模式留到后面再做:用界面选择这个项目要不要 Web、API、worker 等组件。初级版本不提供这项选择,组件按应用预设固定带上。邮箱按功能应用处理,不做成没有应用的项目。域名作为需要购买的资源,不包含在应用里。
|
||||||
|
|
||||||
|
## 付款后开通与状态显示
|
||||||
|
|
||||||
|
客户后台显示可理解的任务步骤,例如等待部署、准备资源、初始化应用、检查访问、已开通或开通异常。是否显示具体步骤由应用契约决定;不展示终端映射或 AI 实时编辑,也不伪造不能计算的整体百分比。
|
||||||
|
|
||||||
|
付款结果与每项服务的开通状态分别记录。应用、域名、邮箱可能分别完成或等待人工准备;不能因为其中一项成功就把全部订单标为已开通。完成邮件提供项目入口及实际开通项,邮件发送失败不把已经健康运行的应用重新判为部署失败。
|
||||||
|
|
||||||
|
建议开通过程保存可恢复的执行记录;遇到超时或供应商返回结果不明,先核查实际结果,避免重复采购域名、创建资源或重复扣款。首期熟客开通失败由人员排查,特殊退款或差额系统外协商处理,不提供系统内退款。公开经营时的客服申请退款路径留后续细化,见 05。
|
||||||
|
|
||||||
|
## 客户购买与运行应用
|
||||||
|
|
||||||
|
公开站点展示应用、案例和定制价值,客户选择已支持应用和包年资源档位,也可独立购买域名或邮箱。已接入开源应用标准部署不另收费;平台默认域名仅用于测试/预览,不允许作为正式公开网站入口。正式公开访问需要独立域名路径,允许客户自有域名绑定或平台代购。每个应用预设声明必需和可选资源,纯前端应用不强制数据库/PVC,带后台的金融官网需要这些依赖。
|
||||||
|
|
||||||
|
只要成功创建项目,客户即可提交归属于该项目的工单。建议将“允许提交”与“具备执行条件”分开:尚未付款、应用尚在初始化或缺少开发基准时,工单可保存并显示等待条件,不能假装已能修改运行版本。没有历史版本时明确记录未初始化,不虚构发起前版本。
|
||||||
|
|
||||||
|
首期包含固定运维、人工定制、有限自动 AI 与套餐包含用量,由深度合作既有中介普通账户试用;固定项目服务费使年度合计符合旧价。新客注册试用赠送未来再开放,具体授予细则不在首期细化。长期保持公开获客,需求可自由提交,不能自动处理则转人工。
|
||||||
|
|
||||||
|
未来使用测试赠送开通的部署永远只作测试预览,禁止绑定正式域名,平台可撤销并销毁测试部署,不保证留存业务数据;不能将测试赠送转为真实积分或正式服务权益。正式套餐包含的 AI 用量可用于正式项目,两者不是同一类别。试用转正式的具体流程以后设计,不能靠给测试部署填一个自有域名绕过资格限制。
|
||||||
|
|
||||||
|
## 在线客服与工单的职责
|
||||||
|
|
||||||
|
工单的产品目的包括固定客户本次提出的明确需求,防止反复摇摆、无止境追加和“提出了但没做”的争议。客户应将要执行的改动清楚地写入文字或详细附件;执行结果、代码与上线版本均能核对到这份需求。
|
||||||
|
|
||||||
|
在线客服或 Telegram 负责客户沟通、需求澄清、可行性咨询、价格协商和后续反馈。用户考虑接入 TG 机器人接口处理沟通,当前作为渠道候选记录;具体自建、集成及身份关联后定,不要求客户进入真实邮件系统。
|
||||||
|
|
||||||
|
工单主要记录伴随代码修改的一次改动任务,包括客户提交的文字和文档附件、处理模式、必要的人工价格确认、执行状态、代码与线上版本关联、执行结果和回退记录。少量运维任务沿用已确认的服务场景,但不能因此将工单设计成包办全部客户沟通的客服会话。
|
||||||
|
|
||||||
|
本轮补充:工单内需要系统回执,显示处理结果、失败原因、模式转换和必要操作;这是任务记录,不是客服聊天。价格协商与反馈讨论仍在客服/TG,不把客户验收设为每张工单必经步骤。人工和 AI 的内部评估可追踪,客户无需参与一轮评估会话。
|
||||||
|
|
||||||
|
客服会话是否需要关联项目或工单编号以方便人员处理,属于后续建议;不要求把会话复制到工单,不预设一个会话对应一张工单。
|
||||||
|
|
||||||
|
## 需求固定与变更规则建议
|
||||||
|
|
||||||
|
已确认工单提交后保留当时的需求文字与附件版本,作为本次执行和完成核对的依据。客户后来改变方向或追加内容另建工单,原需求不被覆盖;客服或 TG 聊天中的新想法不自动扩大原工单范围。
|
||||||
|
|
||||||
|
本轮明确失败后支持修改需求并重试。建议同一工单追加新的需求修订及执行尝试,保存原文字、附件和失败原因,不覆盖历史;每次执行只使用一个明确修订版本。失败后的补缺、澄清和原范围修复可保留在该工单,改变业务目标或增加工作范围仍另建工单,不能把“重试”变成无期限免费追加。
|
||||||
|
|
||||||
|
正在执行时不覆盖输入,先结束或停止尝试,再固定下一修订。人工报价绑定需求修订,改变范围需重新确认金额。失败重试中的实际 AI 消耗照常抵扣套餐用量或充值积分;已消耗部分不因没有满意成果免计。同一调用不得因重复事件重复记账,未发生费用的请求不虚构消耗;修复循环有停止/预算控制。
|
||||||
|
|
||||||
|
## 工单附件建议
|
||||||
|
|
||||||
|
建议首期支持 TXT、Markdown、PDF、DOCX 以及 PNG/JPEG/WebP 图片,不强迫客户只交 Markdown。Word/PDF 的图文需求是真实业务输入;扩展名不代表安全,Markdown 中的 HTML 和危险链接也需处理。
|
||||||
|
|
||||||
|
建议采用允许类型清单、真实格式验证、文件数量/大小及解压/解析限额、恶意文件扫描、私有存储与受控下载。文档转换和内容提取在无生产凭据、受限网络与权限的隔离进程执行,保留需求图片和页码/位置等线索。Markdown 禁止原始 HTML 执行;上传文件不在平台主域直接作为可执行页面展示。宏文档、可执行程序、脚本、HTML/SVG 和压缩包首期不进入普通上传清单;旧 DOC、加密或解析失败文档的人工处理规则待定。
|
||||||
|
|
||||||
|
附件状态应区别上传成功、检查中、可供处理、被拒绝和解析失败。需求与文件必须归属正确项目和工单,保存原件标识及修订引用;AI 将附件当作客户提供的数据,不能据附件内文本获得部署权限或跳过检查。扫描不能保证绝对安全,具体限额与工具阶段 4/6 选择。[OWASP 文件上传指南](https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html)
|
||||||
|
|
||||||
|
## 工单提交与处理模式
|
||||||
|
|
||||||
|
客户提交任务描述和附件时选择自动或人工模式。需求不受预设定制能力清单限制,按实际任务判断执行方式。
|
||||||
|
|
||||||
|
一张工单只能属于一个项目,可修改该项目内多个 APP;跨项目需求分别提交工单。内部可将前后端配套修改拆成多个执行任务,保存全部涉及 APP 与成果;客户不必为同项目的配套改动另发多张工单。多 APP 的发布顺序、部分成功与恢复规则后续细化,详见 03 的项目发布记录建议。
|
||||||
|
|
||||||
|
建议记录客户最初选择的模式、当前实际模式以及转换事件。自动转人工保留同一工单标识、原始需求、已执行步骤与版本记录;无需客户重新提交或重新描述任务。
|
||||||
|
|
||||||
|
### 自动模式
|
||||||
|
|
||||||
|
2026-10-13 起的主流程:提交自动工单、AI 修改、AI 验收、通过后发布线上,客户直接看到修改结果。无需在验收通过前做人工报价,也不设置客户先验收预览再发布。
|
||||||
|
|
||||||
|
AI 验收失败未达到 x 次时,继续修改并再次验收。达到 x 次后,才把当前工单转为人工模式,继续走人工价格确认和执行。不是只提示客户另建一张人工工单。若已产生部分改动,需保留追踪并明确尚未发布的状态。x 的具体次数未定。此前“AI 判断不适合就直接转人工”的路径,改为先经过 AI 验收,失败次数用尽再转。
|
||||||
|
|
||||||
|
AI 判断和检查不是沟通环节,需要澄清交人工及客服。调用先抵扣套餐包含用量,超出扣充值积分;不足暂停新调用并提示充值。验收失败可在预算/次数范围继续修复,每次实际调用均计消耗,不设每轮报价或客户验收门槛。
|
||||||
|
|
||||||
|
### 人工模式
|
||||||
|
|
||||||
|
主流程:提交人工工单或从自动模式转入、内部人工评估并设置价格、系统提示金额、客户点击同意或拒绝、同意后人工修改并更新线上、记录执行完成。
|
||||||
|
|
||||||
|
客户确认价格的体验类似网购订单改价:展示需要确认的金额及同意、拒绝操作。报价协商通过在线客服完成,工单不承载协商文字、报价邮件或反复商谈记录。
|
||||||
|
|
||||||
|
确认记录应对应当时的金额和价格版本。若价格再次调整,之前同意的记录不能自动视为已同意新金额;具体支付和扣款时点另定,同意价格不等于已支付。
|
||||||
|
|
||||||
|
拒绝价格终止本次人工改动,不撤销项目或停掉有效服务,也不退回此前实际 AI 消耗。人工项目调用同样计消耗,超出套餐包含用量扣充值积分;人工报价与超额 AI 费用分别说明,同一已含费用不重复收费。本轮修订早期人工模式完全不计客户 AI 费用的假设。
|
||||||
|
|
||||||
|
## 工作流接入与工单回执建议
|
||||||
|
|
||||||
|
建议平台拥有工单、需求修订、执行尝试、费用、代码版本和发布结果;内部执行器或 Dify 等第三方工作流均通过适配接口接入。首期不必先做通用可视化工作流编辑器,也不能把全部业务状态交给一个外部工作流。
|
||||||
|
|
||||||
|
平台应能识别已接收、分析需求、修改、检查、发布、恢复、完成或异常等执行阶段。接入保存外部执行标识,按引擎能力接收事件或查询状态;失联显示等待核查,不直接当作失败后重复启动。引擎“运行成功”仍需独立核对实际提交、产物、发布与可用性,才能完成工单。第三方不支持必要的状态/结果协议时需补适配或不进入自动支持范围。[Dify Workflow API](https://docs.dify.ai/en/api-reference/guides/workflow)
|
||||||
|
|
||||||
|
Git Issue 作为工程关联保留,Issue、PR、提交和上线记录均关联平台工单;Issue 关闭不等于交付成功。强制范围、单/多仓库对应、回写和冲突处理在阶段 4 单独讨论,本轮不选择 Git 服务商或工作流引擎。
|
||||||
|
|
||||||
|
| 系统回执 | 内容与客户操作 |
|
||||||
|
| --- | --- |
|
||||||
|
| 成功 | 本次完成的功能/页面调整、涉及 APP、版本及预览地址;文件数量、数据库变更等可展开查看,不暴露密钥和原始敏感日志 |
|
||||||
|
| 转人工 | 原因摘要、当前模式和待报价/待确认金额状态;保留原工单与已执行记录 |
|
||||||
|
| 失败 | 可理解的失败原因、当前线上版本是否保持/恢复、可重试或需要人工的说明;支持修订需求后再次提交 |
|
||||||
|
| 额度不足或等待条件 | 明确尚未执行/已暂停的步骤和下一操作,不把余额不足描述为开发成功或无限等待 |
|
||||||
|
|
||||||
|
回执内容来自实际执行与变更记录,并核对原需求;不要让 AI 自称“已完成”替代发布证据。默认项目地址继续受预览保护,有正式域名时也提供实际可访问入口;无 Web 端点的任务不伪造预览链接。
|
||||||
|
|
||||||
|
## 线上更新与完成条件
|
||||||
|
|
||||||
|
工单处理的成果是更新客户在线运行的应用。工程检查、构建和必要的内部测试可以在隔离环境执行;它们不是客户必须先查看和验收的预览环节。
|
||||||
|
|
||||||
|
代码提交、PR 合并、构建成功及上线成功分别追踪。只有目标线上应用已更新且检查可用,才将代码改动工单标记处理完成;工程步骤成功不能代替发布成功。发布前失败保持原版本;已上线但无法正常运行时自动进入恢复,恢复后核验并回执修改失败。数据库/文件变化按既定兼容与恢复计划处理,不能用镜像回滚冒充数据恢复。恢复也失败时显示恢复异常并人工接管,不能虚报“已退回正常版本”。
|
||||||
|
|
||||||
|
发布记录保存工单、代码提交、镜像或产物、配置版本、目标应用和环境、执行者及结果。客户通过在线站点看到成果;不满意时可使用版本回退能力,并通过在线客服反馈,反馈讨论不继续扩充原工单会话。
|
||||||
|
|
||||||
|
是否由客服将后续调整整理成新工单、如何携带相关上下文后续讨论。当前不把工单完成改为等待客户验收,也不预设必须重新打开工单进行沟通。
|
||||||
|
|
||||||
|
## 工单版本与回退体验
|
||||||
|
|
||||||
|
已明确的目标是客户可回到任意历史工单发起前的应用版本,人工与自动模式都需同样追踪。记录工单提交时的线上有效版本和实际执行时的开发基准;排队期间其他工单可能已经更新线上,两者不能合并为一个字段。
|
||||||
|
|
||||||
|
每次处理尝试产生的代码、产物、内部检查及实际发布记录分别保存,不覆盖之前的成果引用。客户无需查看所有工程细节,但系统能从工单定位发起前版本、发布后版本和回退目标。
|
||||||
|
|
||||||
|
例如工单 A 将 V1 改为 V2,工单 B 再改为 V3:回到 A 发起前是恢复 V1,A、B 的应用修改均不再生效。若客户要保留 B 但撤销 A,属于选择性撤销,需要评估依赖,可能形成新改动;这是另一种操作,尚未作为普通回退自动完成承诺。
|
||||||
|
|
||||||
|
建议回退生成新的执行和部署记录,保留当前版本、目标版本、涉及工单、恢复范围和结果,不删除旧工单或费用记录。正在执行的工单需核对基准,避免把回退后的版本再次覆盖为旧任务成果。发布与回退的顺序协调待工程设计细化。
|
||||||
|
|
||||||
|
已确认应用版本回退和带数据恢复分别提供:普通回退保留新业务数据并检查兼容;带数据恢复另选明确时间点并提示可能失去其后新增记录。修改结构/数据/文件前建立恢复材料,纯样式修改不必每次复制全部数据。日常备份独立于工单;本阶段制定确认、保留期限和费用,具体恢复实现后置,详见 03。
|
||||||
|
|
||||||
|
任意历史版本恢复依赖代码、镜像或可重建产物、配置和必要数据恢复材料的保留。保存期限、容量和长期恢复成本尚未定案,不能只保存版本名称而删除全部恢复材料。
|
||||||
|
|
||||||
|
## 托管、独立服务与供应商账号
|
||||||
|
|
||||||
|
运行资源按所购档位包年,项目页显示 APP、部署组件、资源及服务。支持扩容和添加 APP;用户希望可直接减配,克隆项目留待后续版本评估。减配建议、退役、到期规则见下文,差价和基础维护范围仍需细化。删 APP 的资源引用与订阅期限分别处理,不自动承诺按未用天数退费。
|
||||||
|
|
||||||
|
数据库/卷记录归属及实际引用;删除最后引用前提示相关数据将释放,资源管理页面显示待释放与预计时间。用户提出可有释放宽限期,举例三天;最终期限与恢复/撤销操作待定。释放前重新检查引用与正在执行的操作。域名、邮箱、API 等独立服务不能仅因删 APP 自动取消,备份也采用明确保留和清除规则。
|
||||||
|
|
||||||
|
仅邮箱服务不创建无关 Web 资源或 AI 开发任务。共享邮箱分配到有效 Migadu 账号池,独享账号及池补充目前人工准备;可封装已有账号的固定开通操作。邮箱价格和开通状态独立于网站运行状态。
|
||||||
|
|
||||||
|
默认域名、客户自有域名接入和 Gname 代购是不同路径。域名购买有独立账目,添加绑定不等于采购。Cloudflare、Migadu 的具体账号及资源通过显式关系分配,缺少账号、容量或权限时转相应人工处理,不依赖项目名称或业务分组推断账号。
|
||||||
|
|
||||||
|
## 配置调整、退役与再次部署
|
||||||
|
|
||||||
|
建议同项目内支持符合应用最低配置、真实负载和供应商能力的 CPU/内存或副本减配,必要时提示重启与可用性影响。配置变更保存前后档位、价格版本和生效记录,不需要靠克隆新项目才能降配。差价是否补收、形成余额或下次续费生效仍未决定。
|
||||||
|
|
||||||
|
存储与数据库规格不能统一承诺可逆减配。K8s 卷扩容功能不支持直接缩小已有卷;减小 PVC 容量通常需要新卷、数据迁移和切换,应另作受控/人工流程。数据库也需按供应商能力和数据量判断,不把“页面可选更低价档”当作已经完成迁移。[Kubernetes 存储类说明](https://kubernetes.io/docs/concepts/storage/storage-classes/)
|
||||||
|
|
||||||
|
已明确需要退役项目:停止运行并释放所占资源,保留项目代码,必要时再次部署。同项目恢复运行与克隆新项目是两个功能;克隆暂不纳入首期,后续再评估价格、授权和业务价值。
|
||||||
|
|
||||||
|
退役保留项目标识、代码/交付版本、构建说明、启动配置和资源声明;凭据按独立规则管理,不把密码散存在代码里。确认页展示将停止/释放的资源及数据,说明不恢复旧业务,核对引用并进入释放流程;主动退役的清除与到期后七天保留是不同触发规则。
|
||||||
|
|
||||||
|
首期主动退役不提供原业务恢复:确认后释放计算、数据库、PVC/上传文件和相关占资源备份,仅保留代码、启动配置、依赖说明及轻量项目记录。无需保留所有历史镜像,代码可重建。重新部署初始化新的业务数据,目的是避免重新开发,而非恢复原运营状态;退役不退年费,不核算按月未用金额或退役前后配置退款差额。可提示客户自行导出需要的数据,不建设长期付费保留备份选项。
|
||||||
|
|
||||||
|
客户或价格客户组的退役结算模式可预留扩展,首期统一年付不退。客户自建项目组不是价格客户组;域名/邮箱作为独立已购服务继续按各自年度规则管理,不因释放网站运行资源就默认注销。
|
||||||
|
|
||||||
|
## 到期提醒、停止访问与数据保留
|
||||||
|
|
||||||
|
用户明确:到期前邮件提醒;未续费到期后外部无法访问,数据最多保留一周。该七天到期保留规则与“最后资源引用删除后的释放期”是不同触发原因,三天仍是后者候选参数。
|
||||||
|
|
||||||
|
建议状态为运行中 → 到期停服/保留数据 → 续费恢复,或保留期结束 → 释放运行数据资源并转退役记录。到期停服期间关闭默认/正式入口及相关运行任务,保留客户后台登录、查看续费及保留截止时间的能力;不能只隐藏网页却让爬虫、worker 等继续无限运行。停止计算及续费恢复的具体能力按应用契约设计。
|
||||||
|
|
||||||
|
一周内续费可在资源和数据完整条件下恢复;超过期限的数据不可承诺恢复。截止时间、保留范围、备份是否同期限清除、长期代码保留、再次部署及跨服务续费仍需确认。域名、邮箱、API 有独立到期与供应商成本,不因运行订阅到期自动全部停用或退款。
|
||||||
|
|
||||||
|
## 默认域预览与正式访问
|
||||||
|
|
||||||
|
运行实例在线存在,未有正式域名时通过默认建站域测试/预览;完成工单后直接更新该实例。使用默认域不代表拥有正式公开发布资格;绑定正式域名也不自动意味着另买一套服务器。正式域名可由平台采购,也可绑定客户自有域名。
|
||||||
|
|
||||||
|
用户要求默认域先展示免责声明并通过验证码才显示应用;统一入口保护可以实现。已确认采用项目所有者登录或受控分享权限,验证码仅作为附加人机验证,不能以任意访客通过验证码代替访问授权。具体验证码类型、分享有效期、机器/API 调用与深链接保护阶段 3/4 细化。默认域禁作公开内容入口属于明确规则,免责声明的法律效果需按经营主体及服务地区评估,不能预先承诺免责。
|
||||||
|
|
||||||
|
未来可使用隔离沙盒进行 AI 开发,并提供临时受保护预览。当前不承诺客户实时观看处理过程,不增加客户验收后才发布的门槛。
|
||||||
|
|
||||||
|
## 客户与后台界面范围
|
||||||
|
|
||||||
|
| 客户界面 | 内部管理界面 |
|
||||||
|
| --- | --- |
|
||||||
|
| 应用、服务、订单和项目 | 应用目录、资源规格、订单与项目归属 |
|
||||||
|
| 在线客服 | 咨询、澄清、价格协商和反馈处理 |
|
||||||
|
| 工单提交:文字、附件和模式 | 工单执行分派、内部评估与模式转换 |
|
||||||
|
| 人工价格提示及同意或拒绝 | 人工金额设置、调价与确认记录 |
|
||||||
|
| 工单状态、系统回执和失败重试 | AI 或人工执行、检查、构建、发布和恢复 |
|
||||||
|
| 历史版本与回退操作 | 版本关联、恢复、审计及对账 |
|
||||||
|
| 配置调整、退役、续费及保留截止时间 | 供应商账号池、成本、生命周期与资源释放 |
|
||||||
|
|
||||||
|
## 状态划分建议,尚未定案
|
||||||
|
|
||||||
|
处理模式与状态分开:自动或人工是模式,待处理、执行中、发布中、已完成、失败、取消等是状态候选。人工模式额外有待确认价格的候选状态;客户拒绝后的状态待定。自动转人工记录模式转换,不另造一个客户沟通流程。
|
||||||
|
|
||||||
|
工单状态反映改动处理,客服会话状态、支付状态和线上应用版本各自记录。自动工单不进入待人工报价或待客户验收;转人工之后才进入人工价格确认路径。金额同意不代替支付成功,代码合并不代替上线成功。
|
||||||
@@ -0,0 +1,446 @@
|
|||||||
|
# AI 软件交付与持续服务平台领域模型与架构候选
|
||||||
|
|
||||||
|
状态:版本 0.15,更新日期 2026-10-13。阶段 2 历史讨论仍留在后文。2026-10-13 会议对应用、组件和工单版本的修订见下一节,依据 D085、D086。架构和实施尚未定案。
|
||||||
|
|
||||||
|
## 2026-10-13 会议对领域基线的修订
|
||||||
|
|
||||||
|
| 事项 | 现在采用的口径 |
|
||||||
|
| --- | --- |
|
||||||
|
| 任务执行与恢复 | 不单独做「任务执行、版本与恢复 / 自动能力与人工接续」层。每一次工单创建一个版本,恢复使用这个版本 |
|
||||||
|
| 应用 | 应用指功能。邮箱应用是例子。后文把仅邮箱写成零 APP、把邮箱只写成独立服务的句子,以此节为准改读 |
|
||||||
|
| 组件 | 初级版本不提供 Web、API、worker 选择,按应用预设固定带上。高级版本以后用界面选择这个项目要不要组件 |
|
||||||
|
| 域名 | 域名是需要购买的资源,不包含在应用里 |
|
||||||
|
|
||||||
|
工单版本是完成后的结果版本,还是同时保留发起前版本,以及带数据恢复是否仍另选时间点,尚未说明。下文原有的两层恢复记录保留,待这次口径补全后再决定是否替代。
|
||||||
|
|
||||||
|
## 阶段 2 完成基线与后续交接
|
||||||
|
|
||||||
|
本节汇总最终结论,后文保留各轮论证。本阶段完成的是业务概念、主要关系和默认边界;不把尚未讨论的具体价格、期限或技术实现一并认定为已确认。
|
||||||
|
|
||||||
|
| 概念与关系 | 已确认基线 |
|
||||||
|
| --- | --- |
|
||||||
|
| 客户与项目 | 普通客户拥有项目,项目代表一个业务目标;仅邮箱可无 APP,项目可包含多个 APP |
|
||||||
|
| 项目组 | 单层,一个项目至多归属一个组;用于整理和汇总,不改变授权、资源隔离或历史账目 |
|
||||||
|
| 应用目录与预设 | 同时支持单应用和组合方案,项目可继续添加 APP;软件及支持版本声明必需/可选组件和资源,无平台统一必需组件清单 |
|
||||||
|
| APP 与部署组件 | APP 是完整软件实例,Web/API/worker 等为可分别配置运行资源的组件,不与 Deployment 或副本数一一对应 |
|
||||||
|
| 项目与环境资源 | 同集群同环境默认同 namespace,实际名称显式绑定;数据库是独立资源,业务默认项目逻辑数据库独立,同项目 APP 可按授权共享 |
|
||||||
|
| 资源归属与引用 | 保存归属与使用绑定,最后引用移除前提示,采用使用中/待释放/已释放;宽限期重新引用可取消释放,执行前重查引用及操作状态 |
|
||||||
|
| 独立服务与购买记录 | 域名、邮箱、API 等独立选配,购买/订阅与实际开通、使用分别记录;删 APP 不自动取消独立服务,账目按实际购买项汇总,共享资源不重复收费 |
|
||||||
|
| 工单范围 | 一个工单只属于一个项目,可改多个 APP,跨项目分别提交;提交需求与附件保持可核对,新增/改变需求另建工单,沟通归客服/TG |
|
||||||
|
| 发布与版本 | 平台保存业务主记录并关联 Git 工程记录;项目发布组合记录各 APP 的实际提交、产物、配置、结构及恢复点,工单提交版本与执行基准分别保存 |
|
||||||
|
| 回退与数据恢复 | 普通版本回退默认保留业务数据并检查兼容,带数据恢复另选时间点并明确影响;风险改动前建立恢复点,基础备份独立于工单 |
|
||||||
|
| 预览与正式访问 | K8s 持续实例通过默认域受保护预览,工单完成直接更新;正式上线允许平台购买域名或客户自有域名绑定,默认域不得正式公开 |
|
||||||
|
| 预览地址与保护 | 使用独立唯一标识绑定应用端点,统一预览网关显示提示,采用所有者登录/受控分享并配合验证;未来沙盒为隔离临时实例及临时入口 |
|
||||||
|
| 项目协作与公共服务 | 独立项目通过明确 API 关系和授权协作;平台拥有公共应用,客户购买其 API 服务权益,分组不自动互通 |
|
||||||
|
| 计费与供应方式 | 持续基础服务包年,定制按原工单规则;资源支持自建与未来外部数据库/存储,供应商成本和服务加价可配置 |
|
||||||
|
|
||||||
|
用户的概括认可确认上述已讨论的推荐方向,包括平台工单关联 Git 工程记录和需求固定原则;没有替代尚缺的经营主体/客户地区事实,也没有自动确定三天释放期、备份保留时长、费用金额或具体供应商。
|
||||||
|
|
||||||
|
| 后续阶段 | 交接事项 |
|
||||||
|
| --- | --- |
|
||||||
|
| 阶段 3:02/05 | 注册购买与开通状态,付款授权和失败处理,人工金额确认,AI 转人工费用,续费/扩容/退款,释放期与备份保留,分享权限和举报处置,域名绑定/采购收费 |
|
||||||
|
| 阶段 4:03 | 平台单库/多库和模块责任,Git 服务与同步机制,网络和入口保护,权限及一致性,托管资源适配与数据恢复技术方案 |
|
||||||
|
| 阶段 5:迁移规划 | 旧项目标识与真实资源映射,旧默认域/正式域及工单记录导入,切换和回退 |
|
||||||
|
| 阶段 6:04 | 应用接入版本契约,多 APP 发布协调,备份/恢复演练,沙盒隔离、工作流和资源释放实现 |
|
||||||
|
| 阶段 7:06 | 首期范围、试点、明确验收指标、实现任务与排期 |
|
||||||
|
|
||||||
|
阶段 2 无需追加全面确认。当前以 02/05 核对四条业务路径,再讨论权益和费用;新业务事实允许回溯修订。以上表保存阶段 2 收口时基线,后续补充以本节为准。
|
||||||
|
|
||||||
|
### 阶段 3 对领域关系的补充
|
||||||
|
|
||||||
|
| 新事实 | 模型影响与尚待评审方案 |
|
||||||
|
| --- | --- |
|
||||||
|
| 普通/高级向导 | 同一项目/APP/资源模型的不同操作界面,不拆成两个权威业务系统 |
|
||||||
|
| 付款与开通 | 订单、支付及各项服务开通结果分开;支持部分完成、等待人工和异常核查 |
|
||||||
|
| 失败后修订需求再试 | 原工单关联不可覆盖的需求修订及执行尝试;新尝试绑定一个修订/基准/预算,真正扩大范围仍新工单 |
|
||||||
|
| 系统回执 | 状态、修改摘要、失败与恢复结果属于工单执行记录,不扩展为客服会话 |
|
||||||
|
| 外部工作流 | 推荐平台持有执行记录,第三方运行 ID/事件/查询通过适配器关联;引擎成功不能直接作为发布完成 |
|
||||||
|
| 年付与 AI 权益 | 年度开发/运维套餐可包含 AI 用量;充值积分、套餐包含用量与未来测试赠送独立,超额按实际成本扣充值 |
|
||||||
|
| 熟客价格政策 | 普通账户匹配固定项目服务费和赠送政策;中介不成为新角色层级,原订单保留规则版本 |
|
||||||
|
| 退役与再部署 | 退役不退年费,仅存代码/启动配置等轻量材料,释放运行/数据库/文件/相关备份;重部署初始化新业务,不恢复旧数据或计算退款差价 |
|
||||||
|
| 到期未续费 | 外部停服、最多一周业务数据保留、续费恢复或释放;具体代码/备份保留与资源引用保护需协调 |
|
||||||
|
| 系统外差额 | 首期不建退款引擎,建议订单可关联人工结算说明;不能覆盖原价或伪造自动退款结果 |
|
||||||
|
|
||||||
|
代码/配置归档与业务数据清理已明确,计算减配和附件隔离仍属建议。首期充值消费,初始推荐 100 积分/USD;AI 调用成功与否不改变已耗费用。测试赠送只能支持非正式部署,平台可销毁测试资源,不能影响已购正式服务。客户/价格客户组可预留例外退役结算,但首期仅启用年付不退,客户自建项目组不等同价格客户组。
|
||||||
|
|
||||||
|
上述是领域责任,不冻结表结构。包含权益、试用权益、充值账本、年度套餐和项目/资源生命周期分别表达;不能合成一个余额或“已删除”字段。原始调用、套餐抵扣、积分扣费和实际发布也不是同一结果,重复事件不得重复扣费。
|
||||||
|
|
||||||
|
阶段 4 工作流/Git 专题:比较内部执行与第三方接口,确定平台状态所有权、输入/结果契约、外部标识、事件或查询、停止/超时与恢复、重复操作保护、费用核对、Git Issue/PR/发布映射。之后再决定进程/数据库/队列和执行器,首期无需先建通用可视化工作流编辑器。
|
||||||
|
|
||||||
|
## 阶段 2 逐轮讨论记录
|
||||||
|
|
||||||
|
阶段 1 已形成业务基线。本阶段回答客户账号、项目、应用、服务、运行类型和资源之间的关系,先解释业务概念,再决定字段和实现;不在本轮生成数据库表或决定部署成几个服务。
|
||||||
|
|
||||||
|
### 第一轮:项目代表什么,核心边界已确认
|
||||||
|
|
||||||
|
已经确认以项目组织客户业务、支持仅邮箱和应用加域名邮箱、系统生成标识及资源显式绑定。本轮用户进一步确认:一个项目代表一个客户业务目标,允许同时包含多个相关应用,并搭配域名、邮箱服务。
|
||||||
|
|
||||||
|
项目是客户组织一项业务目标的长期单位,在其下管理相关应用和服务。项目可有零个、一个或多个应用:仅邮箱项目可以没有 Web 应用,官网可只有一个应用,商城与内容中心可为同一业务项目下的两个相关应用。实际资源数量由应用需求和购买配置决定,共享通过显式绑定与授权表达;默认 namespace 关系见第二轮已确认基线。
|
||||||
|
|
||||||
|
| 概念 | 当前用于讨论的含义 | 不应靠它推断的关系 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 客户账号 | 项目及购买记录的客户归属和操作边界 | 客户来源、行业或供应商账号 |
|
||||||
|
| 项目 | 客户组织业务、改动任务及相关服务的长期单位 | 一份订单、一个仓库或固定 namespace |
|
||||||
|
| 应用目录项与版本 | 平台已接入的一种基础软件及具体版本,如官网模板、内容中心或开源商城 | 客户已经购买或实际运行的实例 |
|
||||||
|
| 应用实例 | 为客户运行、定制和更新的具体应用 | 模板的所有客户共用同一份代码或数据库 |
|
||||||
|
| 服务产品与服务实例 | 产品是可购买的内容,实例是客户实际开通的域名、邮箱、托管等服务 | 一项独立服务必须对应一个新 Web 应用 |
|
||||||
|
| 运行配置与工作负载 | 声明同一应用的 Web、API、worker、scheduler 等组成及运行参数 | 每个 worker 都需要成为独立项目或独立业务应用 |
|
||||||
|
| 资源及绑定 | 实际 namespace、仓库、数据库、存储和供应商目标,通过标识明确关联 | 名称相等、编号后缀或手工备注所暗示的关系 |
|
||||||
|
|
||||||
|
项目、应用目录项、客户实例和运行组件需区分。用户现已认可 APP 表示完整软件实例、Web/worker 表示部署组件的分层。Content Hub 的 API 与发布 worker 可表达为同一应用的不同组件;独立内容软件也可以作为另一 APP,不按进程或容器数量定义业务项目。
|
||||||
|
|
||||||
|
### 用已有场景核对第一轮
|
||||||
|
|
||||||
|
| 场景 | 已确认边界下的表达 | 后续细化 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 企业官网加域名与邮箱 | 官网应用绑定资源,域名邮箱独立服务和账目,项目关联工单及线上版本 | 无需因为买邮箱再强制建立另一个项目 |
|
||||||
|
| 仅邮箱 | 零个 Web 应用,无仓库或 K8s 工作负载要求 | 项目与服务实例具体归属规则后续核对 |
|
||||||
|
| Content Hub API 加 worker | 一个应用由正式运行配置声明多个工作负载 | 不以进程数量决定项目数量 |
|
||||||
|
| 商城加内容中心 | 可属于一个客户业务项目,各自定义运行组成、代码和数据依赖 | 版本、工单和服务怎样关联单个或多个应用 |
|
||||||
|
| 旧 `projectxx-x` 入口 | 保存真实资源和显式业务关联,不靠后缀识别 | 新入口是否为独立应用或项目后续讨论;不在此合并或改名现网资产 |
|
||||||
|
|
||||||
|
项目边界已确认,工单只能属于一个项目,可涉及其中多个 APP,跨项目需求分别提交工单。独立服务的使用关联和发布组成继续细化;一项业务目标不等同于一张订单、一笔订阅、一个 namespace 或一个数据库。
|
||||||
|
|
||||||
|
### 第二轮:应用、部署、资源计费与协作
|
||||||
|
|
||||||
|
用户补充的目标:多应用项目需要可解释的费用;Web 与采集 worker 可共享项目数据;独立项目可通过 API 协作;平台自有新闻 API 等公共应用可向多个客户提供独立收费服务;未来接入外部托管数据库和云存储;客户可按项目组整理和查询项目,并保留未来批量操作的可能。是否首期接入某一家云供应商、具体数据库数量和 API 计价单位尚未决定。
|
||||||
|
|
||||||
|
#### APP 与部署组件:已确认保留两个层次
|
||||||
|
|
||||||
|
APP 表示一套可安装、定制和维护的软件实例;部署组件表示其中可单独配置运行资源和副本的 Web、API、worker 等单元。一个 APP 可以有多个组件,组件各自扩容,但软件的兼容关系与版本组成仍有归属。APP 不按 Deployment 或副本数量定义,计费依照实际购买项。
|
||||||
|
|
||||||
|
不把业务 APP 与 K8s `Deployment` 固定一一对应。运行契约可以映射到 Deployment、StatefulSet、Job 或 CronJob 等实际工作负载;同一组件的多个副本也不等于多个客户 APP。工作负载种类和资源档位是配置,不从名字或编号推导。
|
||||||
|
|
||||||
|
| 层次 | 已认可的概念职责 | 例子 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 客户账号 | 拥有项目与服务购买权限 | 一个客户管理多项业务 |
|
||||||
|
| 项目组 | 单层分组,一个项目至多归属一个组,无嵌套或多组要求 | “评价与内容业务”收纳评价网和内容中心 |
|
||||||
|
| 项目 | 长期业务与运行资源管理单位,可含多个应用和独立服务 | 一个站点及为其采集数据的相关应用 |
|
||||||
|
| 应用实例(APP) | 一套软件的客户实例,保存基础版本及定制成果 | 官网、商城、内容中心 |
|
||||||
|
| 环境与部署组件 | 区分生产/测试等目标,描述 Web、worker 的运行组成与资源配置 | Web 两副本,采集 worker 一副本 |
|
||||||
|
| 资源实例及使用绑定 | 数据库、缓存、卷、对象存储等实际资源;分别记录归属和使用者 | Web 与 worker 显式绑定同一数据库 |
|
||||||
|
| 外部服务订阅与调用关联 | 接入另一项目或平台服务的授权、接口与服务权益 | 内容中心调用评价网 API;网站订阅新闻 API |
|
||||||
|
|
||||||
|
本表形成概念基线,具体关系基数及生命周期还需核对,不是强制逐层建立菜单、数据库表或微服务。一个仅邮箱项目无需为了补齐层次而创建 APP、namespace 或数据库。
|
||||||
|
|
||||||
|
#### namespace、数据库和共享:默认关系与实际授权分开
|
||||||
|
|
||||||
|
namespace 管理 K8s 资源作用域,不直接决定数据库能否共享。服务可以通过包含 namespace 的 DNS 名称跨 namespace 访问;实际连通还受网络策略和数据库授权限制。同 namespace 也不会自动获得另一个应用的数据库权限。[K8s 跨 namespace 服务访问](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/)
|
||||||
|
|
||||||
|
namespace 本身也不等于默认网络隔离;如需项目间限制访问,需有实际生效的网络策略及数据库、服务凭据授权。网络插件必须支持策略执行。[K8s 网络策略](https://kubernetes.io/docs/concepts/services-networking/network-policies/)
|
||||||
|
|
||||||
|
以下默认关系已获用户认可;具体配置覆盖与执行机制后续细化:
|
||||||
|
|
||||||
|
- 项目在某个集群的同一环境内,相关工作负载默认放在同一 namespace,符合共同管理及共享卷的需求。项目与实际 namespace 显式绑定;以后不同环境或集群有各自目标,不靠名称相等关联。
|
||||||
|
- 数据库是独立资源,项目可有零个、一个或多个逻辑数据库;模板决定默认需求。例如官网与采集 worker 默认绑定同一数据库,两个不同基础系统也可各用各的数据库,仍属于同一项目。
|
||||||
|
- 数据库部署在哪里、哪个应用可以用、费用归谁,分别记录。同项目应用按需要授权,并非全部自动获得相同权限;worker 可具有与 Web 不同的写入权限。
|
||||||
|
- 评价网与内容中心按用户指定保留为两个独立项目,各有自己的数据库和 namespace,通过 API 协作。可归入同一项目组,但不因分组自动合并数据库或授权。
|
||||||
|
|
||||||
|
数据库供应商实例与逻辑数据库需区分:一个数据库服务器或托管实例可以承载多个逻辑数据库。namespace 既不是数据库服务器,也不是逻辑数据库。共享与性能还取决于位置、网络和应用写入方式,不能仅靠相同 namespace 保证更快或数据格式兼容。
|
||||||
|
|
||||||
|
PVC 与数据库连接有不同约束:Pod 直接引用的 PVC 必须位于同一 namespace。多组件共享同一个 PVC 还需核对访问模式、后端及应用的并发写入能力;不能将“跨 namespace 能连数据库”推导成“直接引用另一 namespace 的 PVC”。[K8s 持久卷与 namespace](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)
|
||||||
|
|
||||||
|
#### 资源计费:按实际购买项计算,项目汇总
|
||||||
|
|
||||||
|
Web 与 worker 分别需要购买的运行配置,可以分别计价,再汇总到项目;如果售卖的是覆盖整个组合的套餐,则由套餐表达包含的组件和额度。不能同时对同一配置收套餐价和全部组件价。运行配置按本轮明确的包年档位,不按实时 CPU、内存用量收费。
|
||||||
|
|
||||||
|
共享数据库、存储的费用归属于资源或其明确分配的服务份额,多个 APP 引用不会产生多份采购费用。资源的归属、使用绑定、计费归属要区分;资源成本已经包含在套餐时,不再另列同一份费用。
|
||||||
|
|
||||||
|
示例:官网 Web 配置费 + 采集 worker 配置费 + 一份共享数据库服务费 + 一份共享存储服务费。域名、邮箱、公共 API 订阅与定制工单按选配另外计算。此处解释组成,不设定具体金额、套餐和服务周期;人工、AI 定制仍是核心销售价值。详见 [05 商业模式与成本指标](<05-商业模式与成本指标.md>)。
|
||||||
|
|
||||||
|
#### 外部数据库与云存储:统一管理,分别适配
|
||||||
|
|
||||||
|
目标模型应支持自建与外部托管资源,不把数据库限定为现有服务器上的 PostgreSQL,也不把存储限定为 Longhorn。应用契约声明所需引擎、版本、容量及访问能力;实际资源绑定选择可支持的供应方式。先保留能力边界,供应商与接入版本以后确定。
|
||||||
|
|
||||||
|
| 资源类别 | 怎样接入应用 | 需要保留的差异 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 自建数据库或托管数据库(RDS 类) | 显式绑定连接目标、逻辑数据库与授权;应用通过网络连接 | 引擎与扩展、区域、版本、容量、备份和恢复能力 |
|
||||||
|
| 块存储或文件存储 | 兼容的存储驱动/后端提供卷,通过 PVC 挂载 | 节点与区域限制、访问模式、容量、快照、并发访问能力 |
|
||||||
|
| 对象存储 | 应用通过支持的对象接口访问 bucket 或授权范围 | 应用适配、对象权限、请求/容量/流量成本,不等同普通文件系统 |
|
||||||
|
|
||||||
|
外部托管数据库纳入平台资源目录、开通和账目,不意味着其 CPU、内存由 K8s 本地配额调度。建议记录供应商资源标识、规格、实际目标、状态、凭据引用、采购账目与客户服务归属;开通可以由供应商 API 或人工完成,不能因统一模型就承诺全部步骤自动化。
|
||||||
|
|
||||||
|
托管数据库可减少服务器维护、数据库安装、补丁和备份等工作;应用的数据结构、查询优化、连接配置及使用方式仍需团队负责。此处以官方 RDS 的责任划分解释概念,并未选定 AWS。[RDS 管理与责任范围](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)
|
||||||
|
|
||||||
|
云盘接入不能只增加供应商字段:驱动、节点/区域可用性和网络条件必须兼容现有集群。对象存储适合经应用支持的素材、上传和备份场景,不能默认无修改替代任意 PVC。[K8s StorageClass 与存储后端](https://kubernetes.io/docs/concepts/storage/storage-classes/)、[对象存储概念](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)
|
||||||
|
|
||||||
|
用户提出第三方服务成本加 20% 服务费,后台可调整。独享资源可直接归属采购成本;共享供应商实例需先定义可核对的分配份额,不能向每个项目重复收取整台实例费用。第三方流量、请求和备份等浮动成本怎样对客户结算,进入阶段 3 决定,不自动改变既定计算资源档位订阅。
|
||||||
|
|
||||||
|
#### 跨项目协作、平台公共应用和项目组
|
||||||
|
|
||||||
|
跨项目协作保存独立的 API 使用关系:提供方、使用方、接口、授权引用和依赖;不因两个项目属于同一客户或分组而自动互通。评价网加内容中心是本轮明确的两个项目协作样本;服务变化时还需知道哪些依赖方可能受影响。
|
||||||
|
|
||||||
|
平台自有新闻 API 则包含两个不同对象:平台部署和维护的应用,以及对外销售的 API 服务产品。客户购买的是订阅、权限和调用权益,并不必为每个客户复制一套新闻系统或开放新闻系统数据库。服务订阅与平台应用的成本各自记录;持续基础服务按包年方向,API 包含额度、超额或其他计量规则后续确定,不将计算配置规格直接套到 API。
|
||||||
|
|
||||||
|
客户项目组已纳入目标,先承担命名、归组、筛选和查找。建议未来可按组汇总费用;移动分组不自动搬迁 namespace、合并资源或重定价已有账目。客户整理分组、平台行业/价格政策分组、供应商账号池分配是不同用途。
|
||||||
|
|
||||||
|
未来批量操作可利用项目成员关系筛选目标,但具体操作未提出,不提前承诺批量删除、发布或扩容。以后逐项定义权限、执行范围与每个项目的成功/失败结果;分组本身不成为技术隔离边界。
|
||||||
|
|
||||||
|
#### 用本轮场景检验候选模型
|
||||||
|
|
||||||
|
| 场景 | 组织与运行关系 | 费用表达 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 网站加持续采集 worker | 一个项目;同软件可为一个 APP 多组件,独立软件可为多个 APP;显式共享数据 | Web、worker 运行配置分别覆盖,共享数据库和存储不重复计费 |
|
||||||
|
| 一个项目含商城和内容应用 | 多个应用,可有不同数据库引擎和存储要求 | 各组件配置与实际购买资源合并展示到项目 |
|
||||||
|
| 评价网与内容中心协作 | 两个项目、各自数据库及 namespace,通过 API 对接,可放同一项目组 | 各自资源费归各项目;API 是否另收费按服务关系决定 |
|
||||||
|
| 平台新闻 API 提供给多个站点 | 平台拥有服务应用,客户项目绑定 API 订阅和授权 | 客户购买 API 服务,不重复承担同一平台实例的整笔资源采购 |
|
||||||
|
| 更换自建数据库为托管数据库 | 保留业务身份,变更资源绑定并执行数据迁移、验证和切换 | 按新服务规格与成本规则结算,不把更改连接地址当作完整迁移 |
|
||||||
|
| 项目分组 | 客户整理多个独立项目,分组不改变运行隔离 | 可汇总既有账目;不因加入组自动新增费用或叠加资源费 |
|
||||||
|
|
||||||
|
### 第三轮:应用目录、组合方案与运行配置
|
||||||
|
|
||||||
|
多应用项目下,需要区分业务组织、应用基础和运行组成。例如“供应链业务”表达项目用途,“Odoo 商城”表达所选应用基础,“Web 与后台 worker、数据库和存储”表达该应用的运行要求。行业、软件来源和部署组成不能全部压成一个固定项目类型字段。
|
||||||
|
|
||||||
|
已确认:目录同时支持单应用及包含多个应用的组合方案,客户可在已有项目中继续添加应用。例如先开通官网,再添加独立内容中心。组合不是固定且不可变的项目类型;它的具体默认组件、连接和配置尚需细化。
|
||||||
|
|
||||||
|
用户明确:每种应用的必需和可选资源由其预设决定,平台不存在适用于全部应用的固定组件清单。应用及版本的运行配置表达组件、资源依赖、默认值和允许的选配;组合方案引用这些配置。客户业务用途和行业分类另行记录。
|
||||||
|
|
||||||
|
| 应用预设样本 | 必需项 | 可选项 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 自有金融官网系统 | Web、数据库、PVC;所提供软件包含后台和持久数据 | 独立域名、邮箱及该软件支持的其他能力 |
|
||||||
|
| 纯前端个人网站 | 交付并提供访问所需的静态产物/运行能力,无应用数据库或持久 PVC 要求 | 独立域名、邮箱及其支持的额外服务 |
|
||||||
|
|
||||||
|
“可选”不是随意关闭软件必需依赖;软件不支持的资源能力不能仅靠勾选生成。是否将某种附加能力接入目录,仍按接入契约验证。静态产物是否使用容器服务或专门静态托管方式,属于后续架构选择。
|
||||||
|
|
||||||
|
### 第四轮:资源存续、工单范围、预览与分组
|
||||||
|
|
||||||
|
#### 包年服务与资源释放
|
||||||
|
|
||||||
|
用户明确持续服务采用包年,不采用随开随关的按小时模式;人工和 AI 定制仍按原工单费用规则,不变为无限次包年开发。提前删除、到期、扩容的账目与退费阶段 3 另定,资源是否还有引用与订阅是否到期分别记录。
|
||||||
|
|
||||||
|
业务默认每个项目拥有独立的逻辑数据库,不设计跨项目混用业务数据库的通常路径;同项目 APP 可按需要共享。供应商实例是否承载多个独立逻辑数据库,是物理供应层面的另一问题。
|
||||||
|
|
||||||
|
资源保存归属用户、所属项目及实际引用它的 APP/组件/环境。用户要求类似引用计数的机制:删除最后一个引用前提示将失去数据,并在客户资源管理页显示待释放状态;全部引用消失后可以延迟释放,用户举例为三天。三天是候选宽限期,后台参数和最终期限待确认。资源真正释放后不承诺原数据仍能恢复。
|
||||||
|
|
||||||
|
建议流程为“使用中 → 待释放 → 已释放”:
|
||||||
|
|
||||||
|
- 移除最后一个引用时展示将删除的数据库、卷及影响,客户确认后进入待释放。
|
||||||
|
- 宽限期内新增有效引用或撤销释放可取消倒计时;只暂停 APP、仍保留使用绑定时不应误判为零引用。
|
||||||
|
- 执行释放前重新检查实际引用及正在执行的发布/恢复等操作,避免只按一个过期计数删除资源。用户直接绕过平台的连接不属于可靠引用,应禁止作为正常使用路径。
|
||||||
|
- 项目的数据库/卷、备份及独立域名/邮箱/API 订阅分别管理;零 APP 引用不意味着自动取消独立服务。备份保留及最终清除需有明确政策,避免无引用资源无限占用空间,也避免误承诺永久可恢复。
|
||||||
|
|
||||||
|
用户在阶段收口时认可上述释放方案;具体宽限期、提示/取消入口及备份清除规则移交阶段 3。
|
||||||
|
|
||||||
|
#### 工单范围与多个 APP 的版本组成
|
||||||
|
|
||||||
|
已确认一张工单只能修改一个项目,可同时涉及项目内多个 APP;跨项目协同分别提交工单。客户提交一次需求,内部可拆分成多个 APP 的执行任务,不要求客户为了前后端接口配套改动再分成多个工单。
|
||||||
|
|
||||||
|
建议建立“项目发布记录”:保存本次项目内各 APP 实际采用的 Git 提交、构建产物、配置及数据库结构版本。未改动的 APP 也有明确当前版本,因此一次工单可产生一个可核对的前后组合。多仓库分别保存实际提交,不假定存在覆盖全部 APP 的一个 Git 提交。
|
||||||
|
|
||||||
|
Git 记录源代码和迁移脚本,发布记录补充实际运行组成与数据恢复点。数据库内容、上传文件、密钥和客户数据不写入 Git。恢复项目历史组合时检查共享数据及 APP 兼容关系;单独恢复一个 APP 只在兼容时提供。工单提交时与实际执行时的版本仍分别保存。
|
||||||
|
|
||||||
|
多 APP 发布可以内部协调、记录部分成功并执行恢复,不能仅靠“一个工单”承诺数据库和所有部署具有瞬时原子切换。发布顺序、兼容策略和失败补偿留到运行设计。
|
||||||
|
|
||||||
|
#### 代码回退与数据恢复:收口时已确认采用推荐方向
|
||||||
|
|
||||||
|
用户已认可两层恢复方向:普通应用回退默认保留数据,带数据恢复作为明确选择的另一个操作;不采用所有回退都覆盖数据的默认规则。
|
||||||
|
|
||||||
|
| 恢复动作 | 已确认行为 | 数据影响 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 应用版本回退 | 恢复目标 APP/项目组合的代码、产物和兼容配置,先保留当前业务数据 | 保留后来新增订单、内容和上传;不兼容则进入恢复评估 |
|
||||||
|
| 带数据的时间点恢复 | 选定明确数据库和文件恢复点,协调所有使用它的 APP | 会覆盖恢复点之后的新数据,需明确提示范围、时间及影响 |
|
||||||
|
|
||||||
|
仅备份结构不足以保护记录内容:删字段或批量修改数据后,结构定义无法找回原数据。结构迁移脚本应版本化、尽量兼容前后版本;并非所有迁移都有无损逆操作。[PostgreSQL schema-only 的范围](https://www.postgresql.org/docs/current/app-pgdump.html)
|
||||||
|
|
||||||
|
持久数据应有独立于工单的基础周期备份或持续恢复保护,以覆盖客户操作、采集 worker 等日常写入;仅在修改代码时备份无法覆盖平时的数据损坏。工单按风险补充关键恢复点,基础保护的规格、保留范围与成本阶段 3 定义。
|
||||||
|
|
||||||
|
建议按改动风险及应用数据能力建立恢复材料:
|
||||||
|
|
||||||
|
- 纯前端/样式修改:记录 Git、产物、配置及结构版本,不必为每次改字完整复制数据库或卷。
|
||||||
|
- 数据库结构迁移、批量改写或删除:在首次影响持久数据前建立并校验恢复点;小型项目可采用逻辑备份,较大数据或高频写入项目评估基线备份加日志归档/供应商时间点恢复。
|
||||||
|
- 上传文件、附件或应用在卷内修改内容:按需要建立卷快照或对象版本/备份;数据库记录与文件必须有可核对的一致恢复范围,独立时间的两个备份不自动组成一致状态。
|
||||||
|
- 后台采集 worker 会持续写入,快照或备份期间需采用应用支持的一致性方法;必要时协调暂停相关写入。恢复时先停止相关写入、恢复到隔离目标并核对,再切换使用者,避免破坏正在工作的数据。
|
||||||
|
|
||||||
|
PostgreSQL 时间点恢复依赖基线备份与连续 WAL,物理恢复的范围通常是整个数据库集群,不能在承载多个客户的共享实例上直接回退而影响其他客户;可恢复到隔离实例,再处理目标项目的数据。MariaDB/其他引擎及托管服务需各自适配,不能套用一套 PostgreSQL 方法。[PostgreSQL PITR](https://www.postgresql.org/docs/current/continuous-archiving.html)
|
||||||
|
|
||||||
|
Longhorn 的增量备份可复用未变化数据块,减少每次备份重复复制的成本;本地快照与集群外备份职责不同,不能以本地快照替代灾难恢复。存储快照的一致性也不能自动等同于应用数据库和附件的一致性。参考官方能力,不表示现有集群已支持或配置这些方案。[Longhorn 增量备份](https://longhorn.io/docs/1.13.0/snapshots-and-backups/backup-and-restore/create-a-backup/)、[Longhorn 快照与备份概念](https://longhorn.io/docs/1.13.0/concepts/)
|
||||||
|
|
||||||
|
备份占用取决于基础数据大小、变化量、写入日志、副本及保留期限,并非零成本。建议分开保留近期任务恢复点、周期备份和长期代码历史,具体期限与价格阶段 3 决定。可定位任意历史工单的代码版本,并不意味着每个历史时间的数据都永久可恢复;数据恢复界面需显示实际可用的恢复点和保留范围。
|
||||||
|
|
||||||
|
数据库保护点通常建立于实际数据修改前,不应冒充工单提交时数据;两个时点可能相隔数天。发布与恢复记录保存准确时间和范围,恢复前保护当前状态。默认模式已明确,涉及数据覆盖时的具体确认步骤移交阶段 3。
|
||||||
|
|
||||||
|
#### 运行实例、默认预览入口与未来沙盒
|
||||||
|
|
||||||
|
已确认运行实例仍由 K8s 在线维护。新项目的应用需要访问时分配平台默认建站域,仅用于客户测试/预览,不允许当作正式公开站点。工单过程当前无需对客户透明,完成后直接更新其正在访问的运行实例;不增加发布前客户验收步骤。
|
||||||
|
|
||||||
|
正式公开发布允许客户绑定自有域名,或通过平台购买域名;默认建站域仅预览。默认域名和独立域名是访问方式及发布资格,不应推导为“未买域名就没有实际 K8s 服务器”。正式上线可沿用同一持续实例,更改访问绑定与公开发布状态;如另需专属运行环境再单独选配。域名验证、绑定及采购的具体服务规则移交阶段 3。
|
||||||
|
|
||||||
|
未来 AI 执行可使用临时隔离沙盒,必要时通过受保护入口映射出来。开发沙盒/临时预览与客户持续实例分开,默认不连接客户可写生产数据或以正式身份发送邮件/调用付费业务接口。独立数据副本、脱敏、权限及费用后续设计。
|
||||||
|
|
||||||
|
用户与项目采用系统生成 ID,实际访问入口显式绑定应用端点。建议再生成独立的唯一预览标识,避免直接暴露用户信息或可枚举编号;例如 `p-7f2k9m-web.preview.example.net`,多 APP 的不同 Web/API 入口各自映射。不从仓库名、namespace 或可读项目编号推算目标。临时沙盒可有另外的临时入口及有效期;随机地址本身不替代访问权限。
|
||||||
|
|
||||||
|
行业参考:Vercel 会为部署生成唯一访问 URL,并提供预览/部署访问保护;可借鉴稳定项目入口与具体部署入口分开的方式,无需照搬域名格式。[Vercel 生成 URL](https://vercel.com/docs/deployments/generated-urls)、[Vercel 访问保护](https://vercel.com/docs/deployment-protection)
|
||||||
|
|
||||||
|
#### 默认域名的访问提示、验证码与责任边界
|
||||||
|
|
||||||
|
用户提出默认预览域名统一显示免责声明,通过验证码后才展示应用。技术上可用统一预览访问网关实现,网关验证后签发限时访问凭据,再放行原访问目标,不需要让每个客户模板重复实现。页面说明这是客户测试内容,并提供投诉/举报入口。验证码是人机验证还是客户持有的访问码,及是否结合登录/限时分享,仍待定。
|
||||||
|
|
||||||
|
建议默认仅项目所有者、员工及持有受控分享权限的人可访问;免责声明和人机验证作为附加提示与防滥用机制。单纯任何人答验证码即可访问,仍可被用作公开传播入口;需覆盖深链接、API、静态内容及绕过网关的后端路径。跨应用登录、Cookie、WebSocket 与机器接口兼容性留架构阶段核对。
|
||||||
|
|
||||||
|
ngrok 官方描述中间提示页用于降低钓鱼风险,且提供跳过路径,不能将该产品行为当作通用法律免责证明。[ngrok 中间提示页](https://ngrok.com/docs/pricing-limits/free-plan-limits)
|
||||||
|
|
||||||
|
法律适用地区尚未明确,当前不作免责结论。以欧盟 DSA 为例,托管责任例外涉及对违法内容的知情及及时移除/禁止访问等条件;免责声明或验证码并不能替代这些条件,此处不是判断本平台必然适用 DSA。产品规划应包含服务使用规则、举报受理、停用入口与处置记录,具体义务在确定经营主体、用户地区及服务性质后核对。[欧盟 DSA 第 6、16 条](https://eur-lex.europa.eu/eli/reg/2022/2065)
|
||||||
|
|
||||||
|
#### 项目组保持简单
|
||||||
|
|
||||||
|
用户明确:项目至多属于一个组,分组不嵌套,不需要多组或复杂标签体系。建议允许未分组;一个组可含多个项目,为协作查询及以后功能扩展提供基础。API 协作依然通过明确关系表达,分组不提供隐含授权,批量操作清单后置。
|
||||||
|
|
||||||
|
### 阶段 2 逐轮核对结果(收口后)
|
||||||
|
|
||||||
|
五项主题已形成领域基线,用户认可推荐方向;参数和执行细节按本文件开头交接清单进入后续阶段,不再要求阶段 2 完成采购或建表。
|
||||||
|
|
||||||
|
| 顺序 | 仍需确认的内容 | 用于核对的业务例子 | 本阶段要得到的结果 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| 1. 目录与运行配置 | 已明确按应用预设必需/可选项;支持版本和组合契约后续工程化 | 金融官网必须有 Web/数据库/PVC,纯前端个人站无数据库/PVC | 不再要求平台统一必需组件清单 |
|
||||||
|
| 2. 资源与服务归属 | 引用释放机制及独立服务分开管理已确认 | 删除最后一个数据库使用 APP;保留独立邮箱 | 三天仅候选;账目、备份清理与订阅期限阶段 3 细化 |
|
||||||
|
| 3. 工单与成果范围 | 单项目多 APP、项目发布组合及两层恢复方向已确认 | 同时改前后端;普通回退保留新订单 | 具体引擎、操作确认及保留期限后置 |
|
||||||
|
| 4. 环境与部署实例 | 默认域受保护预览、沙盒后置、正式域可平台购买或自有绑定已确认 | 客户已有自己的域名 | 保护实现后置,法律地区待补事实,不承诺验证码免责 |
|
||||||
|
| 5. 分组与关系基数 | 已明确单层、单归属,不嵌套不多组 | 两个协作项目放一个组 | 不继续扩展复杂分组模型 |
|
||||||
|
|
||||||
|
阶段 2 收口后转入阶段 3 的状态、价格、续费、释放、投诉和恢复操作规则;技术选型和具体恢复实现仍按计划后置。
|
||||||
|
|
||||||
|
### 本阶段后续轮次
|
||||||
|
|
||||||
|
1. 项目、客户应用实例和独立服务的核心边界已形成基线,生命周期继续核对。
|
||||||
|
2. 应用目录、基础软件版本、项目类型与运行配置分别表达什么;类型怎样声明组件和默认要求。
|
||||||
|
3. 实例、环境、工作负载和资源的绑定、默认值及可覆盖项;处理 worker、namespace、仓库及数据库旧约束。
|
||||||
|
4. 工单、代码、线上版本、订单和分组怎样关联,用真实场景核对完整模型。
|
||||||
|
|
||||||
|
这里保留整体讨论地图,但每轮只展开一个主题。下面原有领域清单用于查阅,统一系统部署、Git 和数据库部分暂不要求逐项选择。
|
||||||
|
|
||||||
|
## 统一系统与部署结构
|
||||||
|
|
||||||
|
统一系统意味着公开能力目录、客户、员工、服务产品、订单、项目、工单和交付有一致的业务模型、权限与生命周期。来源不驱动系统设计;当前以普通客户账号为边界,企业组织与成员协作后置。产品整体性不由进程数量或数据库数量单独决定。
|
||||||
|
|
||||||
|
客户门户、员工后台和任务执行器可以是同一产品的不同界面或运行组件,也可以共用数据库。是否拆分要依据权限、负载、故障隔离、事务边界和维护成本论证。
|
||||||
|
|
||||||
|
不将几个旧后台简单拼接为新产品,也不预设所有能力必须运行在一个进程里。
|
||||||
|
|
||||||
|
## 领域模型先回答的问题
|
||||||
|
|
||||||
|
| 概念 | 必须明确的关系或职责 |
|
||||||
|
| --- | --- |
|
||||||
|
| 客户账号与内部权限 | 普通客户注册、项目归属、员工操作;中介没有特殊身份,组织与成员后置 |
|
||||||
|
| 项目分组与定价政策 | 单层、项目单归属;客户整理与平台价格分类分别表达,不以同组推断运行权限 |
|
||||||
|
| 应用能力目录 | 应用来源、版本、适用场景、接入状态、支持范围及运行契约 |
|
||||||
|
| 服务产品和套餐 | 运行配置档位及域名、邮箱、人工、AI 等独立选配服务,购买后交付什么 |
|
||||||
|
| 订单和订阅 | 配置档位年付、扩容调整、独立服务购买、报价确认、费用与续费 |
|
||||||
|
| 项目 | 客户组织业务的单位,与订单、服务、应用的关系 |
|
||||||
|
| 项目类型 | 是否定义业务能力、默认组成或资源要求,怎样支持组合与版本 |
|
||||||
|
| 应用与环境 | 项目支持多应用、APP 与组件分层已确认;组件版本及预览/生产环境关系待定 |
|
||||||
|
| 工作负载 | Web、worker、scheduler 等角色及运行配置 |
|
||||||
|
| 资源与绑定 | namespace、仓库、数据库、域名、邮箱和存储的归属及使用关系 |
|
||||||
|
| 改动工单 | 限一个项目、可涉及多个 APP;文字与附件、处理模式、人工金额确认、执行及版本追踪 |
|
||||||
|
| 客服渠道 | 在线客服、Telegram 及拟接入 TG 机器人中的咨询、澄清、价格沟通和反馈;关联方式待定 |
|
||||||
|
| 成果版本与恢复 | 工单提交时版本、执行基准、各次预览、发布组成、历史回退及数据恢复范围 |
|
||||||
|
| 代码协作关联 | 平台工单与外部 Issue、PR、提交和构建的明确映射,不依赖编号相等 |
|
||||||
|
| 供应商账号池与分配 | Cloudflare、Migadu 等账号的可用状态、共享容量、独享关系及实际资源绑定 |
|
||||||
|
| 托管资源供应方式 | 自建/外部数据库、卷和对象存储的能力、供应商目标与账目,不以供应商实例代替逻辑数据库 |
|
||||||
|
| API 协作与公共服务 | 客户项目间接口依赖,以及平台自有服务产品、订阅、调用授权与收费 |
|
||||||
|
| 价格与成本记录 | 后台可调参数、价格规则版本、供应商采购成本与客户独立账目 |
|
||||||
|
|
||||||
|
这些不是建表清单。概念、基数和数据所有权先用业务实例验证,再转成具体数据库设计。
|
||||||
|
|
||||||
|
运行资源按购买的配置档位订阅,不按实际瞬时用量收费;购买配置、运行观测及价格版本分别表达。项目业务分组、价格分类、供应商账号分配不预设一一对应。供应商账号池也不是客户账户或组织模型,不能混淆权限归属。
|
||||||
|
|
||||||
|
首期复杂定制走人工模式,内部评估与设置价格,客户同意后执行并更新线上。自动模式后续按能力开放,提交后 AI 修改并发布,需要人工时自动切换到同一工单的人工模式;人工金额确认是条件步骤,沟通与反馈由客服渠道承担。
|
||||||
|
|
||||||
|
## Git Issue 集成方案评估
|
||||||
|
|
||||||
|
用户建议将工单绑定 Git Issue,并在阶段 2 收口时认可平台业务主记录关联 Git 工程记录的推荐方向。下面保留方案比较;具体实现、Issue 强制范围、Git 服务供应商及同步机制留到阶段 4。
|
||||||
|
|
||||||
|
Git 本身管理代码版本,Issue 是 Gitea、GitHub 等托管服务的协作能力。GitHub 支持 Issue 与 PR 关联;Gitea 支持 Issue、PR、提交引用,也支持外部工单追踪引用。这能建立工程追踪关系,处理模式、人工价格确认、实际发布和恢复记录仍需产品模型表达。[GitHub Issue 与 PR 关联](https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue)、[Gitea 引用与外部追踪](https://docs.gitea.com/usage/issues-prs/automatically-linked-references/)
|
||||||
|
|
||||||
|
| 候选 | 适用性与代价 | 本轮建议 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 改动工单以 Git Issue 承载需求和开发记录 | 与主要伴随代码的任务更契合,可复用工程追踪;处理模式、客户权限、人工金额确认、费用及实际发布恢复仍需平台表达 | 可以评估,但不能仅靠 Issue 状态决定整个业务任务是否完成 |
|
||||||
|
| 平台工单直接关联 PR、提交和发布,无独立 Git Issue | 工程关联较少,避免两套讨论或状态同步;团队若需要 Issue 看板需另评估 | 可作为较轻的接入方案 |
|
||||||
|
| 平台改动工单关联 Git Issue、PR、提交和发布 | 平台表达任务授权、模式和人工金额确认,Git 追踪改动,客服独立;需明确关联和同步边界 | 当前推荐方向,Issue 是否必须及首期接入范围待定 |
|
||||||
|
|
||||||
|
推荐方案仍是一个产品:客户通过平台提交改动工单,客服渠道承担沟通,Git 服务接入工程能力。平台保存原始文字与附件、需求版本、初始与当前模式、人工金额确认、执行状态及线上版本;Git 侧保存开发任务、内部技术记录和代码改动。代码工单可关联 Issue,少量无代码服务任务不强制建立 Issue。
|
||||||
|
|
||||||
|
已确认保存工单提交内容及附件的不可覆盖版本,新增或改变需求另建工单,客服/TG 不自动修改原范围,用于防止追加及完成争议。补缺、原需求未完成修复和新增的区别、执行中变更及费用细则阶段 3 处理。
|
||||||
|
|
||||||
|
建议一个平台工单可关联零个或多个开发任务,一个开发任务可关联多个 PR 或提交;发布版本可包含多个工单的成果,关系基数仍需真实场景验证。关联记录包含实际服务实例、仓库及外部标识,不以工单号等于 Issue 号或仓库名等于项目名建立关系。
|
||||||
|
|
||||||
|
先同步任务、链接及必要工程摘要,不复制在线客服或 TG 的全部对话。Issue 关闭或 PR 合并不能代替生产发布成功和费用状态;工单执行完成应关联实际线上更新结果。同步失败不丢失客户提交,重试不得产生重复 Issue,具体接口及一致性策略留到架构阶段。
|
||||||
|
|
||||||
|
现有 Gitea 可以作为候选接入能力评估,无需为绑定 Issue 先迁移到 GitHub。候选服务的实际版本、API 和权限支持在实施前核对,当前未操作任何外部仓库或工单。
|
||||||
|
|
||||||
|
## 版本追踪与恢复模型建议
|
||||||
|
|
||||||
|
仅绑定 Git Issue 无法定位整个应用的历史运行状态。建议将平台成果版本和部署记录明确建模,关联到工单、目标应用及环境,并保存版本组成:
|
||||||
|
|
||||||
|
| 记录 | 需要解释的内容 |
|
||||||
|
| --- | --- |
|
||||||
|
| 需求与执行 | 提交与附件版本、工单发起时应用版本、执行时基准及每次处理尝试 |
|
||||||
|
| 代码与构建 | 仓库、实际提交、PR、构建结果和可追踪的镜像 digest 或产物引用 |
|
||||||
|
| 应用组成 | Web、worker 等工作负载采用哪些产物及配置版本,相关配置和凭据版本引用 |
|
||||||
|
| 发布与完成 | 哪个成果更新到哪个目标环境、健康检查及执行结果;不设默认客户验收发布门槛 |
|
||||||
|
| 数据兼容与恢复 | 数据结构版本、迁移及备份或快照引用,能否保留现有业务数据运行历史应用 |
|
||||||
|
| 回退 | 当前版本、目标历史版本、涉及工单、恢复范围、执行状态及恢复后有效版本 |
|
||||||
|
|
||||||
|
工单发起时版本和执行时基准需分别保存;排队期间其他工单可能已发布。平台业务记录和账目不随应用回退恢复为旧状态,回退作为新的动作保留完整历史。
|
||||||
|
|
||||||
|
回到一个完整历史版本,与仅撤销某张工单的修改分别提供语义。Git 的 revert 可通过新提交撤销历史提交的改动;它不等同于重新部署历史镜像,也不恢复数据库和外部资源。[Git revert 官方说明](https://git-scm.com/docs/git-revert)
|
||||||
|
|
||||||
|
目标是可选择任意历史工单发起前的应用版本。能否直接恢复需核对产物保留、配置及数据兼容,无法直接恢复时进入恢复评估,不把需求静默改成“只能回退最近一次”。已确认普通回退保留数据,带数据恢复另选实际可用时间点;版本材料、数据恢复点的保留与长期成本阶段 3/6 细化。
|
||||||
|
|
||||||
|
## 用户指出的旧约束与目标要求
|
||||||
|
|
||||||
|
| 旧约束 | 新模型需支持的能力 |
|
||||||
|
| --- | --- |
|
||||||
|
| 人工编写 `projectxx` 编号 | 系统生成稳定标识;可读编号和历史别名独立 |
|
||||||
|
| 用 `-x` 后缀识别入口和关联 | 显式描述用途、类型及关联关系 |
|
||||||
|
| worker 等依赖人工特殊处理 | 类型配置声明工作负载组成、依赖和资源要求 |
|
||||||
|
| namespace 只能跟随约定 | 默认命名可覆盖;保存实际资源目标并检查冲突 |
|
||||||
|
| 项目、namespace、数据库名称关联 | 用资源 ID、目标配置和凭据引用明确绑定 |
|
||||||
|
| 仓库名要与 namespace 相同 | 代码来源与部署目标独立配置,CI 根据绑定定位 |
|
||||||
|
|
||||||
|
业务用途、软件目录/支持版本、组合方案与运行配置分别表达,资源必需/选配由应用预设声明;类型模型不能成为另一套固定命名约束。实例可覆盖参数的具体清单按版本运行契约在阶段 6 定义。
|
||||||
|
|
||||||
|
示例:一个应用由 Web 与 worker 组成,它们是否共享镜像、数据库、存储,以及 worker 的副本数和启动命令,都应有配置表达,而不是从项目名字推测。
|
||||||
|
|
||||||
|
## 数据库问题需拆开讨论
|
||||||
|
|
||||||
|
先区分两种数据:**平台数据**包含账户、订单、工单、项目和交付记录;**客户应用数据**是客户网站自身的会员、内容、订单等业务数据。平台数据库是否统一,与客户应用数据库如何隔离,是两个独立决定。
|
||||||
|
|
||||||
|
平台还可能保存日志、素材和构建产物,它们是否使用其他存储也需单独论证。“统一数据库”不代表所有文件和运行日志必须塞进同一组业务表。
|
||||||
|
|
||||||
|
| 平台候选方案 | 可以怎样组织 | 需要权衡的问题 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 模块化应用与一个平台数据库 | 客户、订单、工单及项目按模块管理,一个数据库保存业务记录 | 事务便利、责任边界、权限及后续拆分能力 |
|
||||||
|
| 多个运行组件与一个平台数据库 | API 与异步执行器分开运行,明确各模块的数据写入责任 | 故障隔离、并发访问、迁移协调和耦合 |
|
||||||
|
| 多个服务与各自数据库 | 服务拥有各自数据,通过 API 或事件协作 | 一致性、幂等、查询汇总、分布式恢复及运维成本 |
|
||||||
|
|
||||||
|
这里只列候选方案,不选定一种。先完成领域模型和完整流程,再按真实负载、团队维护能力与事务要求比较。
|
||||||
|
|
||||||
|
无论哪种方案,客户注册都需身份与项目归属,工单需作者、权限、状态、范围和成果关联;成员模型后置。是否适合重用旧表必须逐项评估,不能只增加用户和工单表就认为设计完成。
|
||||||
|
|
||||||
|
客户应用的数据技术不能由平台数据库选择决定。现有官网与 Odoo 样本使用 PostgreSQL,货代样本使用 MariaDB 及 Redis;目标目录需描述应用依赖,不能将所有客户应用强制套进旧站点数据库规则。
|
||||||
|
|
||||||
|
Content Hub 提供两个需分开的关系样本:同一应用的 API 和 worker 共用应用数据;内容中心通过 API 为目标网站发布内容,目标网站仍有自己的业务数据。平台交付任务与被部署应用内部的内容任务也要分别建模。
|
||||||
|
|
||||||
|
## 迁移与目标模型
|
||||||
|
|
||||||
|
旧 ID 通过导入映射关联新 ID。namespace、仓库、数据库及域名按实际目标导入,不要求重命名,也不依靠名称相等建立关系。
|
||||||
|
|
||||||
|
旧名称后缀、备注和默认规则可以提供映射线索,但需校验才能形成正式关系;无法确认的记录进入待核对清单。迁入的多工作负载需归入正式运行配置,不能丢失启动命令、副本、数据和权限等差异。
|
||||||
|
|
||||||
|
旧代码或脚本复用需评估模型适配、权限、幂等、恢复、测试和维护成本。可以保留合格能力,也可以重写;迁移计划独立于代码复用决定。
|
||||||
|
|
||||||
|
## 后续架构讨论的产物
|
||||||
|
|
||||||
|
先完成概念关系及典型场景,再形成模块与数据所有权、应用和数据库候选比较、架构决策记录。最后细化表结构、API、事件、任务、权限和数据迁移契约。
|
||||||
|
|
||||||
|
AI 执行、构建、资源开通和发布都需有输入输出、授权、状态、恢复和成本边界。具体部署分工待目标设计确认,不把旧 CI 或脚本限制作为永久前提。
|
||||||
|
|
||||||
|
## 现状参考
|
||||||
|
|
||||||
|
旧代码只用于盘点和迁移分析,不是新系统的结构要求:
|
||||||
|
|
||||||
|
- [旧资源配置](<D:\work\env\config\k8s\webui\src\server\schema.ts>)
|
||||||
|
- [旧数据库结构](<D:\work\env\config\k8s\webui\src\server\migrate.ts>)
|
||||||
|
- [旧业务与运维接口](<D:\work\env\config\k8s\webui\src\server\index.ts>)
|
||||||
|
|
||||||
|
现网操作继续遵守当前运维规则。对新模型的讨论不触发生产改名、表结构变更或部署切换。
|
||||||
@@ -0,0 +1,167 @@
|
|||||||
|
# AI 软件交付与持续服务平台模板与 AI 工作流
|
||||||
|
|
||||||
|
状态:版本 0.14,更新日期 2026-10-12,阶段 6 工作流草案。首期熟客年付套餐、有限自动 AI/包含用量及人工;实际调用含失败/重试均消耗权益,超额扣充值积分。退役仅代码/配置归档,测试赠送细则后置。具体工具和执行参数待阶段 4/6。
|
||||||
|
|
||||||
|
自动交付需要把应用模板、开发规范、运行要求和验收方式变成可执行契约。模板可以新建或经评估复用;AI 负责范围内定制,平台负责任务授权、成本、资源及交付验证。
|
||||||
|
|
||||||
|
支持目录面向各行业的已接入容器化应用。基础系统可以来自自有代码或 GitHub 等来源;应用上架须形成可重复的运行、初始化、定制、验证及维护契约,并区分已支持版本与候选评估。
|
||||||
|
|
||||||
|
## 首期与后续执行方式
|
||||||
|
|
||||||
|
| 类型 | 执行方式与阶段 | 费用归属 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 简单固定运维 | 首期优先封装添加域名、添加邮箱等操作,由程序执行 | 按相应服务收费,无 AI 调用不产生 token 费 |
|
||||||
|
| 复杂定制开发 | 首期人工模式,内部设置金额,客户同意后执行并更新线上 | 人工费用另明示;项目 AI 调用照常计消耗,先抵扣包含用量,超额扣积分 |
|
||||||
|
| 自动 AI 定制 | 首期有限范围开放,内部判断、开发、检查并更新线上,需要人工则转换模式 | 先抵扣套餐包含用量,超额实际成本加价 20% 扣充值积分;失败/重试均记录真实消耗 |
|
||||||
|
| 供应商账号准备 | Cloudflare、Migadu 账号注册和池补充目前人工完成 | 按所购服务及采购规则处理,不假定自动注册 |
|
||||||
|
|
||||||
|
固定运维工作流先细化输入、项目与资源权限、实际供应商账号绑定、容量及前置条件、执行结果、重复请求和部分失败处理。已有账号操作、账号注册、域名购买和域名绑定需分开列步骤,不能用“添加域名”统称所有交易与运维行为。
|
||||||
|
|
||||||
|
可自动执行的操作清单后续逐项确认。封装为工作流不等于必须使用 AI,也不要求首期实现全部初始化、开发和数据流程;标准应用部署的自动执行范围另行确定。
|
||||||
|
|
||||||
|
## 模板的三层定义
|
||||||
|
|
||||||
|
系统模板决定有哪些功能和运行组件,例如展示站、带内容后台的网站或成熟开源应用。设计方案决定布局、风格和视觉规则。客户实例保存客户自己的内容、素材、功能配置和定制代码。
|
||||||
|
|
||||||
|
因此,不同视觉效果可以复用同一系统模板;更换系统模板可能涉及功能与数据迁移,不能等同于换主题。实际模板类型和覆盖范围待盘点。
|
||||||
|
|
||||||
|
## 模板契约草案
|
||||||
|
|
||||||
|
| 类别 | 需要明确的内容 |
|
||||||
|
| --- | --- |
|
||||||
|
| 身份与版本 | 模板标识、版本、仓库引用、维护人及授权条件 |
|
||||||
|
| 能力和限制 | 支持页面、后台能力、语言、可选功能、需人工处理的请求 |
|
||||||
|
| 开发规范 | 安装、构建、启动、验证命令及允许修改的区域 |
|
||||||
|
| 运行要求 | 端口、数据库、文件存储、环境变量、健康检查及资源档位 |
|
||||||
|
| 部署组成 | Web、worker、scheduler 等角色,启动方式、副本、依赖和允许覆盖的配置 |
|
||||||
|
| 必需与选配 | 由应用及版本声明必需组件、资源及可选服务;不套用所有应用统一数据库/PVC 清单 |
|
||||||
|
| 资源关联 | 代码来源、环境、namespace、数据库及存储的显式绑定,不依赖名称相等 |
|
||||||
|
| 数据与存储依赖 | 支持的引擎与版本、自建或托管数据库、卷访问模式与对象存储接口,不默认可互换 |
|
||||||
|
| 服务协作 | 跨项目 API、平台公共服务的接口、授权引用与依赖;同组不自动获得访问权限 |
|
||||||
|
| 交付标准 | 浏览器功能核对路径、响应式要求、内部检查和必需素材 |
|
||||||
|
| 发布策略 | CI/CD 接入、镜像规范、预览与生产发布约定 |
|
||||||
|
| 维护规则 | 数据迁移、备份、兼容性、依赖更新和升级方式 |
|
||||||
|
| 成本信息 | 预计步骤、用量区间、运行资源和人工风险项 |
|
||||||
|
|
||||||
|
推荐逻辑先按确定的功能和运行约束过滤,再由 AI 解释适配理由。没有能力依据的功能不能通过自然语言推荐变成套餐承诺。
|
||||||
|
|
||||||
|
模板缺少现成功能时,可推荐替代基础或人工评估。不同来源的模板,包括自有代码和成熟开源应用,记录已验证的扩展方式与技术约束,实际客户需求再逐单评估方案和工作范围。
|
||||||
|
|
||||||
|
上述契约用于说明系统和自动执行条件,不作为需求白名单。客户文字/附件自由提交,人工逐单评估方案和报价;首期有限 AI 则评估能否在已验证条件下自动完成,不适合则转换人工。
|
||||||
|
|
||||||
|
## 自动开发的工单评估
|
||||||
|
|
||||||
|
自动开发接收本次工单的文字和附件,结合当前应用、发起时版本、实际执行基准及授权范围内部判断。适合则自动开发并更新线上;判断需要人工则自动切换到原工单的人工模式,进入人工金额确认路径。沟通澄清走在线客服或 TG,不在工单添加评估对话、人工报价会话或每版客户验收。
|
||||||
|
|
||||||
|
原需求及附件保持可定位,新增/改变业务范围另建工单,客服聊天不扩大任务。失败后允许修订再试,建议固定需求修订和尝试编号,不覆盖旧输入、失败结果或费用。AI 和人工都以本次明确修订为执行依据,重试前重新核对运行版本与预算。
|
||||||
|
|
||||||
|
## 平台执行记录与第三方工作流:待评审建议
|
||||||
|
|
||||||
|
平台保存业务主记录,包括工单、需求修订、执行尝试、当前阶段、预算/费用、代码/产物与实际发布;内部执行器、Dify 等通过可替换适配器接入。是否使用第三方与是否记录可靠业务状态是两个问题,首期不需要先建完整可视化工作流编辑器。[Dify Workflow API](https://docs.dify.ai/en/api-reference/guides/workflow)
|
||||||
|
|
||||||
|
接入专题需要定义输入范围、附件提取结果、项目/APP 与基准引用、需求修订、工作流版本、授权及预算;外部执行 ID、阶段事件/查询、超时/停止能力、结果与成本来源;以及失败、转人工和发布成功的核验。按引擎实际能力接收事件或查询,不假定所有引擎有回调、断点恢复或代码操作能力。
|
||||||
|
|
||||||
|
重复或迟到事件不得重复扣款、重复发布或覆盖新尝试状态;失联先查实际进度,不能直接再次调用付费工作流。引擎成功不等于 Git 提交成功、构建成功或线上健康,平台核验后才更新客户结果。Git Issue 强制范围及同步协议阶段 4 讨论,多 APP 发布顺序及补偿恢复阶段 6 讨论。
|
||||||
|
|
||||||
|
附件允许清单与隔离处理见 02。解析输入不携带生产密钥,文档中的命令和网页不能自行改变执行授权。Word/PDF 图文提取、扫描与失败提示需有明确输出,具体工具未选。
|
||||||
|
|
||||||
|
执行完成回写需求对应的功能摘要、APP/版本和访问入口;技术明细可展开。失败回写原因、已保持/恢复的版本及下一操作;恢复失败转人工接管,不虚报回退成功。新增回执不改变客服/TG 独立沟通的边界。
|
||||||
|
|
||||||
|
自动判断依据应包含需求理解、依赖和开发环境、预计改动、数据结构影响、验证条件和预期效果。即使判断可自动处理,也需内部验证实际成果;无法收敛时保留原任务、代码与记录,转人工或进入明确失败处理,不让未完成的改动误标为已上线。
|
||||||
|
|
||||||
|
## AI 定制初版完整目标工作流草案
|
||||||
|
|
||||||
|
1. 校验执行资格:需求已达到可执行程度,订单权限、预算和权益满足条件。
|
||||||
|
2. 固定输入:保存本次需求、素材、模板版本、工作流版本和内部检查项。
|
||||||
|
3. 准备项目:按新领域模型和类型配置准备应用实例、工作负载、内部检查环境及代码来源。
|
||||||
|
4. 实例化模板:根据契约配置应用、CI/CD 和运行参数引用。
|
||||||
|
5. 制定开发计划:把需求转换为页面、内容及功能任务,检查是否超范围。
|
||||||
|
6. AI 开发:在隔离环境中修改代码,保存提交、日志和用量。
|
||||||
|
7. 执行检查:构建、类型检查、相关功能测试、浏览器操作和视觉检查。
|
||||||
|
8. 有限修复:对检查失败执行受预算和次数约束的修复,无法收敛时转等待或异常状态。
|
||||||
|
9. 构建部署:形成可追踪产物,检查后按明确绑定更新线上;旧链路是否复用另行评估。
|
||||||
|
10. 记录完成:保存线上访问方式、版本、检查及发布结果,客户直接查看更新效果,不等待客户验收预览。
|
||||||
|
|
||||||
|
任务中可以按阶段划分不同职责,但是否使用多个代理及具体模型策略尚未决定。AI 模型调用入口采用 OpenRouter,执行引擎与路由实现后定。先定义可靠流程和输入输出,再选择执行工具。
|
||||||
|
|
||||||
|
## AI 修改工作流草案
|
||||||
|
|
||||||
|
工单先固定基准版本和修改范围,进行复杂度与权益检查,再针对现有代码产生改动。验证应覆盖修改目标和受影响的已有功能,不能只确认页面能打开。
|
||||||
|
|
||||||
|
检查后直接更新线上,记录该工单对应的改动和有效版本。发布前核对线上版本是否改变,避免旧任务覆盖其他已完成成果。后续反馈走客服渠道,不把同一工单变成持续聊天与无限改动循环。
|
||||||
|
|
||||||
|
## 人工与自动处理共用的版本流程建议
|
||||||
|
|
||||||
|
1. 工单提交时关联目标应用、环境及当时的有效版本,保存需求与附件版本。
|
||||||
|
2. 接到执行任务后再次核对当前版本,固定实际开发基准;与提交时不同则处理依赖和冲突,保留两个基准。
|
||||||
|
3. 在隔离的工作分支或工作区执行改动,按需关联 Git Issue 和 PR,记录处理人员或工作流、提交及费用。
|
||||||
|
4. 各次执行和内部修复保留成果引用,记录构建、镜像或产物、配置及必要的数据迁移信息,不覆盖此前成果记录。
|
||||||
|
5. 内部验证后直接更新线上并记录结果;Issue 关闭和代码合并不能代替线上更新成功,不增加默认客户验收步骤。
|
||||||
|
6. 客户申请回到历史工单发起前版本时,选定对应目标,核对产物、配置、当前数据兼容及正在执行的工单,按确认的恢复范围执行。
|
||||||
|
7. 回退生成新的执行和部署记录;后续开发以恢复后的有效版本为依据,保留旧工单、成果、客服关联和账目。
|
||||||
|
|
||||||
|
这套关联能力适用于首期人工及有限自动定制。独立分支、PR 门禁及发布顺序仍是建议,具体工程工具与强制规则待定。
|
||||||
|
|
||||||
|
工单限单个项目,可涉及多个 APP;内部任务分别执行但形成明确项目发布组合,记录各 APP 的实际 Git 提交、产物、配置、结构版本及恢复点。未改变 APP 的当前版本也纳入组合核对;共享数据库变化需覆盖全部受影响组件。发布不是多个独立部署天然具有的原子事务,必须规划兼容顺序与部分失败恢复。
|
||||||
|
|
||||||
|
数据保护建议按风险执行:纯样式修改保留代码与产物;迁移结构、改写记录或卷内文件前建立可用恢复点。小数据可逻辑备份,高频/较大数据评估引擎日志与时间点恢复,卷使用受支持快照并配合集群外备份。备份与文件需协调一致性,恢复到隔离目标验证后切换;共享数据库实例不能整实例回退而伤及其他项目。具体工具与保留策略待设计,不视为现网配置已完成。
|
||||||
|
|
||||||
|
整版回退会使目标之后的应用改动不再生效;保留后续成果、仅撤销某张工单需评估依赖并形成新成果。数据恢复方式、产物保留期限和历史版本的长期重建能力尚未定案,不能将恢复操作简化为对仓库强制回退。
|
||||||
|
|
||||||
|
## 数据与持续服务工作流素材
|
||||||
|
|
||||||
|
阶段 2 补充的资源与协作目标需进入后续运行契约:Web 与 worker 的配置和依赖分别表达,共享资源显式绑定;数据库、卷和对象存储按真实能力接入。更换供应商需执行数据迁移、兼容验证和切换,不能只替换连接地址。API 使用授权与平台公共服务订阅分别校验。具体供应商适配和自动开通不作为本轮首期承诺,详见 03。
|
||||||
|
|
||||||
|
数据任务以源数据、目标应用、映射、批次和结果核对记录为输入输出,不要求形成代码版本。电商样本可参考“快照与字段映射、按源 ID 导入、图片同步、翻译、数字及结构校验、写入、结果核对”的组合;一次性迁移与增量同步应分别定义。
|
||||||
|
|
||||||
|
AI 判断和程序执行需分别表达。需求分析、映射建议及翻译可用 AI;数值与格式校验、去重、批量提交和进度保存由明确程序完成。人工在对话中做出的选择,需转换为可记录的规则或确认节点,不能假设全都可自动决策。
|
||||||
|
|
||||||
|
平台开发和运维任务与客户应用内部任务不同。Content Hub 的采集及分发属于被交付应用运行能力,平台管理其版本、资源与服务;不能把它与建站平台自身的交付队列混为一体。
|
||||||
|
|
||||||
|
## 检查层次
|
||||||
|
|
||||||
|
- 工程检查:安装和构建成功,类型及静态检查符合模板规范,没有密钥进入交付产物。
|
||||||
|
- 功能检查:按订单范围执行关键路径,如导航、表单、后台权限或语言切换。
|
||||||
|
- 浏览器检查:目标屏幕尺寸可使用,主要交互正常,没有阻断性的控制台异常。
|
||||||
|
- 视觉检查:检查明显溢出、缺图、布局及文字可读性;高级审美判断和客户满意度不能由构建成功替代。
|
||||||
|
- 发布检查:版本、镜像、线上实际状态和资产记录一致。
|
||||||
|
|
||||||
|
检查需依据本次明确需求,构建成功不代表业务效果必然满足。检查与上线结果属于执行记录,客户不满意可回退并通过客服反馈,不因此把验收确认设为自动工单的默认发布门槛。
|
||||||
|
|
||||||
|
## 直接线上更新与内部检查
|
||||||
|
|
||||||
|
工单处理目标是直接更新客户正在访问的线上应用。开发和检查可使用隔离环境、临时预览或测试数据,但不要求客户先查看该环境再批准发布。客户运行演示应用或使用默认域名的场景仍保留,不将其等同于每张工单的验收流程。
|
||||||
|
|
||||||
|
模板不能依赖在客户生产环境直接编辑源代码。CI 构建可追踪镜像,发布引用不可变版本或 digest,保留上一可用产物。当前部分部署沿用 `latest` 的方式需要评估适配,不能把此方案当作已实现能力。
|
||||||
|
|
||||||
|
数据库迁移需考虑新旧应用兼容。破坏性迁移、客户数据修改或恢复必须有专门计划;镜像回滚不承诺自动恢复数据库和上传文件。
|
||||||
|
|
||||||
|
默认建站域统一经预览保护入口访问,不作为客户正式公开网站。未来临时沙盒另有入口及有效期,默认隔离持续实例的可写数据和真实业务副作用。域名通过明确端点绑定分配,不依赖项目编号、仓库或 namespace 名称。
|
||||||
|
|
||||||
|
资源释放任务检查实际引用、归属、宽限期与进行中的操作;最后引用移除前提示客户,零引用不直接等同于立即执行 PVC/数据库删除。三天是用户举例的候选参数,备份保留及独立服务不套用 APP 引用自动清理。
|
||||||
|
|
||||||
|
发布顺序、失败恢复及内部检查标准后续制定;自动和人工处理完成均关联实际线上版本。
|
||||||
|
|
||||||
|
## 失败与人工接续
|
||||||
|
|
||||||
|
| 情况 | 建议处理 |
|
||||||
|
| --- | --- |
|
||||||
|
| 需求或素材不全 | 等待客户补充,保留当前任务产物 |
|
||||||
|
| 模板能力不匹配 | 回到方案确认或人工评估 |
|
||||||
|
| AI 检查无法通过 | 达到修复限制后停止,保留错误和代码 |
|
||||||
|
| 资源、仓库或 CI 故障 | 修复外部依赖后从已记录阶段恢复 |
|
||||||
|
| 成本或时长超限 | 停止后续执行,展示追加权益或人工路径 |
|
||||||
|
| 客户取消 | 停止未完成步骤,按保留策略处理临时资源 |
|
||||||
|
| 发布失败或新版不可运行 | 发布前保持原版本,发布后按恢复计划回退并核验;恢复异常转人工 |
|
||||||
|
|
||||||
|
失败后客户可修订需求再试,保留前次输入、执行与费用,回执指明有效线上版本。费用按 05 已明确规则:项目 AI 实际调用含失败/重试/转人工均消耗权益,超额扣充值积分,充值不足停止新调用。验收可触发有限修复,每次调用仍计消耗,预算/次数控制避免无限循环,不把未过验收当免费推理。
|
||||||
|
|
||||||
|
主动退役核对引用后停止/释放运行组件、数据库、文件和相关备份,仅存代码、依赖/构建说明和启动配置;再部署初始化新业务,不恢复原数据或按月退款。不必长期保留全部镜像,可从归档材料重建。到期未续费仍先停外部访问,业务数据最多保留一周,与主动退役不同;独立服务分别管理,执行顺序阶段 6 验证。
|
||||||
|
|
||||||
|
未来测试赠送实例只支持受保护预览,不得正式绑定域名;平台可撤销/销毁测试资源。测试权限与真实充值、正式年付包含用量分开校验,不能让免费权益执行正式资源采购。首期不实现新客赠送策略和完整试用转正式工作流。
|
||||||
|
|
||||||
|
人工接续材料包括需求版本、模板版本、基准提交、当前代码、预览、检查报告、用量及已尝试的修复。人工交付后将结果回写同一任务、工单和版本链路。
|
||||||
|
|
||||||
|
## 模板升级
|
||||||
|
|
||||||
|
客户实例固定模板来源和版本。模板更新不应直接覆盖所有已定制客户实例;通用缺陷、安全修复和功能升级需分别评估兼容性,生成升级任务并验证。
|
||||||
@@ -0,0 +1,232 @@
|
|||||||
|
# AI 软件交付与持续服务平台商业模式与成本指标
|
||||||
|
|
||||||
|
状态:版本 0.15,更新日期 2026-10-13。2026-10-13 会议认为此前统一计费太麻烦,改为按客户使用不同模式。暂时只记下面两种,依据 D088。后文年付、积分和加价是改模式之前的基线,两种模式怎样使用或替换那些规则尚未说明。
|
||||||
|
|
||||||
|
## 2026-10-13 按客户区分的两种计费模式
|
||||||
|
|
||||||
|
不同客户使用不同模式。当前只记录这两种。
|
||||||
|
|
||||||
|
| 模式 | 客户侧 | 平台侧 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 用户报价模式 | 创建时做出选择,并带上报价 | 后台查看选择和报价,决定是否启动 |
|
||||||
|
| 用户自由模式 | 自由选择配置和 token 数量 | 费用从预充值扣除 |
|
||||||
|
|
||||||
|
报价模式在后台决定启动之前,不把创建当成已经开通。自由模式的预充值沿用已有充值余额的方向,token 数量与此前“按实际模型成本折积分”是否同一套账,尚未写明。
|
||||||
|
|
||||||
|
## 商业定位与独立选配
|
||||||
|
|
||||||
|
核心销售是可稳定运行的应用封装和 AI/团队的二次开发能力。首期人工与有限自动定制并存,年付套餐包含开发/运维及 AI 用量,超额按真实调用计费;公开测试赠送以后设计。自动 AI 消耗不保证满意成果,工作流封装与质量改善仍是服务价值,不改变整体应用定制定位。
|
||||||
|
|
||||||
|
基础应用、标准部署、运行资源、域名和邮箱帮助客户了解、体验和使用平台,支撑定制成果上线,并以不亏本为原则收费。基础服务可有加价和必要收益,但不作为核心销售目标;二次开发与系统定制承担核心价值销售。实际收入占比需运营后观察,不在规划中预设运行资源是主要收入。
|
||||||
|
|
||||||
|
域名、邮箱等仍可独立选配;年付套餐可以合并应用技术封装、约定的初始开发、运行维护及包含的 AI 用量,不要求把开发费全都另开一次性订单。复杂新增需求仍可人工逐单报价。基础服务持续覆盖成本,套餐不得因提前退役按月摊退而损失已完成开发的收入。
|
||||||
|
|
||||||
|
## 技术封装、获客与定制成交
|
||||||
|
|
||||||
|
应用目录中积累的接入配置、运行组成、部署维护、可修改边界和验证方法构成可复用的技术能力。开源应用可以作为基础,团队的封装与交付能力让后续定制能够在已有基础上实施,而不必每单重新调通整个系统。
|
||||||
|
|
||||||
|
建议围绕“展示能做什么、客户体验基础应用、提交业务差异、评估报价或选择已开放 AI 服务、交付定制成果、后续持续调整”组织客户路径。这是待细化的销售流程,不假定所有客户都会购买定制,也不承诺任何需求都可自动完成。
|
||||||
|
|
||||||
|
客户将一次明确改动以文字和文档附件提交工单,选择自动或人工模式,不用预设定制能力清单限制提交。自动模式由 AI 判断并开发上线,需要人工时自动转入原工单的人工模式;人工内部设置价格,客户在系统中同意或拒绝金额。需求澄清、价格沟通及后续反馈走在线客服或 Telegram;TG 机器人作为沟通接入候选。
|
||||||
|
|
||||||
|
已确认原需求和附件不被覆盖,新增或改变业务范围另建工单,客服消息不自动扩大原范围。失败后允许修订需求再试,建议保留同工单的修订与各次尝试;本次失败修复、真正新增需求和相应费用仍需细化,不能因出现重试按钮就承诺无限免费返工。
|
||||||
|
|
||||||
|
定制报价与 AI 成本计费仍按已确认规则执行。成本加价是收费计算方式,不能代替对交付价值、任务边界与客户成果的说明。定制服务需要分别核算 AI、人工、验证和返工成本,判断现有价格能否支持持续交付,不在本轮擅自改变报价方式或 20% 加价方向。
|
||||||
|
|
||||||
|
## 已确认的收费方式
|
||||||
|
|
||||||
|
| 服务项 | 已确认的计费方向 | 当前交付边界 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 年付应用套餐及运行配置 | 按年购买,可包含约定开发/运维和 AI 用量;配置档位由后台管理 | 资源有可解释成本与档位,前台不必拆成灵活 VPS 账单;扩容另按规则 |
|
||||||
|
| 已接入开源应用标准部署 | 不另收部署费,运行资源正常收费 | 已调通的应用版本按标准配置部署;目录外接入另评估 |
|
||||||
|
| 人工定制 | 内部评估设置金额,客户同意后执行 | 首期复杂开发由人员处理并更新线上,价格协商通过客服 |
|
||||||
|
| AI 定制 | 先抵扣套餐包含用量,超出后实际模型成本加价,当前拟加价 20%,充值积分支付 | 成功/失败/重试/转人工均计算实际已消耗用量;测试赠送另作隔离权益 |
|
||||||
|
| 域名购买 | Gname 购买成本加平台服务费 | 独立收费;注册、续费与其他域名操作价格需分别确定 |
|
||||||
|
| 共享企业邮箱 | 平台制定包年共享邮箱服务价目 | Migadu 账号池内分配,计价对象与客户额度待定 |
|
||||||
|
| 独享企业邮箱 | 单独定价,经工单人工处理 | 为更强收发需求准备独享 Migadu 账号,注册目前人工完成 |
|
||||||
|
| 外部托管资源 | 用户提出第三方成本加 20% 服务费,后台可调整 | 外部数据库与云存储纳入未来能力;供应商、共享分摊及浮动成本结算待定 |
|
||||||
|
| 平台公共 API 服务 | 独立选配并收费 | 持续基础服务包年;接口权益、额度与超额计量后续确定 |
|
||||||
|
|
||||||
|
典型组合:仅运行预览应用并使用平台默认域名,收运行资源费但不开放默认域作为正式公开入口;托管加购买域名,产生两类账目;仅购买域名或邮箱,不创建无关的 Web 运行资源或 AI 任务。购买邮箱需要可验证的域名资源,正式上线允许客户自有域名绑定或平台代购。
|
||||||
|
|
||||||
|
默认建站域名由平台提供,可为三级或四级域名,仅用于受保护测试/预览,不允许客户将其作为正式公开站点。默认预览入口和独立域名路径分别管理;没有独立域名不代表无实际运行资源。正式域名可平台代购或自有绑定,自有域名接入服务价目后定。免责声明/验证码不作为已获得法律免责的承诺。
|
||||||
|
|
||||||
|
## 运行资源订阅
|
||||||
|
|
||||||
|
客户按年购买套餐及配置,不按实际瞬时使用量、小时或退役前用了几天结算。应用运行情况用于容量管理、告警和扩容建议,不直接变成另一路按量账单。年费可覆盖已投入的开发与运维,即使客户提前停止使用,已完成的开发成本仍然存在。
|
||||||
|
|
||||||
|
配置档位需体现应用真实组成,包括 Web、worker、scheduler 等工作负载以及数据库、缓存和存储依赖。报价不能只覆盖 Web 容器,遗漏后台组件;同一资源也不能因关联多个组件而重复计算。
|
||||||
|
|
||||||
|
资源价格参考基础设施成本,由平台后台设置。供应商整机费用、K8s 可售容量及客户资源档位不是天然一一对应,需要定义成本分摊和容量余量,不能把整台服务器成本重复转嫁给每个项目。
|
||||||
|
|
||||||
|
待细化:CPU 与内存如何定义购买量;数据库是包含的能力还是可选项;持久卷、备份和额外环境包含多少;扩容差价的计算、生效和续费;缩容及退款规则。不能仅因采用 K8s 就把资源限制方式或存储产品选型当作已定案。
|
||||||
|
|
||||||
|
## 多应用项目的资源费用归属
|
||||||
|
|
||||||
|
项目负责汇总购买项;APP 或 namespace 的数量不直接决定价格。Web、worker 等组件分别覆盖实际购买的资源配置,共享数据库、存储分别计算一次。APP 按完整软件实例定义、组件表达运行单元的分层已确认。
|
||||||
|
|
||||||
|
建议账目能解释到具体服务购买项及其使用关系:
|
||||||
|
|
||||||
|
| 购买项 | 核算方式与展示建议 |
|
||||||
|
| --- | --- |
|
||||||
|
| Web、worker 等计算配置 | 按购买的配置档位与副本范围覆盖资源,年付;扩容调整对应项 |
|
||||||
|
| 数据库、缓存、持久存储 | 单独购买或明确包含在组合套餐;多个应用共享同一份资源不重复收费 |
|
||||||
|
| 域名、邮箱、公共 API | 各自服务规则产生费用,关联使用项目,不重复包含全部项目计算配置 |
|
||||||
|
| 人工或 AI 定制工单 | 按既定模式计费,区别于持续运行资源费用 |
|
||||||
|
|
||||||
|
组合示例:`项目周期基础费用 = Web 配置费 + worker 配置费 + 一份共享数据库费 + 一份共享存储费 + 选配服务费`。人工/AI 定制、域名采购等按其发生时间和规则另列账目,不能为了展示一个合计就混淆周期。若售卖组合套餐,已包含的资源不再逐项叠加收费。
|
||||||
|
|
||||||
|
项目组可用于汇总客户多个项目的账目,但分组不是新的资源消耗单位。采用单层、项目单归属,不需要多组或嵌套。客户整理分组不自动影响价格;平台行业/价格政策单独配置,移动分组不改写历史账目。业务默认项目逻辑数据库独立,同项目 APP 可共享;供应商成本池需明确各服务份额,不能在每个项目都列出整笔费用。
|
||||||
|
|
||||||
|
客户删除 APP 或退役时,资源按引用和已提示的释放规则处理,年度购买记录不变成按小时/月账目,首期不退钱。三天是最后引用释放期候选,不是退款依据;主动退役不保留占用资源的业务数据/备份,代码和配置另留。
|
||||||
|
|
||||||
|
## 外部托管数据库与存储的成本转售
|
||||||
|
|
||||||
|
用户提出未来接入 RDS 类托管数据库及第三方云存储,第三方服务成本加 20% 服务费,后台可调。此方向不意味着必须首期接入,也未选定供应商。自建资源可保留为另一供应方式;不同引擎、区域和存储能力对应不同服务规格。
|
||||||
|
|
||||||
|
`客户外部资源费用 = 按规则归属客户的第三方成本 × (1 + 服务费比例)`
|
||||||
|
|
||||||
|
当前方向为 20% 成本加价。独享供应商实例可直接归属成本;共享供应商实例承载多个项目时,先按明确的规格/容量或其他规则形成服务份额,再计算各自收费。不能将整笔共享实例费用分别乘 1.20 后收给每个项目,也不能忽略未售容量由平台承担的成本。
|
||||||
|
|
||||||
|
采购账目和客户应收分别保存,采用当期价格规则。数据库规格、存储、备份、网络传输及请求等是否包含、怎样归属需按实际供应商产品核对;不能仅对一个标价加价就认为成本已完整覆盖。
|
||||||
|
|
||||||
|
K8s 计算配置继续采用已确认的固定档位订阅。第三方可能有浮动成本,客户结算方式尚未选择:可以是含额度的固定套餐及超额规则,也可以是可归属实际成本加价;进入阶段 3 比较,不默认为客户开启无限按量费用。试运行、扩缩容、跨供应商迁移和采购结束时点也需定义,避免新旧资源重叠时账目含糊。
|
||||||
|
|
||||||
|
## 平台公共 API 与项目间协作
|
||||||
|
|
||||||
|
平台维护的新闻 API 等公共应用,资源采购属于平台服务成本;客户购买 API 使用权益,可关联客户项目,不必每位客户部署一份相同应用。平台可以另提供专属实例产品,但不能把公共订阅自动算成专属部署。
|
||||||
|
|
||||||
|
公共 API 的服务规格需表达允许使用的接口、额度和限制,计价单位、周期与超额方式另定。平台成本与全部订阅收入共同核算,不能向每个订阅客户重复转嫁整个服务实例采购费。
|
||||||
|
|
||||||
|
同一客户的评价网与内容中心通过 API 协作,是两个项目之间的使用关系;仅存在这种关系不自动产生一笔额外平台 API 费用。客户购买平台公共服务、购买另一个独立收费服务,以及自己两个应用互相调用需要区分。
|
||||||
|
|
||||||
|
以上用于保证基础与公共服务有清楚的成本和权益边界。二次开发和系统定制仍是核心销售,新增资源类型不改变产品定位。
|
||||||
|
|
||||||
|
## 人工定制与 AI 定制
|
||||||
|
|
||||||
|
人工模式流程已明确:提交任务或由自动模式转入、内部评估设置金额、系统提示价格、客户同意或拒绝、同意后执行并更新线上。金额确认类似网购改价,不包含价格协商文字;协商由客服完成,反馈不在工单内持续讨论。支付时点及状态细化见 02。
|
||||||
|
|
||||||
|
自动模式提交后按既有 AI 计费规则处理,不增加人工报价确认或每次客户验收预览的环节。内部检查后直接更新线上;判定需要人工则转换模式,转换后才进行人工金额确认。
|
||||||
|
|
||||||
|
本轮修订早期“人工模式不另计 AI”前提:无论自动、人工还是自动转人工,归属于客户项目的实际 AI 调用均记录消耗,先抵扣套餐包含用量,超过后客户付费。人工服务金额与超额 AI 积分分开说明;报价不能把同一调用已经包含并扣除后又重复收费。人员用于平台研发等不属于客户项目的调用不转记客户工单。
|
||||||
|
|
||||||
|
AI 工作流统一经 OpenRouter 调用模型。先抵扣套餐包含权益,超额调用当前的计价方向为:
|
||||||
|
|
||||||
|
`调用计价金额 = 归属该项目的实际模型调用成本 × (1 + 平台加价比例)`
|
||||||
|
|
||||||
|
`超额应扣积分 = 扣除套餐包含权益后的计价金额 × 每美元积分数`
|
||||||
|
|
||||||
|
当前比例为 20%;成本为 1 个计价单位时,客户费用为 1.20,加价部分为 0.20。这是成本加价比例,不是销售额的 20% 利润率。
|
||||||
|
|
||||||
|
技术计量建议保存模型、请求标识、输入输出与缓存等 token 用量、供应商报告成本、所属工单和采用的价格规则。不同模型及 token 类别价格不同,不能把全部 token 合并乘一个通用单价。OpenRouter 官方文档支持返回用量与费用,建议以平台账户实际扣费口径核对。[OpenRouter Usage Accounting](https://openrouter.ai/docs/cookbook/administration/usage-accounting)
|
||||||
|
|
||||||
|
用户明确按消耗收费,不以 AI 成果满意或开发成功作为扣费条件。分析、修改、验收后的继续修复、失败重试和转人工前后已产生的项目调用均消耗权益;已消耗部分不因回退或拒绝人工报价自动退还。未发生实际费用的请求不能虚构 token 费用;重复回调不得重复记同一调用。平台有验收和改善工作流质量的责任,但不将“验收没过”变成该次推理免费。
|
||||||
|
|
||||||
|
自动修复仍应有循环/预算控制,避免一直验收失败就无限花费;这是执行控制,不是结果退款政策。套餐用量耗尽后从客户充值积分扣除,充值不足时暂停新调用并提示充值,已付年费的运行服务不受 AI 余额影响。当前余额足够也不默认无限循环,具体任务上限阶段 6 设置。
|
||||||
|
|
||||||
|
添加域名、添加邮箱等固定运维操作如果由程序直接执行,不应因被封装成工作流就产生 token 费用。它们的收费归入相应服务产品,不另假定收费项目。
|
||||||
|
|
||||||
|
## 充值积分、套餐包含用量与测试赠送
|
||||||
|
|
||||||
|
确定采用预充值积分消费,不再比较按任务付款或事后账单。推荐初始比例为 **1 USD = 100 积分**,即 1 积分对应 0.01 USD 计价价值。充值 10 USD 得 1000 积分;超额 AI 实际成本 1 USD、加价 20% 时扣 120 积分。比例是平台产品设计选择,不是法币汇率;其他充值币种折算与渠道未选。历史充值与订单保存当时规则,不用后来换比例改写余额价值。
|
||||||
|
|
||||||
|
支持积分小数,内部按精确金额累计,不能把每次很小的调用都向上取整到 1 积分。积分不是 token 数,token 用量、供应商实际成本、套餐抵扣和应扣积分分别可解释。OpenRouter 的实际账户扣费可作为调用成本依据,不用估算输出字数替代成本。[OpenRouter 用量计量](https://openrouter.ai/docs/cookbook/administration/usage-accounting)
|
||||||
|
|
||||||
|
| 权益 | 用途与边界 |
|
||||||
|
| --- | --- |
|
||||||
|
| 充值积分 | 客户真实充值余额,用于正常购买/消费,不能混入测试赠送 |
|
||||||
|
| 年付套餐包含 AI 用量 | 已购买正式服务内包含的开发用量,正式项目可使用,超出后扣充值积分;不是新客测试积分 |
|
||||||
|
| 新客测试赠送 | 后续公开获客体验权益,永远只用于测试,不转为真实余额,不支付正式套餐或正式域名/邮箱 |
|
||||||
|
|
||||||
|
首期面向熟客,包含用量由后台按合作约定配置,不继续讨论复杂赠送频率、结转、促销或防批量注册模型。正式套餐内包含用量与公开新客试用不能合称一个无限制的“免费额度”。后台可配置固定项目服务费、包含 AI 用量和超额费率;中介仍是普通客户。模型成本预算可作内部计量方案,授予策略细则后续成熟再设计。
|
||||||
|
|
||||||
|
未来由测试赠送开通的部署只支持受保护预览,不能绑定任何正式域名上线,包括客户自有域名。平台保留撤销测试权益及销毁测试部署的权利,用户应明确其可随时终止、不作生产/业务数据保留承诺;具体限额、期限、滥用处置和正式购买衔接后置,不能据此删除客户已付费正式资源。绑定限制必须是资源/服务资格校验,而不是仅在向导隐藏按钮。
|
||||||
|
|
||||||
|
客户或价格客户组可作为合作政策的匹配目标,客户自行整理的项目组仍不自动改变价格。未来可预留不同退役结算政策;首期仅启用年付不退,不实现按月折价退款逻辑。
|
||||||
|
|
||||||
|
## 首期熟客试用与系统外差额处理
|
||||||
|
|
||||||
|
用户最终明确首期只由深度合作的既有中介客户使用,属于测试和试运营;客户仍使用普通账户。长期公开网站、SEO/广告引流与面向散户的目标不变,但不把公开陌生客户的完整商业服务要求同时视为首期验收前提。
|
||||||
|
|
||||||
|
沿用既有合作的年度项目套餐价,为客户配置固定项目服务费,结合资源和选配项形成谈好的合计。套餐可覆盖初始开发、运维和包含 AI 用量,不必把开发价独立收取。年费 1200 的示例包含已经完成的开发,使用一个月就按 100 计费退款会使开发收入不足;首期不采用这种结算。
|
||||||
|
|
||||||
|
首期不提供系统内退款功能或按月/按小时折价引擎,提前退役释放资源但不退年费。特殊退款或多退少补双方系统外处理,建议后台保留人工备注及订单关联,不覆盖原收费记录或伪造自动退款。消费模式为预充值积分,实际充值渠道与人工入账方式另定。
|
||||||
|
|
||||||
|
开通异常优先人工排查并修复,是否退款由既有合作双方系统外处理。将来公开经营时,付款后开通失败的客服申请退款路径再细化;不做无条件自动一键退款。支付/供应商结果不明仍先核对,避免重复采购、开通或扣款。渠道手续费归属尚未决定。
|
||||||
|
|
||||||
|
人工价格被拒绝时停止该次改动,不终止有效套餐。AI 技术失败先保持或恢复可用版本并回执失败,实际已消耗调用仍扣包含权益/充值积分。AI 消耗收费与人工明确交付约定、基础服务可用性是不同事项,不能把所有服务都解释成单纯 token 交易。
|
||||||
|
|
||||||
|
用户原则上希望所有服务按年付款及结算,域名/邮箱也按年,不将 VPS 灵活计费模式作为平台默认。未来可按客户或价格客户组例外配置退役结算政策;按月折价仅作未启用扩展候选,不作为首期标准,也不要求为此拆分整个年度开发价。
|
||||||
|
|
||||||
|
公开经营时的退款条款需符合经营主体、服务地区和客户性质对应的适用法律;当前地区事实仍缺。首期不建设退款模块是产品范围决定,不作为排除法定权利的声明。
|
||||||
|
|
||||||
|
## 年度变更与到期权益
|
||||||
|
|
||||||
|
扩容、增加 APP 和符合条件的计算减配属于现有项目配置变更;存储缩小可能是另一个迁移任务。建议分别记录原/新价、剩余周期、服务生效及结果,具体差价如何收退或下周期生效待定,技术上能减配不意味着必须承诺立即现金退款。
|
||||||
|
|
||||||
|
退役释放计算、数据库、卷、运行数据与相关占资源备份,不保留原业务;仅留代码、启动环境配置、依赖/构建说明等轻量可重建材料,不因保留 Git 就保留 PVC 或全部镜像。低成本代码归档属于有意保留的例外。重新部署以代码初始化新业务环境,不恢复数据、不计算退役前后的退款差额;具体重新部署的订单操作以后从简定义,不据此启用年内按月退款。已购买域名和邮箱仍按各自年度服务独立管理。
|
||||||
|
|
||||||
|
到期前邮件提醒;未续费到期后停止外部访问,业务数据最多保留一周。提醒日期、保留起点和截止时刻、期间运行成本、续费恢复、备份清除及之后重新部署的收费规则继续细化。域名、邮箱、API 分别管理到期及采购承诺,不因运行服务到期自动全部退款或注销。
|
||||||
|
|
||||||
|
## 域名价格
|
||||||
|
|
||||||
|
采购来源为 Gname,按域名采购成本加平台服务费定价。后台可调整服务费参数;按固定额、比例或不同后缀分别设置的方式待定。
|
||||||
|
|
||||||
|
域名注册、续费和转移是不同业务动作,具体价格及可提供范围另定。客户自有域名绑定与平台代购也分别记录,不能因“添加域名”自动推断需要采购或产生采购账目。
|
||||||
|
|
||||||
|
后台调整价格时应明确对新订单与已有域名续费的影响;注册前需完成可用性和价格确认,执行失败或采购结果不明的对账规则后续制定。
|
||||||
|
|
||||||
|
## 企业邮箱与账号池
|
||||||
|
|
||||||
|
共享服务使用 Migadu 账号池;更高收发需求可申请独享 Migadu 账号,通过人工工单准备。账号注册、购买和池准备目前不能假定全部自动完成;已有有效账号上的域名和邮箱开通可逐步封装为固定流程。
|
||||||
|
|
||||||
|
用户举例为供应商 90 美元、共享池约 100 个域名、向客户收费 10 美元。保留该运营设想,持续服务按包年方向,零售 10 美元的计价对象仍待细化。2026-10-10 核对官方价目,Mini 列价为 90 美元/年;该外部价格是本轮参考,正式运营按届时供应商价目和实际采购记录维护。[Migadu Pricing](https://www.migadu.com/pricing/)
|
||||||
|
|
||||||
|
Migadu 的额度按整个账号计量,池内域名和邮箱共同消耗收发与存储容量。因此“100 个域名”是平台拟定的分配参数,不是每个域名都获得一个供应商套餐,也不是官方保证可以承载任意使用强度的容量。客户零售价与共享池批发成本应分别保存。[Migadu 账号额度说明](https://www.migadu.com/pricing/)
|
||||||
|
|
||||||
|
持续邮箱服务按包年方向;仍需细化零售计价单位、允许的域名与邮箱数量、收发与存储额度、扩容或升级条件,以及共享转独享的服务衔接。10 美元示例的计价对象尚未确定,不能在此自动定为每域名每年。具体限额需核对供应商可执行能力。
|
||||||
|
|
||||||
|
## Cloudflare 等供应商账号池
|
||||||
|
|
||||||
|
Cloudflare 账号目前由人工注册和准备。平台需要录入可用账号、配置引用、容量或使用状态及资源绑定,再按明确政策分配客户域名和应用入口。
|
||||||
|
|
||||||
|
分组分配用于减少单个供应商账号的故障、信誉问题或停用影响其他客户的范围。发现不合规客户时的处置与隔离政策后续制定,账号池不能保证客户之间完全不存在供应商层面的关联风险。
|
||||||
|
|
||||||
|
项目业务分组、价格分类和供应商分配各自保存用途,不预设三者一一对应。Cloudflare 账号池和 Migadu 账号池也不能合并成一个笼统的客户分组;分配规则、凭据引用、维护和人工补充需要独立表达。
|
||||||
|
|
||||||
|
## 后台价格参数与历史账目
|
||||||
|
|
||||||
|
后台调整定价参数是明确要求,以下是待细化的参数分类,不是已冻结的界面或数据库字段:
|
||||||
|
|
||||||
|
| 参数类别 | 示例 |
|
||||||
|
| --- | --- |
|
||||||
|
| 资源规格及订阅价 | CPU、内存、数据库能力、存储容量、年价、扩容差价规则 |
|
||||||
|
| AI 服务 | 当前 20% 加价比例、允许模型、任务预算、套餐包含用量和超额积分;新客测试赠送细则后置 |
|
||||||
|
| 域名服务 | 采购成本、服务费方式、注册与续费分别定价 |
|
||||||
|
| 邮箱服务 | 共享与独享规格、零售价、周期、客户额度及池容量 |
|
||||||
|
| 差异定价 | 客户/价格客户组政策、固定项目服务费、包含用量;退役默认不退费,例外结算模式仅预留 |
|
||||||
|
| 供应商成本 | 采购价、有效日期、成本分摊依据 |
|
||||||
|
| 外部托管资源 | 当前 20% 服务费方向、引擎/区域/规格、共享份额、包含额度及浮动成本规则 |
|
||||||
|
| 公共 API 产品 | 周期、接口权益、调用额度与超额方式,具体参数待定 |
|
||||||
|
|
||||||
|
建议价格规则版本化,订单、人工报价和用量结算保存当时的规则、金额与服务范围。后续调价或移动分组不修改已形成的历史账目;已有订阅下一周期怎样适用新价需明确规则。
|
||||||
|
|
||||||
|
年度套餐、域名、邮箱、人工工单和超额 AI 可分别解释收费项,通过充值积分消费。可向客户展示套餐合计,无需把开发/运维拆成小时用量;充值、消费、包含用量抵扣和测试权益分别记录。多币种、充值渠道与续费操作后续细化,不据此提前决定数据库。
|
||||||
|
|
||||||
|
## 成本核算与阶段指标
|
||||||
|
|
||||||
|
客户售价与平台成本分别核算:资源采购和闲置容量、存储备份、域名与邮箱供应商费用、AI 调用、人工评估沟通和开发、平台研发运维及获客。共享资源有分摊,不能把某一次采购当作某一个客户的全部成本。
|
||||||
|
|
||||||
|
`周期订单贡献 = 同周期确认收入 - 可变交付与托管成本`
|
||||||
|
|
||||||
|
贡献未扣除全部研发、获客和管理固定成本,不能直接当作净利润。年付服务及一次性工单用一致的周期口径比较,避免把全年收款与单月成本相减。
|
||||||
|
|
||||||
|
首期核心商业指标建议包括有效改动任务数、人工金额同意比例、定制收入与订单贡献、人工与 AI 投入、需求实现情况、上线成功、返工及后续新增任务。需求摇摆与追加造成的额外工时也需观察,评估固定工单需求是否改善原有亏损。基础应用体验是否带来定制需求应记录,不能只用托管项目数衡量核心成功。
|
||||||
|
|
||||||
|
基础服务配套记录成本覆盖情况、固定运维成功率与节省工时、供应商池容量、故障及售后工时。基础收费覆盖的成本范围和分摊口径需明确,不能仅覆盖主机商账单却忽略其运行维护投入。首期有限自动开发与人工并存,不能把“全部订单无人工开发”设为验收要求。
|
||||||
|
|
||||||
|
首期自动 AI 工作流应衡量调用成本、赠送消耗、付费转化、预算超限、重试、自动转人工比例、直接上线成功、回退及客户收费。不同服务采用对应指标,数据任务不要求都有网站预览,也不将客户验收确认作为所有任务的完成前提。
|
||||||
|
|
||||||
|
## 下一轮细化
|
||||||
|
|
||||||
|
本轮已明确年付套餐、预充值积分、实际 AI 消耗计费、退役不退费与代码归档,不再把公开赠送细则、小时计费或按月退款列为首期阻塞。下一轮核对首期少量必要流程参数和范围,再进入阶段 4 的平台业务模块/数据责任以及工作流/Git 专题;规格、渠道和自动任务清单可留对应设计阶段细化。
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
# AI 软件交付与持续服务平台版本规划与验收准备
|
||||||
|
|
||||||
|
状态:版本 0.15,更新日期 2026-10-13,阶段 7 准备材料,不构成排期。2026-10-13 起,计费按客户区分用户报价模式和用户自由模式;自动路径先 AI 验收,失败达到 x 次再转人工,x 未定。此前年付、积分和退役规则仍见 05 后文,与两种新模式的衔接未写完。公开测试赠送细则后置,核心功能正确优先。
|
||||||
|
|
||||||
|
讨论阶段的顺序统一以 [00 分阶段讨论计划](<00-分阶段讨论计划.md>) 为准。本文件不与讨论计划重复安排阶段。
|
||||||
|
|
||||||
|
## 已确认的首期方向
|
||||||
|
|
||||||
|
首期需要体现核心定制服务价值:客户能够认识应用和二次开发能力、提交真实定制需求,团队可利用 AI 完成报价后的定制与交付。基础资源及配套服务支撑体验、运行和成本覆盖,不能仅以售出多少运行资源作为产品验收。
|
||||||
|
|
||||||
|
客户能够自助下单、查看预览和提交修改工单。运行资源按购买配置档位包年,域名、邮箱和定制服务独立选配;后台可以调整定价参数。首期不是仅供内部人员录入客户需求的工具,具体档位、执行条件和完整功能清单尚未冻结。
|
||||||
|
|
||||||
|
首期固定运维、有限自动 AI 和人工复杂开发并存。自动路径先做 AI 验收,失败达到 x 次再转换原工单;协商与反馈归客服或 TG。全部项目 AI 实际调用含人工辅助、失败与重试均计消耗。验收次数用尽前的失败调用照常计消耗,不按客户满意结果免掉已耗用量。x 未定。
|
||||||
|
|
||||||
|
Cloudflare 和 Migadu 账号注册、账号池补充及独享邮箱账号准备目前人工完成。自动操作依赖有效账号和容量;不能将人工准备步骤忽略后承诺全流程无人处理。首期标准应用部署的自动执行清单还需逐项确定。
|
||||||
|
|
||||||
|
首期只给深度合作的既有中介客户试用,仍使用普通账户;配置固定项目服务费,使合计符合原谈好的价格。首期不建设系统内退款功能,特殊差额系统外处理,建议后台留人工结算备注。公开获客是长期目标,正式扩大客群前另行补齐条款和商业规则。
|
||||||
|
|
||||||
|
确定充值积分消费,推荐 1 USD = 100 积分,可含小数;年付套餐可包含初始开发和运维,提前退役不按月退款,也不保原业务数据。新客测试赠送与充值和套餐包含用量隔离,仅作预览、禁正式域名且可销毁;授予细则及反滥用策略成熟后再设计,不列首期验收。
|
||||||
|
|
||||||
|
具体自动任务、允许模型与试点阈值阶段 6/7 验证,不把所有额度/促销、退役按月结算、长期数据恢复和克隆设计作为首期前提。
|
||||||
|
|
||||||
|
先完成长期目标和可演进模型,再根据实施依赖确定首期。项目类型、资源绑定和数据边界不能因为首期只支持少数场景,就退回固定名称及人工约定。
|
||||||
|
|
||||||
|
## 制定实施计划前的条件
|
||||||
|
|
||||||
|
- 业务全貌和代表性客户场景已经确认。
|
||||||
|
- 项目、应用、环境、类型、工作负载和资源关系清楚。
|
||||||
|
- 客户账户、订单、工单、人工报价和续费规则可解释。
|
||||||
|
- 架构及平台、客户应用数据边界有决定与理由。
|
||||||
|
- 旧数据导入、现网适配、切换和回退有验证方案。
|
||||||
|
- 首期固定运维、有限自动 AI、人工与运行交付有明确契约、预算和失败恢复;后续流程有扩展边界。
|
||||||
|
|
||||||
|
## 后续版本规划要形成的内容
|
||||||
|
|
||||||
|
整体能力地图、版本范围、依赖关系、里程碑、工程任务、验收场景、试点规则、迁移批次和投入评估。不能把完成一篇草案视为完成相应设计阶段。
|
||||||
|
|
||||||
|
## 验收场景素材
|
||||||
|
|
||||||
|
以下供后续设计验证,不是已冻结的首期承诺:
|
||||||
|
|
||||||
|
| 场景 | 需要验证的行为 |
|
||||||
|
| --- | --- |
|
||||||
|
| 注册和项目归属 | 普通客户账号管理自己项目,员工操作权限明确;组织协作后置 |
|
||||||
|
| 公开获客与应用目录 | 客户能理解已支持能力、浏览案例并进入需求或购买流程 |
|
||||||
|
| 应用接入与不同运行组成 | 已支持版本按契约交付,不套用单一官网技术栈 |
|
||||||
|
| 分组和差异收费 | 分组与价格规则明确,不以来源推断部署或权限 |
|
||||||
|
| 数据任务 | 源和目标、批次、验证、失败恢复及成果完整 |
|
||||||
|
| 自助购买与交付 | 订单范围和执行资格一致,成果可追踪 |
|
||||||
|
| 普通/高级购买 | 普通路径单 APP 低信息密度;高级模式管理多 APP 和资源关系,两者均遵守预设依赖 |
|
||||||
|
| 开通进度与邮件 | 付款/开通各自可追踪,部分服务未开通不虚报全单完成,邮件失败不推翻已开通事实 |
|
||||||
|
| 首期熟客价格 | 普通客户账户应用固定项目服务费及赠送政策,合计符合约定;原订单不因后续调价改变 |
|
||||||
|
| 首期退款范围 | 无系统内退款入口/自动引擎;系统外差额可人工说明,公开经营政策另定 |
|
||||||
|
| 配置解耦 | 项目、仓库、namespace 与数据库名称不同时正常工作 |
|
||||||
|
| 类型驱动的部署 | 配置 Web 与 worker 等组成,无需人工备注特殊分支 |
|
||||||
|
| 多组件与共享资源计费 | Web、worker 的购买配置有归属;共享数据库、存储不因多个应用引用而重复计费 |
|
||||||
|
| 应用预设 | 金融官网强制声明所需 Web/数据库/PVC,纯前端应用无数据库/PVC 强制要求,选配不破坏必需依赖 |
|
||||||
|
| 零引用资源释放 | 最后引用移除前提示,宽限期状态可追踪;释放前重查有效引用和进行中操作,独立服务不被误删 |
|
||||||
|
| 多 APP 工单范围 | 工单限单个项目,可覆盖项目内多个 APP;跨项目分别提交,成果能定位全部相关版本 |
|
||||||
|
| 默认域访问边界 | 默认建站域仅用于预览,统一提示/验证及保护方案可执行,深链接和后端路径不意外绕过;不承诺验证码免责 |
|
||||||
|
| 数据保护与恢复 | 风险修改前有可验证恢复点;代码回退和带数据恢复语义清楚,数据库/文件一致性及其他项目不受损 |
|
||||||
|
| 多数据库与外部资源 | 按应用契约绑定所需数据与存储能力,不强制一个项目一个数据库;供应商切换保留身份且迁移可验证 |
|
||||||
|
| 跨项目 API 协作 | 评价网与内容中心独立运行及存储,明确接口与授权,同组不自动开放访问 |
|
||||||
|
| 平台公共服务 | 客户按订阅权益使用公共 API,不复制无必要的部署或授予公共数据库权限;价格规则后定 |
|
||||||
|
| 客户项目组 | 单层、项目单归属,无嵌套/多组;移动分组不改变 namespace、资源绑定或历史账目,批量操作后置 |
|
||||||
|
| 多环境与版本 | 工单发起版本、执行基准、内部检查与实际线上更新关系准确,不增加默认客户验收步骤 |
|
||||||
|
| 仅邮箱及组合服务 | 不强制创建无关 Web 应用或 AI 任务 |
|
||||||
|
| 人工接续 | 报价、客户接受、交付和费用可关联 |
|
||||||
|
| 首期人工定制 | 内部设置价格,客户同意或拒绝金额,同意后修改并更新线上;协商通过客服 |
|
||||||
|
| 改动任务工单 | 提交清楚的文字及文档附件,选择模式,跟踪任务与线上版本,不设客服会话 |
|
||||||
|
| 附件处理 | 支持业务需要的图文文档,类型验证、隔离解析与状态提示;原件/修订归属明确,无生产权限外泄 |
|
||||||
|
| 系统回执与失败重试 | 显示实际摘要/失败原因和有效版本,需求修订及每次尝试可追踪,不覆盖历史 |
|
||||||
|
| 首期 AI 权益 | 充值、套餐包含用量、真实调用成本与扣分分别记录;失败/重试计消耗,余额不足不误停年付服务 |
|
||||||
|
| 工作流结果核验 | 内部/外部执行均可追踪,重复事件不重复计费,引擎成功不冒充线上完成 |
|
||||||
|
| 需求固定与变更 | 提交需求可核对到实际成果,新增与变更不覆盖原需求;具体锁定与新工单规则待确认 |
|
||||||
|
| 自动模式与转换 | 自动开发检查后更新线上,需要人工时原工单自动转人工,继承需求与执行记录 |
|
||||||
|
| 客服与 TG 渠道 | 沟通、澄清、协商及反馈在客服或 TG,机器人接入与关联待定,不自动扩大任务范围 |
|
||||||
|
| 工单版本与回退 | 记录发起时版本和执行基准,追踪每次成果;可选择历史工单前版本,区分整版回退与选择性撤销,数据范围待定 |
|
||||||
|
| Git 工程集成 | 关联任务、改动及实际发布,Issue 关闭或 PR 合并不代替线上更新成功;具体方案待定 |
|
||||||
|
| 固定运维自动化 | 添加域名、邮箱等操作使用实际绑定,重复请求和部分失败可处理 |
|
||||||
|
| 独立计费与后台调价 | 配置订阅、域名、邮箱、工单账目可区分,历史报价不因改价被重写 |
|
||||||
|
| 账号池与人工补充 | 有效账号和容量正确分配,缺少条件转人工,不假定自动注册账号 |
|
||||||
|
| 异常恢复 | 任务重启、重复请求及部分成功不产生重复业务动作 |
|
||||||
|
| 数据导入 | 旧项目与线上资源映射完整,重复导入不产生重复资产 |
|
||||||
|
| 业务切换 | 客户访问、邮件和现有发布链路按计划衔接,可回退 |
|
||||||
|
| 持续服务 | 可用档位扩/减配遵守应用和供应商限制;PVC 不误承诺直接缩小 |
|
||||||
|
| 退役与再次部署 | 不退年费,释放运行/数据/相关备份,仅归档代码/配置,再部署初始化新业务;克隆与例外退款后置 |
|
||||||
|
| 到期处理 | 邮件提醒,到期未续费外部不可访问,业务数据最多保留一周,独立服务分别处理 |
|
||||||
|
| 核心定制价值 | 本次明确需求对应实际线上改动,人工确认金额、自动执行及转换各自符合规则,客服沟通独立 |
|
||||||
|
| 经济效果 | 定制成交、质量、投入与订单贡献可核算,基础服务成本覆盖符合既定目标;具体阈值待定 |
|
||||||
|
|
||||||
|
性能、工期、价格、服务承诺和试点规模将在对应信息明确后制定。新系统范围不以一次会话能完成的工作量衡量。
|
||||||
@@ -0,0 +1,235 @@
|
|||||||
|
# AI 软件交付与持续服务平台待确认问题与决策记录
|
||||||
|
|
||||||
|
目录协作版本 0.17,业务基线 0.14,2026-10-12。已按用户指令生成 G01–G05 可编辑 Markdown、SVG/PNG 与离线会议图集。业务未改变、架构尚未选择;图集入口见 diagrams/README,进度见 08,协作机制继续适用。
|
||||||
|
|
||||||
|
## 阶段 2 核对结果
|
||||||
|
|
||||||
|
| 编号 | 主题 | 当前状态或待确认内容 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| B03 | 项目定义 | 已确认业务目标、零到多个 APP、独立服务与单项目多 APP 工单范围 |
|
||||||
|
| M01 | 类型与运行配置 | 已明确按应用预设必需/可选资源,无全平台固定组件清单;支持版本、参数及组合接入契约阶段 6 细化 |
|
||||||
|
| M02 | 实例与资源绑定 | 已确认归属与使用绑定、同项目共享、引用释放状态及独立服务分别管理;释放期、操作规则和备份保留阶段 3 细化 |
|
||||||
|
| M03 | 关联范围 | 已确认单项目多 APP 工单、项目发布组合与默认代码回退保留数据;具体操作与一致性机制后置 |
|
||||||
|
| B04 | 分组职责 | 已确认单层、项目至多一个组,无多组/嵌套要求;客户整理与平台价格政策分开,批量操作后置 |
|
||||||
|
| M04 | 跨项目与公共服务 | 用户指定评价网与内容中心为独立项目通过 API 协作;平台自有公共 API 独立收费;接口授权、依赖与订阅关系细化 |
|
||||||
|
| M05 | 托管资源供应方式 | 目标支持外部数据库与云存储;供应商实例与逻辑数据库、卷与对象存储需区分,选型与接入版本后定 |
|
||||||
|
| M06 | 环境与运行实例 | 已确认默认域受保护预览、唯一入口标识、正式域平台购买或客户自有绑定;沙盒临时隔离;网关/分享参数后置 |
|
||||||
|
|
||||||
|
阶段 2 已达到完成条件,汇总见 03 开头。当前 02/05 核对四条业务路径与费用;字段、价目、供应商及恢复实现尚未定案。阶段 3 新事实即时修订领域交接,不要求重新确认整轮阶段 2。
|
||||||
|
|
||||||
|
## 阶段 3 本轮进度
|
||||||
|
|
||||||
|
确定要求:普通单 APP 向导和高级多 APP 配置分开;支付后开通状态及成功邮件;项目建立即可提交工单,系统成功/失败回执,失败可修订重试;退役保留代码以便再部署;到期停外部访问,业务数据最多保留一周;首期有限自动 AI 与赠送额度、熟客试用,账户固定服务费衔接既有价格,不建系统内退款。
|
||||||
|
|
||||||
|
后续确认:用户进一步明确预充值积分、失败/重试/转人工实际 AI 消耗均计费、年付包含开发费、退役不退费不保原业务,只存代码/启动配置。原建议中的长期退役备份选项不纳首期;新客测试额度细则后置。附件隔离、可替换工作流、计算减配等技术方案仍待阶段 4/6 评审。
|
||||||
|
|
||||||
|
首期业务核心已明确,不继续细问公开赠送策略、小时/月结算和退役业务恢复。下一轮建议进入阶段 4,先论证平台模块、数据责任与部署/数据库边界,再专题讨论工作流/Git;具体执行与恢复留阶段 6,参数按版本依赖细化。
|
||||||
|
|
||||||
|
## 后续阶段仍待细化的问题
|
||||||
|
|
||||||
|
| 编号 | 主题 | 待确认内容 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| B01 | 资源配置与服务规格 | 年付套餐可含开发/运维,退役不退款不计算退役配置差额;运行中扩/减配的操作和价目留产品/执行细化,不引入小时账单 |
|
||||||
|
| B02 | 能力展示与需求入口 | 案例预选普通向导、服务目录直接进入及高级配置已定;案例引用授权与组合预设表达待细化 |
|
||||||
|
| B05 | 持续服务 | 退役释放运行资源保留代码、到期未续费外部停服且数据最多留一周已定;再部署与基础维护界限待定 |
|
||||||
|
| B06 | 邮箱价目 | 持续服务按包年方向;共享邮箱 10 美元示例的计价对象、客户额度与共享池容量继续细化 |
|
||||||
|
| B07 | 首期固定运维清单 | 添加域名、邮箱等具体步骤,绑定、采购、已有账号操作和人工准备怎样划分 |
|
||||||
|
| B08 | 改动任务与价格确认 | 原件保留、范围新增另发工单,失败修订重试及系统回执已明确;补缺/修复/新增边界、修订绑定报价、人工付款与调价仍待细化 |
|
||||||
|
| B09 | 历史版本恢复 | 普通回退保留数据、带数据恢复另选时间点及风险改动前保护已确认;确认界面、数据一致性、保留期限及费用后续细化 |
|
||||||
|
| B10 | Git 集成 | 平台为业务主记录,关联 Git Issue/PR/提交/发布的推荐方向已确认;Issue 强制范围、供应商及同步机制阶段 4 决定 |
|
||||||
|
| B11 | 客服与 Telegram | 在线客服、TG 及拟接入机器人怎样关联身份、项目或任务;沟通不自动扩大既有任务范围,具体接入后定 |
|
||||||
|
| B12 | 多应用与外部资源计费 | 组件档位与组合套餐、共享成本份额、外部资源浮动费用结算、备份/请求/流量包含范围;避免重复计费 |
|
||||||
|
| B13 | 公共 API 服务规格 | 计价单位、周期、额度与超额方式;自己的项目间调用不自动视为购买平台 API 服务 |
|
||||||
|
| B14 | 正式域名路径 | 正式上线允许客户自有域名绑定或平台代购,默认域仅预览;验证、绑定服务价目与状态后续细化 |
|
||||||
|
| B15 | 预览保护与责任 | 统一网关提示/验证、登录或受控分享方向已确认;分享期限及规则后定。经营主体/客户地区尚缺,不能以验证码承诺免责 |
|
||||||
|
| B16 | 资源释放与保留 | 主动退役仅代码/启动配置归档,运行数据和相关备份释放;到期未续费最多一周保留另有触发,具体执行/引用保护阶段 6 |
|
||||||
|
| B17 | AI 权益与积分 | 已明确预充值消费,授权推荐 100 积分/USD;套餐包含 AI 与未来测试赠送隔离,赠送仅预览禁域名可销毁,细则后置 |
|
||||||
|
| B18 | AI 失败与转人工费用 | 已明确全部模式实际项目调用均消耗权益,失败/重试/转人工不免计;先抵扣包含用量,超额扣充值,重复事件不重复计;执行预算阶段 6 |
|
||||||
|
| B19 | 熟客试用与公开经营 | 首期现有中介普通账户、固定项目服务费匹配既有报价、系统外差额处理已定;收款登记方式/政策匹配与公开经营退款规则后定 |
|
||||||
|
| B20 | 工作流执行接入 | 平台状态主记录与可替换执行器为建议;Dify/内部引擎比较、结果协议、事件/查询、Git 同步及失败恢复阶段 4 专题 |
|
||||||
|
| B21 | 附件支持 | DOCX/PDF 图文业务需要明确;类型清单、限额、隔离/扫描、解析失败与图文提取方案待评审 |
|
||||||
|
|
||||||
|
这些问题保留记录:资源规格、价目、需求变更和支付进入阶段 3;Git、客服/TG 技术接入进入阶段 4;具体执行和长期恢复进入阶段 6。它们不要求回到 01 全部解完,领域模型阶段只处理所需的概念和关联。
|
||||||
|
|
||||||
|
## 后续问题目录
|
||||||
|
|
||||||
|
| 阶段 | 主要问题 |
|
||||||
|
| --- | --- |
|
||||||
|
| 领域模型 | 客户账号、分组、应用目录版本、标识、类型与组合、运行组成、资源显式绑定 |
|
||||||
|
| 业务规则 | 注册与支付、改动需求固定和变更、客服渠道、模式转换、人工金额确认、直接发布与失败恢复、退款及续费 |
|
||||||
|
| 架构 | 统一业务边界、模块责任、单库或多库、执行器、事务和消息、客户应用数据隔离 |
|
||||||
|
| 迁移 | 导入映射、资源盘点、旧约定核对、重复导入、写入归属、切换和回退 |
|
||||||
|
| 自动交付 | 模板契约、质量检查、AI 与人工接续、预算、发布和数据恢复 |
|
||||||
|
| 实施 | 首期类型与范围、开发依赖、验收、试点、成本目标和工程排期 |
|
||||||
|
|
||||||
|
各主题开始讨论时再展开具体问题,避免维护大量尚无上下文的问题清单。
|
||||||
|
|
||||||
|
## 已确认决定
|
||||||
|
|
||||||
|
| 编号 | 日期 | 决定 | 影响 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| D001 | 2026-10-10 | 以项目组织业务,包含 Web 和仅邮箱场景 | 保留方向,项目定义与新关系模型待重建 |
|
||||||
|
| D002 | 2026-10-10 | 长期包含需求推荐、AI 初版、预览和工单修改 | 原首期方式见 D017;最新有限自动 AI 范围以 D071 为准,仍不承诺任意自动初版 |
|
||||||
|
| D003 | 2026-10-10 | 保留人工申请、评估报价和高级服务 | 纳入统一订单与交付模型 |
|
||||||
|
| D004 | 2026-10-10 | 首期方向包含客户自助下单、预览和修改工单 | 不退回仅内部人工接单工具,具体范围后定 |
|
||||||
|
| D005 | 2026-10-10 | 建立专门文档并分主题持续讨论 | 规划完成不受单次会话范围限制 |
|
||||||
|
| D006 | 2026-10-10 | 全面升级业务与系统,不默认复用旧资产库 | 复用需证明适配,允许重新设计与实现 |
|
||||||
|
| D007 | 2026-10-10 | 新系统是统一产品 | 统一业务、账户和权限;应用及数据库数量另论证 |
|
||||||
|
| D008 | 2026-10-10 | 新模型不依赖人工编号、名称相等或后缀推断关系 | 自动标识、正式类型和显式资源绑定需进入设计 |
|
||||||
|
| D009 | 2026-10-10 | 类型应表达工作负载组成,namespace 默认值可配置 | worker 等进入配置模型,覆盖规则后定 |
|
||||||
|
| D010 | 2026-10-10 | 新系统支持旧数据迁移导入与业务衔接 | 不以保留旧表结构为条件,切换方案需验证 |
|
||||||
|
| D011 | 2026-10-10 | 目标覆盖电商、货代等行业软件及数据处理与长期运营 | 官网是现有主要业务,不限定目标能力 |
|
||||||
|
| D012 | 2026-10-10 | 新平台是对外服务网站,通过 SEO、广告及能力展示获客 | 不按固定客户来源设计业务模型 |
|
||||||
|
| D013 | 2026-10-10 | 各行业容器化应用经接入验证后可录入支持目录 | 目录持续扩展,接入和版本契约需设计 |
|
||||||
|
| D014 | 2026-10-10 | 当前以普通客户账号为主,中介也是普通客户 | 企业组织、成员和二次授权后置;替代本轮早先的中介分层草案 |
|
||||||
|
| D015 | 2026-10-10 | 支持项目分组和差异收费,来源不是固定分类 | 分组管理及价格政策待细化 |
|
||||||
|
| D016 | 2026-10-10 | 当前人工 AI 对话任务作为工作流化的业务样本 | 明确判断、程序执行及人工决策,不承诺任意任务全自动 |
|
||||||
|
| D017 | 2026-10-10 | 首期自动化先做简单固定运维,例如添加域名、邮箱;复杂定制走人工模式 | 内部设置价格、客户同意后执行并更新线上;沟通走客服,AI 开发自动化分期开放 |
|
||||||
|
| D018 | 2026-10-10 | 运行资源必须收费以覆盖相应成本,原为配置档位包月或包年,扩容调整费用 | 周期被 D047 更新为包年;资源成本定位与不按瞬时用量结算继续适用 |
|
||||||
|
| D019 | 2026-10-10 | 已接入开源应用标准拉取部署不另收费;可使用平台默认域名只付资源费 | 由 D050 限定为预览,不允许默认域正式公开;非标准定制/目录外接入另评估 |
|
||||||
|
| D020 | 2026-10-10 | 人工定制按确认报价;后续 AI 定制经 OpenRouter 按模型成本计费,当前拟加价 20% | 人工用 AI 辅助不自动产生客户 token 账单;失败重试的费用归属待定 |
|
||||||
|
| D021 | 2026-10-10 | 域名按 Gname 成本加服务费;邮箱独立收费,支持共享池和独享账号 | 邮箱零售价 10 美元的单位周期待定,独享账号通过人工工单准备 |
|
||||||
|
| D022 | 2026-10-10 | Cloudflare、Migadu 账号池进入平台管理,账号注册与池补充目前人工完成 | 分配控制容量和账号风险影响范围,不混同客户身份或项目业务分组 |
|
||||||
|
| D023 | 2026-10-10 | 服务独立选配,后台可调整价格参数 | 成本分摊、规则匹配与历史订单价格版本后续细化 |
|
||||||
|
| D024 | 2026-10-10 | 电商和货代现状是本地开发运行,通过 FRP 给客户测试,尚未正式上服务器或 K8s | 修正此前对 Compose 样本的部署表述,不影响新平台统一上线目标 |
|
||||||
|
| D025 | 2026-10-10 | 核心销售是可稳定运行的 Web 应用技术封装,以及 AI 或人员利用 AI 的二次开发定制能力;基础服务保证不亏本并吸引客户 | 修正资源销售主导的定位,核心指标围绕定制需求、成交与交付;已确认收费方式和首期人工工单不变 |
|
||||||
|
| D026 | 2026-10-10 | 不以预先列出的定制能力限制需求,客户文字与文档附件提交一次明确改动,人工模式逐单评估价格 | 应用目录用于展示,能力契约不是需求白名单,沟通渠道以 D029 为准 |
|
||||||
|
| D027 | 2026-10-10 | 客户在提交时选择自动或人工模式,自动判断需人工时自动转换原工单 | 替代前版客服式会话和仅建议另发人工工单的理解,不要求重新提交需求 |
|
||||||
|
| D028 | 2026-10-10 | 工单处理需全程关联成果版本,客户不满意时目标支持回到任意历史工单发起前的应用版本 | 发起时版本与执行基准分别追踪;数据库、上传文件恢复范围及保留期限待定,不误承诺已实现 |
|
||||||
|
| D029 | 2026-10-10 | 沟通、需求澄清、价格协商和后续反馈通过在线客服或 Telegram,不在工单持续回复 | 工单主要是代码改动任务,内部评估可追踪但不成为客户沟通步骤 |
|
||||||
|
| D030 | 2026-10-10 | 人工模式额外提示金额,客户点击同意或拒绝,体验类似网购改价 | 确认不包含协商文本;自动转人工后适用此步骤,付款细节待定 |
|
||||||
|
| D031 | 2026-10-10 | 自动工单代码修改及内部检查后直接更新线上,客户直接看到结果;人工同意价格后执行上线 | 撤回默认客户验收预览后发布的建议,完成需关联实际线上版本 |
|
||||||
|
| D032 | 2026-10-10 | 工单目的在于要求客户清楚提交本次需求,防止摇摆、无限追加和完成争议 | 保留需求及附件与实际改动的可核对关系,锁定与变更细则待定 |
|
||||||
|
| D033 | 2026-10-10 | 用户考虑接入 Telegram 机器人接口用于处理沟通 | 作为渠道候选,具体接入、身份与任务关联尚未决定,不是工单自动开发执行器 |
|
||||||
|
| D034 | 2026-10-10 | 阶段 1 已形成可回溯业务基线,进入阶段 2 领域模型与项目类型 | 03 成为当前主文档,规则参数与技术实现后置,不把基线视为所有细节冻结 |
|
||||||
|
| D035 | 2026-10-10 | 项目代表一个客户业务目标,允许多个相关应用并搭配域名邮箱;仅邮箱可无 Web 应用 | 区分项目、应用与 Web/worker 等运行组件;订单、namespace、数据库和回退具体范围不能据此自动推导 |
|
||||||
|
| D036 | 2026-10-11 | 纳入网站与采集 worker 共享数据、多个应用分别需要运行资源的场景 | APP/组件粒度及具体资源数量仍需确认,费用按实际服务购买项表达 |
|
||||||
|
| D037 | 2026-10-11 | 评价网与内容中心按两个独立项目考虑,各自数据库及 namespace,通过 API 协作 | 多应用项目不取代所有跨项目关系;需有接口依赖与授权模型 |
|
||||||
|
| D038 | 2026-10-11 | 平台自有新闻 API 等公共应用可为多个客户提供独立收费服务 | 平台运行应用与客户服务订阅分开表达,API 价目后定 |
|
||||||
|
| D039 | 2026-10-11 | 客户项目组纳入整理与查询目标,预留未来批量操作可能 | 不等于已决定批量操作清单、权限或分组价格规则 |
|
||||||
|
| D040 | 2026-10-11 | 外部托管数据库与第三方云存储纳入未来资源能力,第三方成本加 20% 服务费、后台可调 | 供应商与接入阶段未选;共享分摊与浮动成本结算仍待制定 |
|
||||||
|
| D041 | 2026-10-11 | 认可 APP 为完整软件实例、Web/worker 等为可分别配置和扩容的部署组件 | R004 转为领域基线;不将 APP 与 Deployment 或副本数量一一对应 |
|
||||||
|
| D042 | 2026-10-11 | 认可项目同集群同环境默认同 namespace;数据库独立绑定,可零到多个,共享由网络与授权决定 | R005 的默认关系进入基线;组件、namespace、逻辑数据库与供应商实例保持独立,执行配置继续细化 |
|
||||||
|
| D043 | 2026-10-11 | 认可按实际购买项汇总项目费用,共享数据库/存储不因多处使用而重复收费 | R006 的计费归属原则确认;套餐、成本份额、浮动费用及价目仍留阶段 3 |
|
||||||
|
| D044 | 2026-10-11 | 认可项目组整理/汇总与 API 授权、资源隔离分开,平台公共应用与客户服务订阅分开 | R007 的领域原则确认;分组基数与 API 产品规格继续细化 |
|
||||||
|
| D045 | 2026-10-11 | 支持单应用与组合方案,客户可在已有项目中继续添加应用 | 目录组合与项目实际组成区分;添加后的依赖、停用/删除及资源存续仍待讨论 |
|
||||||
|
| D046 | 2026-10-11 | 必需与可选资源由每种应用预设决定;金融官网必须 Web/数据库/PVC,纯前端个人站不需要数据库/PVC | 应用/版本运行契约声明依赖,不存在全平台统一必需组件清单,域名邮箱可选配 |
|
||||||
|
| D047 | 2026-10-11 | 持续基础服务按包年收取,不采用随开随关计费 | 替代 D018 的月付或年付方向;定制仍按工单,提前删除和退款等阶段 3 另定 |
|
||||||
|
| D048 | 2026-10-11 | 业务通常按项目独立数据库,同项目资源共享需正式引用关系;零引用考虑释放,最后引用删除前提示用户,可有延迟释放期 | 三天为用户举例,非冻结值;释放后原数据可能永久失去,独立服务和备份另有生命周期 |
|
||||||
|
| D049 | 2026-10-11 | 一个工单只修改一个项目,允许同时修改其中多个 APP,跨项目分别提交 | 可内部拆任务;项目发布组合和 Git/数据恢复材料方案留建议,不自动承诺原子发布 |
|
||||||
|
| D050 | 2026-10-11 | K8s 持续运行实例使用默认建站域测试/预览,默认域不得正式公开,完成工单直接更新结果 | 自有域名路径随后由 D059 确认;域名不是实际服务器存在与否的判断 |
|
||||||
|
| D051 | 2026-10-11 | 用户/项目采用合理系统 ID,默认访问地址自动分配;未来 AI 开发可有隔离沙盒与临时访问入口 | 无 projectxx 名称耦合;独立预览标识与端点绑定为建议,当前不要求实时透明展示执行过程 |
|
||||||
|
| D052 | 2026-10-11 | 默认域访问统一先显示免责声明、验证码通过后展示应用 | 网关、验证码类型、登录/分享保护后续评审;记录产品要求,不确认法律免责效果 |
|
||||||
|
| D053 | 2026-10-11 | 项目组保持单层、一个项目不属于多个组,不需要嵌套复杂分组 | 用于整理及未来扩展;暂不追加复杂标签/成员权限或批量操作功能 |
|
||||||
|
| D054 | 2026-10-11 | 已讨论问题按助手推荐方案推进,阶段 2 领域模型收口 | 03 保存完成基线与交接,当前转入阶段 3;不自动选择未讨论参数/技术或推断法律地区 |
|
||||||
|
| D055 | 2026-10-11 | 采用使用中/待释放/已释放与最后引用提示,宽限期重建引用可取消,释放前重查引用/操作状态 | R008 方向确认;三天仍候选,保留及清除规则后定 |
|
||||||
|
| D056 | 2026-10-11 | 多 APP 工单采用项目发布组合记录各 APP 的 Git、产物、配置、结构及恢复点,回退留新记录 | R009 与 R002 的版本方向确认;兼容、发布协调和失败恢复实施后置 |
|
||||||
|
| D057 | 2026-10-11 | 普通版本回退默认保留数据,带数据恢复另选时间点并明确影响;日常备份与风险改动前保护分层执行 | R010 方向确认;保留期限、费用及各引擎具体机制后定,不承诺所有历史数据永久可恢复 |
|
||||||
|
| D058 | 2026-10-11 | 唯一预览标识、端点绑定、统一网关提示/验证,默认采用所有者登录或受控分享;沙盒另有隔离临时入口 | R011 方向确认;保护参数/实现后定,验证码不作法律免责承诺 |
|
||||||
|
| D059 | 2026-10-11 | 正式上线允许客户绑定自有域名或通过平台购买域名,默认建站域仅预览 | 接受已提出的推荐路径,不再要求只在平台采购;验证/价目后续细化 |
|
||||||
|
| D060 | 2026-10-11 | 提交后保留原始需求与附件,新增或改变需求另建工单,客服/TG 不自动扩大原任务 | R003 原则确认;补缺、未完成修复、执行中变更等细则阶段 3 讨论 |
|
||||||
|
| D061 | 2026-10-11 | 平台保存工单业务主记录,Git 关联 Issue/PR/提交/发布,客服独立;版本与恢复记录保留历史及账目 | R001/R002 方向确认;Git 供应商、Issue 强制范围、同步及一致性阶段 4 细化 |
|
||||||
|
| D062 | 2026-10-12 | 案例快捷建立或服务目录建立项目;普通分步向导单项目单 APP,另有专业高级模式配置多 APP 和资源 | 普通界面控制信息密度,高级管理依赖和关系;二者使用同一领域模型 |
|
||||||
|
| D063 | 2026-10-12 | 付款开通后后台显示实际任务状态,完成邮件通知;暂不展示终端/实时沙盒编辑 | 支付、各服务开通、通知分别记录,不把部分开通或引擎成功当全部成功 |
|
||||||
|
| D064 | 2026-10-12 | 项目创建即可提交文字/附件工单;成功回执摘要与预览地址,失败回执原因并支持修改需求重试 | 允许提交与具备执行条件分开建议;系统回执不改为客服会话,需求修订/尝试方案待评审 |
|
||||||
|
| D065 | 2026-10-12 | 工作流可考虑 Dify、第三方接口或内置,需要知道步骤、异常、成果和转人工判断 | 未选引擎;平台执行主记录和适配器见 R013,Git 关联继续单独细化 |
|
||||||
|
| D066 | 2026-10-12 | 项目可加 APP、扩容,用户优先希望直接支持减配;克隆功能留后续版本再评估 | 计算减配与卷/数据库迁移能力需区分,差价未定;后续版本不等于规划阶段 2 |
|
||||||
|
| D067 | 2026-10-12 | 增加退役项目,释放占用资源但保留代码,需要时再次部署 | 代码/配置与业务数据/文件/备份保留分别说明,原订阅与重开收费待定 |
|
||||||
|
| D068 | 2026-10-12 | AI 发布出不可运行版本应退回修改前并在工单报告失败 | 发布前失败不动有效版本,恢复后核验;数据兼容与恢复异常不能隐藏 |
|
||||||
|
| D069 | 2026-10-12 | 项目购买赠送可配置 AI token 额度,超出按量收费;稳定客户可配固定服务费和较大免费额度 | 后台客户价格政策,额度消耗与年付运行权益分开;频率、单位及支付细则待定 |
|
||||||
|
| D070 | 2026-10-12 | 服务到期前邮件提醒,未续费外部不能访问,业务数据最多保留一周 | 续费恢复与截止后的释放需明确;独立服务、代码及备份范围后定 |
|
||||||
|
| D071 | 2026-10-12 | 明确首期也上线有限范围自动 AI 定制及赠送额度 | 更新 D017/D025 等早期首期人工边界,固定运维和人工复杂定制仍保留,任务范围阶段 6/7 验证 |
|
||||||
|
| D072 | 2026-10-12 | 首期只供深度合作的现有中介客户试用,普通账户固定项目服务费使合计符合旧报价;不建系统内退款,特殊差额系统外处理 | 长期公开获客定位保持;按月退费等早期设想留后续,人工结算备注为建议,支付渠道未选 |
|
||||||
|
| D073 | 2026-10-12 | 按年购买套餐,可捆绑初始开发、运维和包含 AI 用量;不采用 VPS 小时/月灵活计费或默认按月退款 | 已完成开发费不能因只用一个月就按 1/12 退还;域名/邮箱仍年度独立服务 |
|
||||||
|
| D074 | 2026-10-12 | 新客测试赠送永远仅测试,与真实权益分开;赠送开通部署禁正式域名,仅受保护预览,平台可销毁 | 包括客户自有域名不能绕过;不误删正式付费资源,授予及转正式细则后置 |
|
||||||
|
| D075 | 2026-10-12 | 统一充值积分消费,用户授权选择比例,推荐初始 1 USD = 100 积分,支持小数 | 充值/消费/套餐用量/测试权益分开,历史价值不因规则调整重写;充值渠道未选 |
|
||||||
|
| D076 | 2026-10-12 | 不论自动、人工、失败、重试或转人工,只要产生归属客户项目的实际 AI 用量即消耗权益,超过套餐包含用量客户支付 | 替代早期人工模式不另记调用及失败费用未决前提;未实际耗费不虚构,重复事件不重复记账 |
|
||||||
|
| D077 | 2026-10-12 | AI 内部验收不过可继续修复,平台持续改善质量,但不以成功/满意结果保证作为调用收费条件 | 有限修复与预算/次数限制留执行设计,避免无限收费循环,已耗费用不因回退自动免除 |
|
||||||
|
| D078 | 2026-10-12 | 主动退役释放占资源的运行/数据库/文件/相关备份,仅存代码及启动环境配置,重部署不恢复原业务 | 不退年费、不计算退役配置差额,不建长期业务数据恢复选项;保留代码防止重新开发 |
|
||||||
|
| D079 | 2026-10-12 | 可预留客户或客户组差异退役结算,但首期统一年付不退,按月折价仅未来例外 | 价格客户组与客户自建项目组区分,首期不建设多策略退款引擎 |
|
||||||
|
| D080 | 2026-10-12 | 首期面向熟客,公开新客赠送细则无需展开,核心正确其余从简 | 首期正式套餐包含用量保留,测试赠送策略成熟后再设计;阶段 3 形成简化基线,可进入架构讨论 |
|
||||||
|
| D081 | 2026-10-12 | 用户要求把完整讨论目录分享给同事,建立新 AI 可恢复进度、同事修改后可接续的说明与交接机制 | 新增 AGENTS/08/09、handoffs模板与首条记录,README 提供启动提示,内部链接可移交;不依赖原聊天上下文 |
|
||||||
|
| D082 | 2026-10-12 | 用户希望阶段 4/5 与开发共同讨论,前三阶段作为产品基线移交 | 产品继续参与业务/成本/权益与切换取舍,技术评审架构和迁移;未指定技术负责人,未授权实施或现网操作 |
|
||||||
|
| D083 | 2026-10-12 | 用户要求推荐并整理产品/业务会议图表,后续会再发起生成 | 新建 10 规格与会议顺序;组合为建议 R017,未生成图、未定技术架构或排期 |
|
||||||
|
| D084 | 2026-10-12 | 用户明确要求按当前版本直接生成 G01–G05,允许可读 Markdown 或可视绘图方式 | 已生成 Mermaid Markdown、九幅主图/展开图的 SVG/PNG 和离线图集;不新增业务规则、不选技术架构;G06–G08仍为计划 |
|
||||||
|
| D085 | 2026-10-13 | 不单独建设「任务执行、版本与恢复 / 自动能力与人工接续」。每一次工单创建一个版本,恢复使用该版本 | 产品负责人会上说明。版本是完成后的结果还是同时保留发起前版本、带数据恢复是否仍另选时间点,尚未说明,不替代 D057 的未决部分 |
|
||||||
|
| D086 | 2026-10-13 | 应用指功能,例如邮箱应用。初级版本不选择 Web、API、worker,按预设固定。高级版本以后用界面选择这个项目要不要组件。域名是需购买的资源,不包含在应用里 | 产品负责人会上说明。替代把仅邮箱当成零 APP、把邮箱只当成独立服务的读法。组件选择不进初级版本 |
|
||||||
|
| D087 | 2026-10-13 | 自动路径在转人工前增加 AI 验收。失败未达 x 次则继续修改再验收;达到 x 次才转原工单人工模式 | 产品负责人会上说明。x 未定。不是客户先验收再上线。细化 D077 的有限修复:次数用尽后的去向改为转人工 |
|
||||||
|
| D088 | 2026-10-13 | 计费按客户分模式。暂时只记两种:用户报价模式在创建时选择并报价,后台决定是否启动;用户自由模式自选配置和 token 数量,从预充值扣除 | 产品负责人会上说明现有统一计费太麻烦。与 D073–D076 的年付、积分、加价如何衔接尚未写明,那些决定先保留为改模式前的基线 |
|
||||||
|
|
||||||
|
## 已确认推荐方向与后续细项
|
||||||
|
|
||||||
|
| 编号 | 已确认方向 | 仍需细化的事项 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| R001 | 平台工单为业务主记录,Git 关联 Issue/PR/提交/发布,客服独立(D061) | Issue 是否必须、首期接入范围和同步实现阶段 4 细化 |
|
||||||
|
| R002 | 建立应用成果版本与部署记录;回退产生新记录,保留历史与账目,核对数据兼容 | 恢复范围、客户操作确认、保存周期及历史产物重建;流程见 02/04 |
|
||||||
|
| R003 | 提交后保留原始文字与附件,新增或改变需求另建工单,客服/TG 不自动扩大范围(D060) | 补缺、未完成修复和新增任务怎样区分,见阶段 3 |
|
||||||
|
| R008 | 资源采用使用中/待释放/已释放,宽限期重建引用可取消释放,执行前重查归属、引用及进行中操作 | 三天候选、恢复/取消入口、备份清除与独立服务存续阶段 3 确认 |
|
||||||
|
| R009 | 多 APP 工单保存项目发布组合,各 APP 的 Git 提交、产物、配置和结构版本清楚关联 | 默认恢复项目组合或单 APP 的兼容检查、发布顺序、部分失败与恢复机制待定 |
|
||||||
|
| R010 | 普通代码回退保留数据,带数据恢复另选时间点;日常/任务保护分层(D057) | 各引擎逻辑备份/PITR/快照机制、保留范围与费用另定 |
|
||||||
|
| R011 | 唯一预览标识和网关、所有者登录或受控分享,沙盒独立(D058) | 自有域名路径已确认;法律地区仍缺,技术兼容与分享参数后定 |
|
||||||
|
|
||||||
|
## 已确认建议的去向
|
||||||
|
|
||||||
|
R004 至 R007 的核心概念进入 D041 至 D044;阶段 2 收口时,R001 至 R003、R008 至 R011 的推荐方向进入 D055 至 D061,具体参数和执行细项按后续阶段追踪。已确认方向不等于已经实现。
|
||||||
|
|
||||||
|
## 本轮新增建议,待逐项评审
|
||||||
|
|
||||||
|
| 编号 | 建议 | 后续确认点 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| R012 | 允许 TXT/MD/PDF/DOCX 及常用图片,私有存储、扫描和隔离解析,不以 Markdown 扩展名当安全保障 | 首期格式/限额、图文提取、拒绝/失败提示及工具 |
|
||||||
|
| R013 | 平台拥有工单和执行/费用/版本/发布记录,外部工作流为可替换执行器,事件/查询及独立结果核验 | 引擎、接口、失联/重试/停止、幂等和 Git 同步阶段 4 |
|
||||||
|
| R014 | 同项目计算资源按最低要求减配,PVC 缩小走迁移,不通过克隆绕开 | 各应用/供应商能力、停机影响、差价与执行范围 |
|
||||||
|
| R015 | 代码/启动配置保留被 D078 采纳,退役业务数据/备份保留选项不纳首期 | 执行引用核对与释放顺序阶段 6;不再作为退役长期备份收费问题 |
|
||||||
|
| R016 | D075/D076 已确定充值与实际 AI 消耗计费,D074/D080 后置新客赠送策略;成本预算仅内部计量建议 | 包含用量的简单后台参数及任务上限按执行设计细化,不继续比较付款模式或失败是否收费 |
|
||||||
|
| R017 | 推荐 G01 产品全景、G02 概念关系、G03 购买泳道、G04 工单泳道、G05 收费权益、G06 生命周期、G07 范围图,G08 技术数据流附图;首批 G01–G05 | 10 保存规格,生成时可调整;技术架构/ER/部署及甘特图留方案/估算阶段,不把清单当已生成图 |
|
||||||
|
|
||||||
|
失败修订/尝试、到期执行及人工结算备注的具体方案仍待评审。D064/D070/D072 与最新 D073 至 D080 记录业务要求,不等于工具和数据库已确定;新事实覆盖旧建议,不删除历史决定。
|
||||||
|
|
||||||
|
## 已撤回的前提
|
||||||
|
|
||||||
|
| 前提 | 处理 |
|
||||||
|
| --- | --- |
|
||||||
|
| 旧资产库继续作为新系统权威底座 | 撤回,目标模型独立设计 |
|
||||||
|
| 继续复用旧项目 ID 作为新模型 ID | 撤回,设计新标识与旧数据映射 |
|
||||||
|
| 旧 CI、脚本及资源命名规则天然约束目标系统 | 撤回,现状约束用于迁移及兼容评估 |
|
||||||
|
| 先按当前模板限制首期再定义整体架构 | 调整为先完成业务全貌,再决定版本范围 |
|
||||||
|
| 以固定中介来源或直接客户来源驱动系统 | 撤回,来源仅为可能的统计信息,客户统一注册与购买 |
|
||||||
|
| 本轮早先拟定的中介与最终客户多角色参与方案 | 被用户后续说明替代;普通账号操作项目,组织授权后置 |
|
||||||
|
| 把自动 AI 初版与修改作为首期必需能力 | 被用户进一步说明替代;首期先固定运维和人工定制工单 |
|
||||||
|
| 初始建站一律单独收费、AI 修改按次数或额度套餐 | 原候选撤回;标准开源部署免费,运行资源订阅,人工报价,AI 赠送额度后超额按模型成本加价;熟客固定项目服务费为明确客户政策 |
|
||||||
|
| 电商和货代已完成服务器或 K8s 部署 | 用户明确纠正:当前仅本地运行加 FRP 测试 |
|
||||||
|
| 核心产品或主要收入目标是运行资源和托管销售 | 助手对必收基础费用的错误解读,已撤回;核心是应用技术封装和二次开发定制,实际收入结构不预设 |
|
||||||
|
| 需先明确允许客户提出哪些定制能力才能设计需求入口 | 用户明确改为开放工单提交、逐单评估;自动开发适配在收到需求后判断 |
|
||||||
|
| 工单承载沟通、价格协商、持续回复与后续反馈 | 用户明确撤回该理解,工单记录改动任务,沟通通过在线客服或 Telegram |
|
||||||
|
| 每次工单成果都需客户验收预览后再正式发布 | 撤回,自动处理后直接更新线上;人工模式仅额外确认价格后执行 |
|
||||||
|
| AI 只提示需要人工,让客户另建工单 | 改为自动转换原工单的处理模式,保留需求和执行记录 |
|
||||||
|
|
||||||
|
## 尚未决定
|
||||||
|
|
||||||
|
品牌、具体价目和权益、应用接入版本契约、释放期与备份保留、恢复确认步骤和兼容机制、预览分享参数、经营主体/客户地区、namespace 配置覆盖、供应商、API 额度、首期清单、需求补缺/修复/变更细则、支付及转换费用、TG/Git 实现、技术栈/平台数据库拓扑、任务引擎及排期仍待细化。2026-10-13 另有未定项:AI 验收次数 x;工单版本是否只保存完成后的结果;带数据恢复是否仍另选时间点;用户报价模式、用户自由模式与原年付套餐及积分规则如何衔接。
|
||||||
|
|
||||||
|
## 变更记录
|
||||||
|
|
||||||
|
| 版本 | 日期 | 变更 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 0.1 | 2026-10-10 | 建立初版框架与客户自助方向 |
|
||||||
|
| 0.2 | 2026-10-10 | 撤回默认复用资产库;重整阅读与讨论阶段;纳入类型、命名解耦、数据库边界及迁移要求 |
|
||||||
|
| 0.3 | 2026-10-10 | 采样官网、评价、内容中心、电商与货代;定位扩展为对外软件服务网站;记录应用目录、数据服务与普通客户账号,并撤回来源驱动及中介分层草案 |
|
||||||
|
| 0.4 | 2026-10-10 | 确认首期固定运维与人工定制;资源档位月年订阅、免费标准开源部署和独立选配收费;记录 AI 成本加价 20%、Gname 域名、Migadu 邮箱与供应商账号池;更正本地 FRP 测试现状 |
|
||||||
|
| 0.5 | 2026-10-10 | 根据用户纠正,将核心销售恢复为稳定应用技术封装与 AI、团队的二次开发定制能力;基础服务用于获客、交付支撑和成本覆盖,调整讨论优先级与商业指标,保留原计费和首期边界 |
|
||||||
|
| 0.6 | 2026-10-10 | 确认开放文字与附件需求、统一工单沟通及人工或 AI 评估;补充工单全程追踪和历史版本回退;评估 Git Issue 集成并区分客户工单、代码改动、发布和数据恢复,技术建议未定案 |
|
||||||
|
| 0.7 | 2026-10-10 | 根据用户纠正,将工单定义为固定本次需求与线上改动的任务,沟通归在线客服或 Telegram,TG 机器人为候选;明确两种模式、自动转人工、仅人工确认金额与直接上线;记录需求锁定变更建议,撤回会话与默认验收流程 |
|
||||||
|
| 0.8 | 2026-10-10 | 阶段 1 整理为业务基线,进入阶段 2,分轮讨论领域关系;用户确认项目为业务目标并支持多个相关应用,区分多应用与单应用多组件,规则与实现未决事项转入后续阶段 |
|
||||||
|
| 0.9 | 2026-10-11 | 展开多应用部署与共享资源费用;澄清 namespace、数据库和 PVC 关系;纳入跨项目 API、平台公共服务、客户项目组及外部托管资源与 20% 加价方向;APP 粒度和默认映射保留为建议 |
|
||||||
|
| 0.10 | 2026-10-11 | 用户认可领域分层、namespace/数据库关系、费用归属与分组/协作建议,转为已确认基线;确认单应用和组合目录及项目继续添加应用;整理阶段 2 五项剩余主题,较早 Git/需求锁定建议继续未决 |
|
||||||
|
| 0.11 | 2026-10-11 | 明确按应用预设依赖、包年基础服务、零引用资源提示和延迟释放、单项目多 APP 工单、默认域仅预览/沙盒扩展及简单分组;评估项目发布组合、分层数据恢复、增量/PITR/快照与预览网关;自有域名和法律地区待确认 |
|
||||||
|
| 0.12 | 2026-10-11 | 用户认可已讨论的推荐方案,阶段 2 收口;确认发布组合、引用释放、两层恢复、受保护预览、自有域名、需求固定和平台/Git 方向;建立领域关系汇总及后续交接,当前主文档切换 02 进入阶段 3,缺法律地区及参数不阻塞领域收口 |
|
||||||
|
| 0.13 | 2026-10-12 | 整理普通/高级购买、付款开通状态/邮件、工单回执与失败修订重试、退役/再部署、到期停服最多一周数据、AI 赠送及客户政策;首期改为有限自动 AI 加熟客试用、固定项目费匹配旧价、无系统内退款;附件隔离、可替换工作流、减配与保留方案列建议,计费参数及架构专题继续讨论 |
|
||||||
|
| 0.14 | 2026-10-12 | 首期规则从简:年付套餐包含开发/运维/AI 用量,充值积分(推荐 100/USD),所有实际项目 AI 调用含失败/重试/人工均计消耗,退役不退费只留代码/配置;未来测试赠送与真实权益隔离、禁正式域名可销毁,授予细则/按月例外/退役业务恢复后置;阶段 3 形成首期基线,下一轮建议架构讨论 |
|
||||||
|
| 0.15 | 2026-10-12 | 目录协作版本:增加 AI 规范、当前状态、交接协议、模板和 H0001;README 提供新对话/返还提示,内部链接相对化,明确产品/技术分工、确认依据、实际文件核对和冲突合并;业务基线仍为 0.14 |
|
||||||
|
| 0.16 | 2026-10-12 | 新增 10 图表计划,推荐七张产品图和一张技术附图,首批五图,明确规格/基线/输出/会议顺序,追加 H0002;图未生成,业务基线仍 0.14 |
|
||||||
|
| 0.17 | 2026-10-12 | 生成 G01–G05 Mermaid 文档、九幅 SVG/PNG、离线会议图集与渲染源,核对业务并更新导航,追加 H0003;业务基线仍 0.14 |
|
||||||
|
| 0.18 | 2026-10-13 | 按 H0004 将会议口径写入 01/02/03/05/06、07 的 D085–D088,以及 G01/G02/G04/G05 的可编辑文字。业务基线改为 0.15。投影 SVG 未重绘。AI 验收次数、工单版本细节和两种计费与原年付的衔接仍未定 |
|
||||||
|
|
||||||
|
每轮更新对应主文档和决定记录。推翻原决定时保存理由及影响,不让早期建议继续被误当作需求。
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
# 当前讨论状态
|
||||||
|
|
||||||
|
本文件是跨人员/跨 AI 的进度导航,不替代正文与确认记录。每次实际推进后更新;读取规则见 [AGENTS.md](AGENTS.md),协作流程见 [09](09-协作与交接规范.md)。
|
||||||
|
|
||||||
|
## 本次状态
|
||||||
|
|
||||||
|
| 项目 | 当前值 |
|
||||||
|
| --- | --- |
|
||||||
|
| 项目 | AI 软件交付与持续服务平台,代号 ai-web-delivery |
|
||||||
|
| 状态更新 | 2026-10-13 |
|
||||||
|
| 目录协作版本 | 0.18;业务基线 0.15 |
|
||||||
|
| 当前进度 | 2026-10-13 会议口径已写入正文:工单版本、AI 验收后转人工、应用指功能、两种计费模式。架构仍未定案。投影 SVG 仍是 0.17 图 |
|
||||||
|
| 当前任务 | 补全未定参数,或按新文字重绘 G01、G02、G04、G05 |
|
||||||
|
| 当前主文档 | [02](02-业务流程与产品需求.md)、[03](03-系统架构与领域模型.md)、[05](05-商业模式与成本指标.md) 开头的 2026-10-13 补充 |
|
||||||
|
| 最新交接 | [H0004 产品基线会议](handoffs/H0004-2026-10-13-产品基线会议.md) |
|
||||||
|
| 最新决定 | D088;D085–D088 来自 2026-10-13 会议 |
|
||||||
|
| 下一决定编号 | D089;汇总时检查实际编号 |
|
||||||
|
| 下一交接编号 | H0005;撞号按 09 合并 |
|
||||||
|
| 产品负责人 | 当前用户;姓名未提供 |
|
||||||
|
| 技术参与人 | 待用户/同事明确,不擅自指定姓名或责任人 |
|
||||||
|
| 当前授权范围 | 讨论与维护规划文件;不实施、不操作现网、不推送或公开资料 |
|
||||||
|
|
||||||
|
## 已形成的阶段基线
|
||||||
|
|
||||||
|
| 阶段 | 状态及依据 | 后续参与方式 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 1 产品定位 | 01;公开获客与应用定制为长期目标,首期熟客试运营 | 产品负责,出现新事实可回溯修订 |
|
||||||
|
| 2 领域模型 | 03 开头;项目/APP/组件/资源/服务的关系及显式绑定已明确 | 技术设计遵循基线,有冲突反馈产品 |
|
||||||
|
| 3 业务流程 | 02/05 与 D073–D080;首期简化年付与积分规则已明确 | 业务参数随设计逐项完善,不重开整轮确认 |
|
||||||
|
| 4 架构 | 尚未定案,03 后文仍含候选素材 | 产品与开发/运维共同讨论 |
|
||||||
|
| 5 迁移 | 尚未开始;到需要时创建迁移专文 | 产品定义连续服务要求,技术设计/演练/切换 |
|
||||||
|
| 6 交付运行 | 04 是草案,不代表执行能力已实现 | 技术主导,产品核对结果与异常体验 |
|
||||||
|
| 7 实施计划 | 06 是准备材料,未承诺工期 | 产品与技术共同决定范围、验收和排期 |
|
||||||
|
|
||||||
|
## 接手时不能遗漏的业务前提
|
||||||
|
|
||||||
|
- 新的统一对外服务产品,旧资产库是迁移来源,不默认复用;稳定 ID 与真实资源显式绑定,不靠 projectxx、-x 或仓库名等于 namespace。
|
||||||
|
- 普通客户账户,中介也是普通客户。项目为业务目标。应用指功能,例如邮箱应用。初级版本不选择 Web、API、worker,按预设固定;高级版本以后再用界面选择要不要组件。域名是需购买的资源。单层项目组仅整理;价格客户组与之不同。
|
||||||
|
- 应用预设声明组件如何带上。资源归属、引用及付费项分开;共享资源不重复收费。
|
||||||
|
- 首期熟客试用。计费按客户分模式,暂时只记用户报价模式和用户自由模式;与此前年付套餐、积分规则如何衔接未写完。
|
||||||
|
- 工单限一个项目,可改多个应用。每一次工单创建一个版本,恢复使用该版本。自动路径先 AI 验收,失败达到 x 次再转原工单人工模式,x 未定。系统回执留在工单,协商和反馈归客服/TG。人工确认金额,验证后直接更新线上。
|
||||||
|
- 平台工单为业务记录,Git 关联工程成果;实际发布/健康不能被 Issue 关闭或引擎成功代替。不单独建设任务执行与自动/人工接续层。
|
||||||
|
- 年付套餐可含开发/运维和 AI 用量,账户固定服务费匹配旧合作价;充值积分消费,推荐初始 1 USD = 100 积分并支持小数。套餐包含用量、充值余额、未来测试赠送独立。
|
||||||
|
- 实际项目 AI 调用含人工辅助、失败、重试、转人工均记消耗,超过包含用量扣充值;不得重复记同一调用,修复循环有停止/预算控制。
|
||||||
|
- 测试赠送永远仅测试预览,禁正式域名且平台可销毁;具体授予策略后置。正式项目默认域仅受保护预览,正式上线可自有域名或平台代购。
|
||||||
|
- 主动退役不退年费,释放运行/数据/相关备份,仅留代码和启动配置,重部署不恢复原业务。到期未续费外部停服、业务数据最多保留一周是另一触发规则。首期无系统内退款,特殊差额线下处理。
|
||||||
|
|
||||||
|
以上为恢复摘要;具体口径和替代关系查正文/07。100 积分/USD 是用户授权 AI 推荐的设计默认,并非已经实施的兑换系统。
|
||||||
|
|
||||||
|
## 下一轮建议入口
|
||||||
|
|
||||||
|
正文已吸收 D085–D088。下一轮先补三件未定事项:AI 验收次数 x,工单版本是否只保存完成后的结果,两种计费模式与原年付、积分规则如何衔接。投影若要和文字一致,重绘 G01、G02、G04、G05。架构讨论仍回到 03,先划分业务后台、订单与计费、工单与版本、资源管理、执行器。技术候选不能画成已定架构。
|
||||||
|
|
||||||
|
## 尚未决定与后置事项
|
||||||
|
|
||||||
|
| 分类 | 内容与去向 |
|
||||||
|
| --- | --- |
|
||||||
|
| 架构未决 | 平台数据库边界、进程/队列、状态一致性、权限与工作流/Git 接入;阶段 4 |
|
||||||
|
| 待技术评审建议 | 附件允许清单/隔离处理、可替换执行器、条件式计算减配;R012/R013/R014,阶段 4/6 |
|
||||||
|
| 迁移未决 | 数据盘点、映射、写入权威、演练/切换与回退;阶段 5 |
|
||||||
|
| 参数与执行未决 | 模板/自动任务支持清单、档位、充值渠道、任务预算、资源释放与恢复执行;对应设计与版本阶段 |
|
||||||
|
| 未来业务 | 新客赠送细则、试用转正式、例外按月退役结算、克隆、组织/成员授权;不阻塞首期 |
|
||||||
|
| 缺失事实 | 经营主体/服务地区、技术参与人及实际对外条款;按需要补,不能凭空确定 |
|
||||||
|
|
||||||
|
## 新对话或返还检查
|
||||||
|
|
||||||
|
按最新交接核对文件摘要。若有未登记改动,先列出修改文件和冲突,再补交接/状态;若业务决定互相冲突,保留未争议内容并向当前参与人确认该冲突。旧聊天中的观点不能覆盖同事已明确确认并落盘的新决定。目录不完整、关键文件缺失或实际未拿到同事修改时,不宣称已同步。
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
# 协作与交接规范
|
||||||
|
|
||||||
|
本机制用于同一规划目录跨人员、跨电脑和跨 AI 对话接续。文件保留业务依据与修改历史,不要求共享原聊天,也不依赖某个 AI 产品的长期记忆。规范版本 0.15,2026-10-12。
|
||||||
|
|
||||||
|
## 信息分别放在哪里
|
||||||
|
|
||||||
|
| 文件 | 责任 |
|
||||||
|
| --- | --- |
|
||||||
|
| [README](README.md) | 项目入口、阅读顺序、可复制的启动提示与导航 |
|
||||||
|
| [AGENTS.md](AGENTS.md) | AI 讨论规则、范围与每轮保存要求;不保证所有工具会自动加载,需要启动提示明确要求读取 |
|
||||||
|
| [08 当前讨论状态](08-当前讨论状态.md) | 当前进度、最新交接、主文档、下一步与后置事项 |
|
||||||
|
| 01–06 | 对应领域的完整正文、候选比较与计划素材 |
|
||||||
|
| [07 决定记录](07-待确认问题与决策记录.md) | 确认依据、决定编号、建议、未决与被替代关系 |
|
||||||
|
| handoffs | 每轮追加交接,说明相对哪个版本改了什么、谁确认了什么、还有什么未完成 |
|
||||||
|
|
||||||
|
状态不能替代正文,交接不能替代决定。AI 修改文件不是确认来源,建议和已实现也不能混同。新的人类指令有优先级,但应同步保存其改变了什么。
|
||||||
|
|
||||||
|
## 产品与技术如何配合
|
||||||
|
|
||||||
|
前三阶段主要由产品经理组织,技术人员可以提前识别可行性问题。阶段 4 是架构与数据边界,阶段 5 是旧业务迁移/切换,并非开始直接编码;阶段 6 是自动交付和运行契约,阶段 7 决定实施范围与验收。
|
||||||
|
|
||||||
|
开发/运维负责说明方案、能力限制、投入和验证依据,产品负责需求边界、收费/权益、客户体验、风险接受与切换影响。技术设计若改变前三阶段约定,单列“待产品确认的业务变化”,不能直接用候选架构覆盖产品要求。产品也不必替开发决定每个库/队列/部署参数。
|
||||||
|
|
||||||
|
每轮只记录参与人实际确认的事项及其角色;没有证据的“团队通过”不成立。没有指定技术负责人时记录待明确,不能替用户授予部署或现网操作权限。
|
||||||
|
|
||||||
|
## 一轮讨论的最小闭环
|
||||||
|
|
||||||
|
1. 开始:读取 AGENTS、README、08、最新交接及本轮主文档/关联决定,核对实际改动。
|
||||||
|
2. 聚焦:说明这一轮只解决什么,不因新上下文重复确认全部前三阶段。
|
||||||
|
3. 讨论:用业务例子校验候选,记录约束和优缺点;技术事实需实际检查或可靠资料,不能用现状人工约定代替需求。
|
||||||
|
4. 保存:更新正文,07 保存已确认/建议/未决;使用 [交接模板](handoffs/_交接记录模板.md)新增 H 记录,更新 08 和必要导航。
|
||||||
|
5. 校验:链接有效、标识唯一、状态与正文对应、旧规则修正、未误把建议升级为决定;记核心文件摘要。
|
||||||
|
6. 结束:报告本轮结论、文件位置和下一轮入口。没完成就记录未完成与恢复位置,不推断阶段已结束。
|
||||||
|
|
||||||
|
目录版本用于说明本次交接包;业务基线可以仍为 0.14,单文件版本只在实际改动时更新。不是每次讨论都要重写所有文档。H 编号追加递增,文件名例如 `H0002-2026-10-13-架构模块边界.md`;模板文件不代表已有新结论。
|
||||||
|
|
||||||
|
## 交接记录的必需内容
|
||||||
|
|
||||||
|
- 基于哪个目录版本/业务基线/上一条 H 记录,本轮结果版本和日期;参与人/角色仅填已知信息。
|
||||||
|
- 本轮主题、修改文件与具体章节、已确认的决定编号和确认依据。
|
||||||
|
- 建议、待补事实、待产品确认的业务变化、未完成工作分别列出。
|
||||||
|
- 是否影响阶段/首期范围/已有决定,下一轮主文档和第一项讨论题。
|
||||||
|
- 校验结果、未登记改动、冲突处理与正文/导航文件 SHA-256。
|
||||||
|
|
||||||
|
确认依据可以是一句人类确认摘要;不要求贴整段聊天或上传私有会话。摘要只帮助检测漏传/修改,不能证明内容获确认、取代审查或抵御恶意篡改。交接文件自身与模板不参与自身摘要,避免循环依赖。
|
||||||
|
|
||||||
|
## 把目录交给同事
|
||||||
|
|
||||||
|
发送整个目录,包括规范、状态、正文、决定、handoffs。目录内部链接采用相对路径;旧源码与环境路径仅是可选参考,同事没有那些目录时明确缺失,不编造检查结果。正式分享前按实际对象检查内容,避免连同客户私有数据或密钥公开。
|
||||||
|
|
||||||
|
先约定谁持有当前主副本。简单方式是一人接手期间另一人暂停编辑同一份目录;发送与返回都带 H 记录和版本号。项目文件复制不代表已经创建远端仓库或公开发布。
|
||||||
|
|
||||||
|
## 同事修改后拿回来
|
||||||
|
|
||||||
|
1. 保留你的当前副本和同事返回副本;先不要直接覆盖本地新增工作。
|
||||||
|
2. 比较对方 H 记录中的来源版本、变更文件与实际文件;检查返回目录是否包含 07/08 与新 H 记录。
|
||||||
|
3. 如果本地从发送后没有推进,可以采用完整返回包;如果两边都改了,则按共同基线逐文件合并,不能只根据文件修改时间选择最新版。
|
||||||
|
4. 保留明确已确认的业务/技术决定。AI 草案仍作建议;来源不明、跨产品边界或冲突的变化列待确认。
|
||||||
|
5. 更新合并后的正文、07/08,并新增“接收/合并交接”。旧 H 记录不覆盖。
|
||||||
|
6. 在原聊天或新聊天让 AI 重新读取当前状态和最新交接;原聊天先前记忆只作参考。
|
||||||
|
|
||||||
|
同事如果只改了正文,尚无交接,仍可以通过实际差异恢复,但必须标记“确认依据不足/未登记改动”,补状态和交接;不要假装所有新增内容都已讨论通过。
|
||||||
|
|
||||||
|
## 并行与冲突
|
||||||
|
|
||||||
|
有 Git 时可用分支与提交合并,提高改动可追踪性;当前未建独立仓库,也不自动推送。没有 Git 时用双方副本及共同基线比较,同一文档尽量只由一人编辑。
|
||||||
|
|
||||||
|
并行须事先划分专题/文件,指定汇总者负责 07/08/README。D/H 编号只能在汇总后确定最终唯一值;撞号时保留原分支来源,分配新编号并修正文内引用,在合并交接注明映射,不能悄悄复用一个编号代表两件事。
|
||||||
|
|
||||||
|
资料不同步与实质意见冲突分别处理:前者核对/补传文件,后者明确提问。未争议部分可以继续,不要求整轮重新审批。
|
||||||
|
|
||||||
|
## 新对话能做到什么
|
||||||
|
|
||||||
|
完整文件、可靠的确认记录和及时更新状态,可以让任何能读文件的 AI 恢复有效上下文;不保证某个 AI 自动遵循规则或永不误读。因此每次启动都要求它先读取并复述进度,必要时核对变更。聊天上下文足够时也照此执行,不能因“我记得”跳过同事的新版本。
|
||||||
@@ -0,0 +1,171 @@
|
|||||||
|
# 会议图表与可视化计划
|
||||||
|
|
||||||
|
目录协作版本 0.18,产品业务基线 0.15,2026-10-13。G01、G02、G04、G05 的可编辑文字已按 H0004 修订;SVG、PNG 和离线会议图集尚未重绘,讲解时以 Markdown 为准。清单与顺序仍见下文。未确认技术架构或工期。
|
||||||
|
|
||||||
|
## 已生成图表
|
||||||
|
|
||||||
|
| 图号 | 可编辑正文与源 | 展示成果 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| G01 | [产品业务全景](diagrams/G01-产品业务全景.md) | 主图 SVG/PNG |
|
||||||
|
| G02 | [领域概念关系](diagrams/G02-领域概念关系.md) | 主图、工单/购买项、项目例子;各有 SVG/PNG |
|
||||||
|
| G03 | [购买与开通](diagrams/G03-购买与开通.md) | 泳道长图 SVG/PNG,按步骤分段讲解 |
|
||||||
|
| G04 | [定制工单处理](diagrams/G04-定制工单处理.md) | 主泳道、失败/恢复;各有 SVG/PNG |
|
||||||
|
| G05 | [收费与权益](diagrams/G05-收费与权益.md) | 三类权益主图、AI 消耗记账;各有 SVG/PNG |
|
||||||
|
|
||||||
|
五个主题共九幅主图/展开图,已完成渲染与逐图检查,并提供离线展示页。G06–G08尚未生成;本轮不选择技术方案、不改变业务基线。图内为表达而省略的分支写在各图 Markdown 中,正文与确认记录仍是完整依据。
|
||||||
|
|
||||||
|
## 应该先画哪些图
|
||||||
|
|
||||||
|
建议采用 **七张产品图,加一张面向技术讨论的附图**,分别回答定位、组成、购买、修改、收费、存续与首期边界。先生成 G01–G05,足以组织第一轮产品说明;G06/G07补足异常与范围,G08用于与开发讨论接口责任。编号是图表标识,不是新增规划阶段。
|
||||||
|
|
||||||
|
| 图号 | 推荐图形 | 回答的问题 | 优先级与依据 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| G01 | 产品业务全景图 / 业务能力地图 | 我们卖什么,为谁提供什么服务,整体有哪些能力? | 第一批;01、02、05 |
|
||||||
|
| G02 | 领域概念关系图 | 客户、项目、APP、组件、资源和服务分别是什么,怎样关联? | 第一批;03 领域基线 |
|
||||||
|
| G03 | 购买与开通泳道图 | 客户如何选择、充值、购买、开通并访问,谁执行各步骤? | 第一批;02、05 |
|
||||||
|
| G04 | 定制工单处理泳道图 | 自动/人工怎样分支、转换、失败重试、更新线上? | 第一批;02、04、05 |
|
||||||
|
| G05 | 收费与权益关系图 | 年付套餐、包含 AI 用量、充值积分和测试赠送怎样消费? | 第一批;05、D073–D080 |
|
||||||
|
| G06 | 项目生命周期状态图 | 开通、运行、退役、到期、续费与释放怎样转换? | 补充;02、03、05 |
|
||||||
|
| G07 | 首期与后续范围图 | 熟客首期交付什么,哪些能力留以后,哪些仍待技术评审? | 补充;06、07、08 |
|
||||||
|
| G08 | 业务数据流示意图 | 需求、版本、运行结果、AI 消耗怎样在平台和外部能力间流动? | 技术附图;03/04,接口方案待评审 |
|
||||||
|
|
||||||
|
可将每张主图作为一页会议材料;不把全部功能和异常塞进一张巨图。图是文字基线的表达,发现遗漏可反向修订正文,但不能在绘图时悄悄创造新规则。
|
||||||
|
|
||||||
|
## 这些常见图怎样选
|
||||||
|
|
||||||
|
| 图形 | 适用用途 | 在本项目的使用方式 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 思维导图 | 分类、梳理功能、收集想法 | 可作 G01 的初稿;开会时整理成有层次的能力地图,更容易区分产品能力与内部支撑 |
|
||||||
|
| 泳道流程图 | 按参与角色看步骤、分支与交接 | G03/G04,适合讲客户与平台、自动执行和人员怎样配合 |
|
||||||
|
| 概念关系图 | 对象之间的归属、包含、引用和使用 | G02;表达业务概念及基数,暂不列数据库表/字段 |
|
||||||
|
| 状态图 | 某一对象有哪些状态、什么事件触发变化 | G06;项目、支付、工单及余额不要混成一个状态机 |
|
||||||
|
| 数据流图 | 信息从哪里来、经谁处理、存在哪里、输出给谁 | G08 先画简化业务数据流,正式技术分层/接口待阶段 4 |
|
||||||
|
| 用户旅程图 | 客户目标、触点、体验和痛点 | 以后优化注册/购买体验时可补;当前步骤和责任用泳道图已经足够 |
|
||||||
|
| 技术架构图 | 系统模块/进程/存储及调用边界 | 阶段 4 确定候选比较后画,不预先指定单库/多库或微服务 |
|
||||||
|
| 数据库 ER 图 | 表结构、键与数据库关联 | 字段设计时再生成;不能拿概念关系图当建表方案 |
|
||||||
|
| 部署架构图 | 节点、集群、网络、运行组件和存储部署 | 阶段 4/6 的技术材料;不是 G01 的业务全景 |
|
||||||
|
| 甘特图 | 时间、依赖和人员排期 | 阶段 7 有估算后再画;当前 G07 只展示范围,不编造日期 |
|
||||||
|
|
||||||
|
本轮不用为了图的名称齐全而制作所有类型。对领导先讲价值和完整业务,对开发再展开领域关系、异常和数据责任。
|
||||||
|
|
||||||
|
## G01 产品业务全景图
|
||||||
|
|
||||||
|
目标:一页解释公开平台的定位和端到端服务。核心标题应落在“应用技术封装+AI/团队定制+持续运行”,不变成“VPS 转售平台”。
|
||||||
|
|
||||||
|
建议分层呈现:
|
||||||
|
|
||||||
|
- 客户与入口:长期通过 SEO/广告/案例/目录获客;首期由熟客普通账户试用,中介不另造账户角色。
|
||||||
|
- 客户能力:选择应用、普通/高级购买、项目管理、定制工单、运行预览/正式访问及维护。
|
||||||
|
- 服务产品:已接入应用、年付开发/运维套餐、AI 定制、人工高级定制、域名、邮箱及未来公共 API。
|
||||||
|
- 交付支撑:应用契约、部署组件/资源、版本与发布、积分与权益、供应商账号池及客户沟通渠道。
|
||||||
|
|
||||||
|
选用金融官网、纯前端站点、Web+worker、仅邮箱作小例子。可以画业务能力模块,不把模块框等同独立服务、数据库或团队岗位。长期应用目录面向各行业,具体首期支持清单仍待验证。
|
||||||
|
|
||||||
|
## G02 领域概念关系图
|
||||||
|
|
||||||
|
目标:帮助同事准确理解关系,减少旧命名约束带来的误会。
|
||||||
|
|
||||||
|
主线应包含客户、可选单层项目组、项目、APP、运行组件和资源/独立服务,明确“项目可有零到多个 APP;APP 可有多个组件;组件引用所需资源;同资源多引用只计一份购买项”。
|
||||||
|
|
||||||
|
图中必须说明:
|
||||||
|
|
||||||
|
- APP 是完整软件,Web/worker 不必各自算一个 APP;应用预设决定必需与可选依赖。
|
||||||
|
- 同集群同环境项目默认同 namespace,namespace 不是数据库身份/自动共享授权。资源用显式关系绑定。
|
||||||
|
- 数据库/存储归属、引用与付费项分别表示,共享不重复收费;项目可零到多个数据库。
|
||||||
|
- 一个工单属于一个项目,可涉及多个 APP;项目发布组合关联实际版本,不要求所有仓库同名或同一 Git 提交。
|
||||||
|
- 跨项目可 API 协作,平台公共 API 是客户订阅权益;项目组不自动授权互通。客户项目组与价格客户组用不同术语。
|
||||||
|
|
||||||
|
示例建议分三块:金融官网及必需资源、官网和 worker 共用数据、评价网与内容中心分属项目通过 API 协作。仅邮箱以“零 APP”角标表达。详细费用与全部版本字段留 G05/正文,避免关系线过多。
|
||||||
|
|
||||||
|
## G03 购买与开通泳道图
|
||||||
|
|
||||||
|
建议泳道:客户、平台业务处理、自动开通能力、内部人员。箭头表达实际步骤/交接,不能把后台推理日志当客户步骤。
|
||||||
|
|
||||||
|
主流程:案例预选或目录选择 → 普通应用/必需配置/选配服务,或高级 APP/资源配置 → 年付套餐及积分合计 → 充值余额不足则充值 → 确认消耗真实积分 → 开通任务状态 → 检查实际服务可用 → 项目访问入口及成功邮件。
|
||||||
|
|
||||||
|
关键分支:
|
||||||
|
|
||||||
|
- 普通单 APP 与高级多 APP 是两种界面,汇合至相同订单/开通模型。
|
||||||
|
- 付款不等于开通,各购买服务可能部分完成或等待人工账号准备;开通失败走人工排查,不新增首期系统内退款分支。
|
||||||
|
- 默认域只受保护预览,正式访问可绑定自有域名或平台代购;试用赠送部署不能走正式域名路径。
|
||||||
|
- 完成通知失败不把已经开通的服务改为失败。仅邮箱不创建无关 Web 资源。
|
||||||
|
|
||||||
|
主图只画首期正式购买;新客赠送仅注记后续,授予/升级细则不画成已确定流程。
|
||||||
|
|
||||||
|
## G04 定制工单处理泳道图
|
||||||
|
|
||||||
|
建议泳道:客户、平台工单、自动执行能力、人工团队、发布/运行检查。客服/TG作为旁侧沟通渠道,不成为每张工单必经的会话。
|
||||||
|
|
||||||
|
共同起点:项目创建可提交 → 固定文字/附件修订 → 选择自动/人工 → 检查执行条件(应用/版本、权益/积分)。
|
||||||
|
|
||||||
|
自动路径:需求分析 → 可处理则开发 → 内部验收 → 有限修复 → 发布 → 运行核验 → 摘要/版本/预览回执。需要人工则转换同一工单,保留原需求、执行与消耗。
|
||||||
|
|
||||||
|
人工路径:内部评估 → 设置金额 → 客户同意/拒绝 → 满足消费条件后人工处理 → 验证并上线 → 系统回执。拒绝仅停止本次改动,不停掉已有有效项目。
|
||||||
|
|
||||||
|
异常路径:发布前失败保留旧版;发布后新版不可运行进入恢复并核验,恢复异常人工接管;失败回执后可修订同范围需求再试,新增业务范围另工单。余额不足停止新调用,任务信息保留。
|
||||||
|
|
||||||
|
收费角标:所有真实项目 AI 调用含失败、修复、人工辅助与转人工均消耗权益,先抵扣包含用量,超额扣充值积分;回退不退已消耗费用。循环必须显示停止条件,不能画无限“直到成功”。代码更新、引擎成功和实际上线三个结果要区分。
|
||||||
|
|
||||||
|
技术细节如 Git 服务、Dify、队列、重试参数用概念或“待选执行器”表达,不在主图中定案。源码/数据库技术变更可展开明细,客户回执先讲完成了什么。
|
||||||
|
|
||||||
|
## G05 收费与权益关系图
|
||||||
|
|
||||||
|
目标:让同事理解钱从哪里来、什么被扣、哪些权益不能混用,而不是展示复杂计费公式。
|
||||||
|
|
||||||
|
建议画三类权益池并明确用途:
|
||||||
|
|
||||||
|
1. 真实充值积分:正式套餐/服务消费及超额 AI;推荐设计默认 1 USD = 100 积分,允许小数。
|
||||||
|
2. 年付套餐内含 AI 用量:正式项目可用,消耗完以后扣充值积分;年付开发/运维可合并套餐,熟客固定服务费使合计符合合作价。
|
||||||
|
3. 后续新客测试赠送:仅测试预览、禁正式域名、可撤销/销毁,不能转真实余额或支付正式年付服务;授予细则未定。
|
||||||
|
|
||||||
|
展示一个简单算例:AI 实际成本 1 USD,20% 加价,超额应扣 120 积分。注明计算依据为实际调用成本,不按满意成果、文件数量或普通 token 总数统一单价计费;失败和修复真实调用同样消耗。
|
||||||
|
|
||||||
|
年度套餐包含开发/运维,不画提前退役按月退款;域名/邮箱独立年度服务。人工新增需求金额独立确认,同一 AI 调用不重复计费。真实余额与测试权益不得只画成一个总余额。
|
||||||
|
|
||||||
|
## G06 项目生命周期状态图
|
||||||
|
|
||||||
|
目标:解释资源何时存在、数据何时保留、代码何时归档。
|
||||||
|
|
||||||
|
图分正常开通、主动退役、到期未续费三条路径。候选状态标签是为了表达业务,具体枚举由技术设计进一步确定,不能误当已建数据库字段。
|
||||||
|
|
||||||
|
- 正常:等待开通 → 开通中 → 运行中;异常进入人工核查/重试,核验后恢复正常流程。
|
||||||
|
- 主动退役:客户确认 → 停运行并按引用释放数据资源/相关备份 → 代码及启动配置归档;不退款,后续再部署是新业务数据初始化。
|
||||||
|
- 到期:提前邮件 → 未续费停外部访问/停止相关运行 → 业务数据最多保留一周 → 期内续费条件满足则恢复,或期满清除并归档。
|
||||||
|
|
||||||
|
注明主动退役与到期保留是不同触发规则。共享资源有其他有效引用时不能销毁;最后引用释放期三天只是候选,不画成固定 SLA。域名/邮箱等独立年度服务不要用项目状态一键注销。
|
||||||
|
|
||||||
|
此图不承诺退役数据恢复;运行期间工单回退的数据保护仍属另一能力,不因退役清除规则取消正常运行备份。
|
||||||
|
|
||||||
|
## G07 首期与后续范围图
|
||||||
|
|
||||||
|
采用分栏范围图,不画甘特日期:
|
||||||
|
|
||||||
|
- 首期方向:熟客普通账户、自助年付套餐和充值积分、配置/开通与状态、固定运维、有限自动 AI、人工接续、工单原件/回执/版本、保护预览、代码归档退役和到期处理。具体应用、自动任务及高级组合支持清单还需阶段 6/7 验证。
|
||||||
|
- 后续业务:公开新客赠送策略与试用转正式、克隆、组织/成员授权、例外按月退役结算等。
|
||||||
|
- 待技术评审:数据库/执行进程边界、工作流/Git、附件安全与格式实现、减配能力、供应商适配、迁移/恢复。
|
||||||
|
|
||||||
|
外部托管数据库/存储及公共 API 属目标能力,是否进入哪个实施版本仍待决定,不能自动标为二期承诺。图中也要区分“首期熟客”与“长期公开获客”,避免领导误以为只建内部录入工具。
|
||||||
|
|
||||||
|
## G08 业务数据流技术附图
|
||||||
|
|
||||||
|
目标:与开发讨论谁保存何种信息,技术选型暂留空。可先画一个简化业务流:需求/附件 → 平台工单与修订 → 执行输入(APP/基准/权益) → 代码/产物/检查结果 → 发布 → 运行核验 → 工单回执;AI 实际消耗 → 权益抵扣/积分账目,客服记录旁侧独立。
|
||||||
|
|
||||||
|
建议明确平台业务记录、Git 工程记录、客户应用业务数据和供应商用量记录四类数据。图中的数据记录位置是逻辑责任,不代表四个数据库、四个微服务或已选厂商。
|
||||||
|
|
||||||
|
外部执行器/回调或查询、Issue/PR同步、发布核验、故障核对是待技术评审接口,用虚线标注。保持平台工单为业务主记录,不能靠引擎输出“成功”关闭工单,也不能给测试赠送正式资源权限。后续技术图再明确进程、数据库、队列、协议和网络。
|
||||||
|
|
||||||
|
## 会议讲解顺序
|
||||||
|
|
||||||
|
建议依次讲:为什么做和卖什么(G01)→ 项目怎样组成(G02)→ 客户怎样买到可运行应用(G03)→ 怎样定制并交付(G04)→ 怎样收钱(G05)→ 何时停止/保留什么(G06)→ 首期边界与下一阶段取舍(G07)。开发会再进入 G08。
|
||||||
|
|
||||||
|
只做简短汇报时用 G01/G03/G04/G05/G07,G02/G06作为问题展开页。每页保留一个结论和少量关键规则,完整分支以文档为准,不要求投影上阅读所有脚注。
|
||||||
|
|
||||||
|
## 后续绘制与维护要求
|
||||||
|
|
||||||
|
- 首次生成优先 G01,再 G02–G05,随后补 G06/G07;逐张核对,不一次让所有图共同引入新假设。
|
||||||
|
- 可交付 SVG、用于会议的 PNG 和可编辑源文件;源码放本目录 `diagrams` 下,按图号命名。具体绘图工具生成时选择,不预设 Figma、某个 AI 或特定账号。
|
||||||
|
- 主图面向横向投影/单页展示,中文、字大、留白足、关系线清楚;复杂局部拆图。图中用实线表示确认业务,虚线和文字标签表示候选/后置,不只靠颜色区分。
|
||||||
|
- 每张图写图号、日期、业务基线、源文档/决定及确认状态;SVG/PNG只是展示产物,可编辑来源和正文共同保留。
|
||||||
|
- 已确认的技术方案出现后再画技术架构/ER/部署图。图内节点不与微服务、数据库表或现网命名自动等同。
|
||||||
|
- 业务修订时同时更新受影响图及本清单状态;图与正文冲突以明确人类决定为依据核查,不能只看哪个文件新。
|
||||||
|
- 正式生成时做可读性、箭头/泳道/标签、规则一致性和导出检查,随后更新 07/08 和追加交接。本轮成果与校验见 H0003;G06–G08仍不能当作已生成。
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
# 本目录的 AI 讨论与文档协作规则
|
||||||
|
|
||||||
|
本文件只约束当前规划目录。它帮助不同人员、不同 AI 和新对话从文件恢复讨论,不授权开发、部署、修改现网或对外发布。当前人类指令优先;遇到新事实应回写文档,而非用旧聊天覆盖文件。
|
||||||
|
|
||||||
|
## 新对话必须先恢复状态
|
||||||
|
|
||||||
|
1. 阅读本文件和 `README.md`。
|
||||||
|
2. 阅读 `08-当前讨论状态.md`,定位当前阶段、主文档、最新交接、已确认基线和下一轮入口。
|
||||||
|
3. 阅读 `09-协作与交接规范.md`,再阅读状态文档指定的最新交接记录。
|
||||||
|
4. 阅读当前主文档的相关章节及 `07-待确认问题与决策记录.md`,按需要读取关联文档。首次接手阶段 4 时,至少了解 01/02/05 与 03 开头的基线,不只阅读架构候选。
|
||||||
|
5. 核对最新交接的文件清单/摘要和实际文件;检查是否存在未登记改动、冲突或比状态更晚的记录。
|
||||||
|
6. 用简短回复说明恢复出的进度、已确认前提、未决事项和本轮准备讨论的主题,再开始工作。不能声称已读取未实际读取的文件。
|
||||||
|
|
||||||
|
旧对话只作辅助上下文。当前人类补充、已确认决定及对应正文是业务依据,状态文件只是导航;日期最新或 AI 改过文件本身不等于决定已获确认。若正文/决定/状态不一致,先定位差异,保留明确无冲突的结论,修正导航;涉及互相冲突的业务决定时向当前参与人确认,不静默选一个。
|
||||||
|
|
||||||
|
## 讨论边界
|
||||||
|
|
||||||
|
- 中文讨论,先完成产品与领域理解,再逐步设计技术。每轮聚焦一至三个相关主题,不因一次上下文容量限制整体项目。
|
||||||
|
- 首期核心正确、其他从简。后置的试用额度细则、例外月退、克隆和复杂组织授权不得重新当作首期阻塞条件。
|
||||||
|
- 已确认、建议待评审、待补事实、后续版本分别标记;不把 AI 推荐或本次未回答的问题写成已确认。
|
||||||
|
- 产品经理负责目标、业务规则、范围和业务验收;开发/运维与产品共同评审架构和迁移。技术确认不能自行改变收费、权限或客户承诺。
|
||||||
|
- 已有决定可修订,但要记录旧决定、新事实、确认来源、影响和替代关系,保存历史。
|
||||||
|
- 文档是规划成果。除当前人类明确授权的其他工作外,只修改本目录;不碰旧资产库表、客户资源、现网命名、代码/CI、供应商账户或服务器。
|
||||||
|
- 引用现状代码只用于分析,旧约束不自动成为目标架构要求。不要把凭据、客户私有数据或真实生产密钥写入交接资料。
|
||||||
|
|
||||||
|
## 每轮必须落盘
|
||||||
|
|
||||||
|
1. 更新本轮主文档;同步确实受影响的正文,不为统一版本号改无关文件。
|
||||||
|
2. 在 07 追加决定/建议或更新问题状态,说明人类确认依据与被替代决定。建议不进入“已确认决定”。
|
||||||
|
3. 按模板在 `handoffs` 新增交接记录,记录本轮主题、变更文件、确认/未决、范围影响和下一步;历史交接不覆盖。
|
||||||
|
4. 更新 08 的当前阶段/主题、最新交接、下一步和待产品/技术确认事项;必要时更新 README 和 00。
|
||||||
|
5. 检查链接、标识冲突、旧规则残留及状态/正文一致性。对交接涉及的正文和导航文件记录 SHA-256 摘要;交接记录自身和模板不参与自身摘要。
|
||||||
|
6. 最后向参与人报告保存位置和仍未定案的事项。不能把计划设计误报成已经开发、迁移或上线。
|
||||||
|
|
||||||
|
若本轮仅解释概念,没有新结论或文件变化,不必机械制造空交接;若因上下文结束中断,保存“未完成交接”,不要伪装已完成。
|
||||||
|
|
||||||
|
## 可移交与并行修改
|
||||||
|
|
||||||
|
- 目录内部 Markdown 链接使用相对路径,主文档不硬编码本机根路径。命令及对话中的真实路径按所在环境要求使用。
|
||||||
|
- 将整个目录移交,保留状态、规范、决策和交接历史;不要只发当前主文档。
|
||||||
|
- 无 Git 时同一时刻由一人维护主副本,交接说明发送和返回的版本;拿回目录前保留本地旧副本,按变更清单核对,不直接覆盖未合并工作。
|
||||||
|
- 有 Git 时通过分支/提交合并,状态/决定编号冲突必须人工核对。没有授权不要创建远端仓库、推送或公开文档。
|
||||||
|
- 多人同时工作须划分文件/专题;指定汇总者更新 07/08/README。同一主文档并行修改先协调;不得恢复旧版本来抹掉其他人的改动。
|
||||||
|
|
||||||
|
详细恢复、返还和冲突规则见 `09-协作与交接规范.md`。
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
# AI 软件交付与持续服务平台规划入口
|
||||||
|
|
||||||
|
本项目建设对外的软件交付与持续服务网站,通过 SEO、广告和公开应用能力展示获客。核心价值是团队把 Web 应用封装为可稳定运行的交付基础,并通过 AI 或人员利用 AI 完成二次开发与系统定制。基础部署、运行资源、域名和邮箱支撑客户体验、上线和成本覆盖。旧资产库作为迁移来源,不预设成为新系统底座。
|
||||||
|
|
||||||
|
暂定代号 `ai-web-delivery`。目录协作版本 0.18,业务基线 0.15,2026-10-13。2026-10-13 会议口径已写入 02、03、05 开头和 D085–D088。最新进度见 [08](08-当前讨论状态.md),确认依据查正文与 07。
|
||||||
|
|
||||||
|
## 现在从哪里开始
|
||||||
|
|
||||||
|
**任何人或新 AI 接手,都先按此顺序恢复:** [AGENTS.md](AGENTS.md) → 本 README → [08 当前状态](08-当前讨论状态.md) → [09 协作规范](09-协作与交接规范.md) → 08 指定的最新交接 → 当前主文档及相关决定。不要固定读取某条旧交接而跳过后来记录。
|
||||||
|
|
||||||
|
当前会议入口是 [G01–G05 图集](diagrams/README.md),可打开离线展示页,或阅读可编辑 Markdown。图表依据及 G06–G08 后续计划见 [10](10-会议图表与可视化计划.md)。未把候选架构表达成定案。
|
||||||
|
|
||||||
|
会议准备后回到 [03](03-系统架构与领域模型.md)讨论业务模块、数据所有权、进程/数据库边界及工作流/Git。前三阶段依据见 01/02/05 与 03 开头;新 AI 不得把建议当技术定案。
|
||||||
|
|
||||||
|
完整顺序见 [00 分阶段讨论计划](00-分阶段讨论计划.md)。阶段 4 是架构,阶段 5 是旧业务迁移/切换,均适合与开发/运维共同讨论;产品继续负责范围、收费权益、客户体验及业务衔接。阶段 6/7 才进一步细化交付运行及实施计划,当前不自动开始编码或生产操作。
|
||||||
|
|
||||||
|
核心定位仍是二次开发与系统定制,基础服务支撑获客和成本覆盖。首期熟客普通账户购买年付套餐,可捆绑约定开发、运维和包含 AI 用量,固定服务费使合计符合原协议;固定运维、有限自动 AI 和人工复杂定制并存。超额 AI 用充值积分消费,推荐 1 USD = 100 积分,所有模式实际已耗调用均计费;退役不退款,特殊差额系统外处理。
|
||||||
|
|
||||||
|
工单固定客户本次清楚提出的改动。每一次工单创建一个版本,恢复使用该版本。自动路径先做 AI 验收,失败达到 x 次再转为原工单的人工模式,x 未定。人工模式额外同意或拒绝金额。在线客服或 Telegram 承担沟通。计费按客户分模式,暂时只记用户报价模式和用户自由模式,见 05。
|
||||||
|
|
||||||
|
本轮补充普通单 APP 向导与高级配置、开通状态/邮件、系统回执及失败修订重试、减配建议、退役与再次部署、到期关闭访问并最多保留一周业务数据。工作流建议由平台记录任务/费用/版本/发布,外部引擎可替换;附件建议支持 Word/PDF 图文并隔离处理。建议与已确认规则分开保存,未选执行器或数据库。
|
||||||
|
|
||||||
|
充值余额、套餐包含 AI 用量、新客测试赠送三者分开。测试赠送永远只作预览体验,不能绑定正式域名,平台可销毁测试部署;新客授予细则不是首期任务。主动退役只保留代码和启动配置,清理计算、数据库、文件和相关备份,不恢复原业务,也不算按月退款或退役配置差价。
|
||||||
|
|
||||||
|
现在可核对 02/05 的简化基线;下一轮建议以 03 开始平台模块、数据责任、单库/多库及执行边界讨论,再展开工作流/Git 专题。细则按依赖留后续,不再用公开赠送策略或小时/月计费卡住首期。
|
||||||
|
|
||||||
|
## 文档状态
|
||||||
|
|
||||||
|
| 文档 | 当前用途 | 阅读时机 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| [00 分阶段讨论计划](<00-分阶段讨论计划.md>) | 当前讨论导航 | 现在阅读 |
|
||||||
|
| [01 立项与产品定位](<01-立项与产品定位.md>) | 阶段 1 业务基线,可回溯修订 | 需要核对前提时查阅 |
|
||||||
|
| [02 业务流程与产品需求](<02-业务流程与产品需求.md>) | 阶段 3 首期流程基线 | 架构前了解业务行为 |
|
||||||
|
| [03 系统架构与领域模型](<03-系统架构与领域模型.md>) | 阶段 2 基线与阶段 4 架构候选 | 会议准备后进入架构讨论 |
|
||||||
|
| [04 模板与 AI 工作流](<04-模板与AI工作流.md>) | 待验证的工作流草案 | 阶段 6 细化 |
|
||||||
|
| [05 商业模式与成本指标](<05-商业模式与成本指标.md>) | 计费与成本讨论素材 | 阶段 3 细化 |
|
||||||
|
| [06 实施路线与验收标准](<06-实施路线与验收标准.md>) | 后期版本规划准备,不构成排期 | 阶段 7 决定 |
|
||||||
|
| [07 待确认问题与决策记录](<07-待确认问题与决策记录.md>) | 跨讨论保存问题和决定 | 按需要查阅 |
|
||||||
|
| [AGENTS.md](AGENTS.md) | AI 恢复与保存规则 | 每次接手先读 |
|
||||||
|
| [08 当前讨论状态](08-当前讨论状态.md) | 最新进度、交接与下一步 | 每次开始和结束核对 |
|
||||||
|
| [09 协作与交接规范](09-协作与交接规范.md) | 分工、发送/返回/合并和冲突规则 | 首次接手、移交或合并时读 |
|
||||||
|
| [10 会议图表与可视化计划](10-会议图表与可视化计划.md) | 逐图规格、生成状态、会议顺序和输出方式 | 核对图的依据;G01–G05 已生成 |
|
||||||
|
| [G01–G05 会议图集](diagrams/README.md) | 可编辑 Markdown、SVG/PNG 和离线会议浏览 | 当前会议入口,按图逐项核对 |
|
||||||
|
| [交接模板](handoffs/_交接记录模板.md) | 每轮新增 H 记录,历史不覆盖 | 实际推进结束时使用 |
|
||||||
|
|
||||||
|
## 发给同事或新 AI 的启动提示
|
||||||
|
|
||||||
|
把整个文件夹放到对方可读取的工作区,再将实际路径填入下面提示。不是每个 AI 都自动读取 AGENTS,显式要求读取更可靠。
|
||||||
|
|
||||||
|
```text
|
||||||
|
请接手这个项目规划目录:[填写实际目录路径]。
|
||||||
|
先读取 AGENTS.md、README.md、08-当前讨论状态.md、09-协作与交接规范.md,再读取状态指定的最新交接和当前主文档及相关决定。
|
||||||
|
核对实际文件与交接中的变更/摘要,简要说明你理解的阶段进度、已确认前提、未决事项及下一讨论题,然后按该题与我逐步讨论。
|
||||||
|
只维护规划文档,不开始实施或操作现网。建议和人类确认分开记录,不用你自己的推荐修改已确认业务规则。
|
||||||
|
每轮实际推进后更新正文和07、追加handoffs记录、更新08及必要导航,并说明下一轮入口。
|
||||||
|
```
|
||||||
|
|
||||||
|
拿回同事的新版本后,可在原聊天或新聊天使用:
|
||||||
|
|
||||||
|
```text
|
||||||
|
这个目录已由同事更新:[填写当前目录路径]。
|
||||||
|
请重新读取规范、当前状态、最新交接与涉及的正文/决定,不以本聊天的旧记忆覆盖文件。
|
||||||
|
先比较返回记录与实际改动,说明新增决定、待评审建议、业务变化和冲突,再继续状态指定的下一题。
|
||||||
|
如果我本地也有未合并版本,请先核对双方共同基线和变化,不直接覆盖任何一边的工作。
|
||||||
|
```
|
||||||
|
|
||||||
|
## 分享与返还
|
||||||
|
|
||||||
|
分享整个目录,保留 07/08/09、AGENTS 和 handoffs;不要只发送某篇主文档。内部链接为相对路径,复制后仍可导航;外部旧源码/环境路径是可选参考,需要时另行提供。
|
||||||
|
|
||||||
|
没有 Git 时先用一人维护主副本的方式,发送后暂停同文件并行编辑,返回时保留旧副本并核对 H 记录。双方都有新改动时合并差异,不按修改时间直接覆盖。有 Git 时可用分支/提交,但本轮未创建远端、推送或公开资料。
|
||||||
|
|
||||||
|
同事方案进入文件不等于全部通过。交接记录需说明谁确认了什么、哪些仍是建议、是否影响产品基线,详细规则见 09。每次新对话先恢复再复述;上下文记忆可辅助,文件和确认记录负责长期接续。
|
||||||
|
|
||||||
|
## 规划原则
|
||||||
|
|
||||||
|
- 先描绘目标业务全貌,再确定首期范围,不用首期简化方案代替整体模型。
|
||||||
|
- 统一系统按统一业务、身份、权限和数据责任设计;部署成几个进程或数据库另行论证。
|
||||||
|
- 客户来源不是固定类型或授权依据;支持项目分组和差异收费,分类方式另定。
|
||||||
|
- 应用需形成可重复交付的接入成果再进入支持目录,不把热门或能启动直接等同于已支持。
|
||||||
|
- 旧代码、旧表结构、人工命名和脚本限制不自动成为新系统要求。
|
||||||
|
- 旧业务无缝衔接通过可验证的数据迁移和受控切换实现,不以保留旧结构为前提。
|
||||||
|
- 每轮集中讨论一个主题,更新相关文档和决策记录,不一次要求确认全部草案。
|
||||||
|
- 已确认决定、方案建议和待确认问题分开记录;有新证据时允许回到前一阶段修订。
|
||||||
|
|
||||||
|
目前只修改规划文档。现网约束继续适用于旧系统实际运维,未来模型设计不会直接改变当前客户资源。
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>AI 软件交付平台 · G01–G05 会议图集</title><style>
|
||||||
|
*{box-sizing:border-box}body{margin:0;background:#f2f5fa;color:#17233a;font-family:"Microsoft YaHei",Arial,sans-serif;font-size:16px}header{background:#fff;padding:20px 28px;border-bottom:1px solid #dce3ed}header p{margin:4px 0;color:#526176}nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}button{font:inherit;border:1px solid #cbd5e1;border-radius:6px;background:#fff;padding:10px 14px;color:#17233a;cursor:pointer}button[aria-pressed=true]{background:#253f6b;color:#fff;border-color:#253f6b}main{padding:24px 28px}h1{font-size:28px;margin:0 0 12px}h2{font-size:19px;margin:0 0 12px}.lead{line-height:1.8;margin:0 0 10px}.links{font-size:14px;line-height:1.8}a{color:#245b98}article{background:white;border-radius:8px;padding:20px;margin:20px 0;border:1px solid #dce3ed}.diagram{overflow:auto}.diagram>svg{width:100%;height:auto;min-width:1000px;display:block}footer{color:#526176;font-size:14px;line-height:1.8;margin-top:20px}@media(max-width:700px){header,main{padding:16px}article{padding:12px}h1{font-size:24px}}@media print{nav,header,.links{display:none}body,main{background:white;padding:0}section[hidden]{display:block!important}article{break-inside:avoid;page-break-after:always;border:0;padding:0}.diagram{overflow:visible}.diagram>svg{min-width:0}footer{display:none}}
|
||||||
|
</style></head><body><header><strong>AI 软件交付与持续服务平台 · 会议图集</strong><p>G01–G05 · 2026-10-12 · 业务基线 0.14 · 图集 0.17</p><nav aria-label="选择图表"><button type="button" data-index="0" aria-pressed="true">G01 产品业务全景</button><button type="button" data-index="1" aria-pressed="false">G02 领域概念关系</button><button type="button" data-index="2" aria-pressed="false">G03 购买与开通</button><button type="button" data-index="3" aria-pressed="false">G04 定制工单处理</button><button type="button" data-index="4" aria-pressed="false">G05 收费与权益</button></nav></header><main><section id="panel0" ><h1>G01 产品业务全景</h1><p class="lead">我们销售可稳定运行的应用技术封装,以及 AI 和团队的定制开发能力;基础服务保障交付和成本覆盖。</p><p class="links"><a href="G01-产品业务全景.md">阅读 Markdown 与编辑源</a> · <a href="G01-产品业务全景.svg">产品业务全景 SVG</a> · <a href="G01-产品业务全景.png">PNG</a></p><article><h2>产品业务全景</h2><div class="diagram"><svg xmlns="http://www.w3.org/2000/svg" width="1657" height="1082" viewBox="0 0 1657 1082" role="img" aria-labelledby="G01-产品业务全景Title G01-产品业务全景Desc"><title id="G01-产品业务全景Title">G01 产品业务全景 · 产品业务全景</title><desc id="G01-产品业务全景Desc">我们销售可稳定运行的应用技术封装,以及 AI 和团队的定制开发能力;基础服务保障交付和成本覆盖。;2026-10-12,业务基线 0.14,图集版本 0.17</desc><rect width="100%" height="100%" fill="#fff"/><text x="32" y="42" font-family="Microsoft YaHei,Arial,sans-serif" font-size="28" font-weight="600" fill="#17233a">G01 产品业务全景</text><text x="32" y="79" font-family="Microsoft YaHei,Arial,sans-serif" font-size="18" fill="#526176">2026-10-12 · 业务基线 0.14 · 图集 0.17 · 主图 · 技术选型未定</text><g transform="translate(32,124)"><svg id="diagram01x0" width="1592.15625" xmlns="http://www.w3.org/2000/svg" class="flowchart" height="910" viewBox="0 -1 1592.15625 910" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#diagram01x0{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;fill:#17233a;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram01x0 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram01x0 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram01x0 .error-icon{fill:#ffffff;}#diagram01x0 .error-text{fill:#000000;stroke:#000000;}#diagram01x0 .edge-thickness-normal{stroke-width:1px;}#diagram01x0 .edge-thickness-thick{stroke-width:3.5px;}#diagram01x0 .edge-pattern-solid{stroke-dasharray:0;}#diagram01x0 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram01x0 .edge-pattern-dashed{stroke-dasharray:3;}#diagram01x0 .edge-pattern-dotted{stroke-dasharray:2;}#diagram01x0 .marker{fill:#60718a;stroke:#60718a;}#diagram01x0 .marker.cross{stroke:#60718a;}#diagram01x0 svg{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;}#diagram01x0 p{margin:0;}#diagram01x0 .label{font-family:Microsoft YaHei,Arial,sans-serif;color:#17233a;}#diagram01x0 .cluster-label text{fill:#000000;}#diagram01x0 .cluster-label span{color:#000000;}#diagram01x0 .cluster-label span p{background-color:transparent;}#diagram01x0 .label text,#diagram01x0 span{fill:#17233a;color:#17233a;}#diagram01x0 .node rect,#diagram01x0 .node circle,#diagram01x0 .node ellipse,#diagram01x0 .node polygon,#diagram01x0 .node path{fill:#eef5ff;stroke:#8198bb;stroke-width:1px;}#diagram01x0 .rough-node .label text,#diagram01x0 .node .label text,#diagram01x0 .image-shape .label,#diagram01x0 .icon-shape .label{text-anchor:middle;}#diagram01x0 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram01x0 .rough-node .label,#diagram01x0 .node .label,#diagram01x0 .image-shape .label,#diagram01x0 .icon-shape .label{text-align:center;}#diagram01x0 .node.clickable{cursor:pointer;}#diagram01x0 .root .anchor path{fill:#60718a!important;stroke-width:0;stroke:#60718a;}#diagram01x0 .arrowheadPath{fill:#0b0b0b;}#diagram01x0 .edgePath .path{stroke:#60718a;stroke-width:2.0px;}#diagram01x0 .flowchart-link{stroke:#60718a;fill:none;}#diagram01x0 .edgeLabel{background-color:#f3f8f6;text-align:center;}#diagram01x0 .edgeLabel p{background-color:#f3f8f6;}#diagram01x0 .edgeLabel rect{opacity:0.5;background-color:#f3f8f6;fill:#f3f8f6;}#diagram01x0 .labelBkg{background-color:rgba(243, 248, 246, 0.5);}#diagram01x0 .cluster rect{fill:#f8fafc;stroke:#cbd5e1;stroke-width:1px;}#diagram01x0 .cluster text{fill:#000000;}#diagram01x0 .cluster span{color:#000000;}#diagram01x0 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;paddiLine truncated
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
# G01 产品业务全景
|
||||||
|
|
||||||
|
2026-10-13 · 业务基线 0.15 · 图集版本 0.18。按 D085–D088 修订文字。标记“后续”的能力不代表当前交付承诺。投影用 SVG 尚未按本次文字重绘。
|
||||||
|
|
||||||
|
**我们销售可稳定运行的应用技术封装,以及 AI 和团队的定制开发能力;基础服务保障交付和成本覆盖。**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TB
|
||||||
|
product["AI 软件交付与持续服务平台"]
|
||||||
|
subgraph audience["客户与入口"]
|
||||||
|
direction LR
|
||||||
|
familiar["首期:熟客普通账户
|
||||||
|
中介也按普通客户使用"]
|
||||||
|
publicEntry["长期:公开服务网站
|
||||||
|
案例、应用目录、SEO、广告"]
|
||||||
|
familiar ~~~ publicEntry
|
||||||
|
end
|
||||||
|
subgraph value["核心销售与配套服务"]
|
||||||
|
direction LR
|
||||||
|
packaging["经验证的应用技术封装
|
||||||
|
自有模板 / 开源应用"]
|
||||||
|
customization["核心价值:二次开发定制
|
||||||
|
有限自动 AI / 人工团队使用 AI"]
|
||||||
|
annual["年付开发与运行套餐
|
||||||
|
资源、域名、邮箱可按需选配"]
|
||||||
|
apiService["目标能力:公共 API 服务
|
||||||
|
独立订阅;接入版本待定"]
|
||||||
|
packaging ~~~ customization ~~~ annual ~~~ apiService
|
||||||
|
end
|
||||||
|
subgraph journey["客户使用路径"]
|
||||||
|
direction LR
|
||||||
|
choose["选应用并配置项目
|
||||||
|
普通向导 / 高级组合"]
|
||||||
|
operate["查看部署与管理应用
|
||||||
|
受保护预览 / 正式域名"]
|
||||||
|
request["工单提交明确改动需求
|
||||||
|
文字和附件;自动或人工"]
|
||||||
|
deliver["核验后更新运行版本
|
||||||
|
回执、版本记录、持续维护"]
|
||||||
|
choose --> operate --> request --> deliver
|
||||||
|
end
|
||||||
|
subgraph support["统一产品的内部支撑能力"]
|
||||||
|
direction LR
|
||||||
|
catalog["应用预设与资源绑定
|
||||||
|
应用指功能,如邮箱应用
|
||||||
|
初级不选组件;域名资源另购"]
|
||||||
|
execution["每次工单创建一个版本
|
||||||
|
恢复就用这个版本"]
|
||||||
|
business["账户、年付订单、积分与权益
|
||||||
|
供应商账号池、客服 / TG 沟通"]
|
||||||
|
catalog ~~~ execution ~~~ business
|
||||||
|
end
|
||||||
|
audience --> product --> value --> journey --> support
|
||||||
|
classDef future fill:#f4f4f5,stroke:#71717a,stroke-dasharray:5 4;
|
||||||
|
class apiService future;
|
||||||
|
```
|
||||||
|
|
||||||
|
读图时说明:
|
||||||
|
|
||||||
|
- 各框表示业务能力,不代表独立微服务、数据库或已经完成的功能。
|
||||||
|
- 应用目录可以跨行业扩展,但必须先接入、调通并验证。金融机构展示官网、纯前端站点、Web+worker、仅邮箱是代表场景;并非所有场景首期都自动化。
|
||||||
|
- 应用指功能,邮箱应用是例子。初级版本不让客户选择 Web、API、worker。域名是需要购买的资源。高级版本的组件选择以后再做。
|
||||||
|
- 不单独做任务执行、自动能力与人工接续这一层。每一次工单创建一个版本,恢复使用该版本。自动路径先 AI 验收,失败达到 x 次再转人工,x 未定。
|
||||||
|
- 工单承载改动任务和系统回执。沟通与价格协商通过客服或 TG,人工工单额外确认金额。计费按客户分模式,暂时只记用户报价模式和用户自由模式,见 G05。
|
||||||
|
- 标准开源应用部署不额外收开发费;资源等基础费用仍须覆盖成本。定制能力是核心销售,不能把平台理解成单纯出售 VPS。
|
||||||
|
|
||||||
|
依据:[01 产品定位](../01-立项与产品定位.md)、[02 业务流程](../02-业务流程与产品需求.md)、[05 商业模式](../05-商业模式与成本指标.md)。[返回图集](README.md)。
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
flowchart TB
|
||||||
|
product["AI 软件交付与持续服务平台"]
|
||||||
|
subgraph audience["客户与入口"]
|
||||||
|
direction LR
|
||||||
|
familiar["首期:熟客普通账户
|
||||||
|
中介也按普通客户使用"]
|
||||||
|
publicEntry["长期:公开服务网站
|
||||||
|
案例、应用目录、SEO、广告"]
|
||||||
|
familiar ~~~ publicEntry
|
||||||
|
end
|
||||||
|
subgraph value["核心销售与配套服务"]
|
||||||
|
direction LR
|
||||||
|
packaging["经验证的应用技术封装
|
||||||
|
自有模板 / 开源应用"]
|
||||||
|
customization["核心价值:二次开发定制
|
||||||
|
有限自动 AI / 人工团队使用 AI"]
|
||||||
|
annual["年付开发与运行套餐
|
||||||
|
资源、域名、邮箱可按需选配"]
|
||||||
|
apiService["目标能力:公共 API 服务
|
||||||
|
独立订阅;接入版本待定"]
|
||||||
|
packaging ~~~ customization ~~~ annual ~~~ apiService
|
||||||
|
end
|
||||||
|
subgraph journey["客户使用路径"]
|
||||||
|
direction LR
|
||||||
|
choose["选应用并配置项目
|
||||||
|
普通向导 / 高级组合"]
|
||||||
|
operate["查看部署与管理应用
|
||||||
|
受保护预览 / 正式域名"]
|
||||||
|
request["工单提交明确改动需求
|
||||||
|
文字和附件;自动或人工"]
|
||||||
|
deliver["核验后更新运行版本
|
||||||
|
回执、版本记录、持续维护"]
|
||||||
|
choose --> operate --> request --> deliver
|
||||||
|
end
|
||||||
|
subgraph support["统一产品的内部支撑能力"]
|
||||||
|
direction LR
|
||||||
|
catalog["应用预设与资源绑定
|
||||||
|
Web、API、worker 等组件"]
|
||||||
|
execution["任务执行、版本与恢复
|
||||||
|
自动能力与人工接续"]
|
||||||
|
business["账户、年付订单、积分与权益
|
||||||
|
供应商账号池、客服 / TG 沟通"]
|
||||||
|
catalog ~~~ execution ~~~ business
|
||||||
|
end
|
||||||
|
audience --> product --> value --> journey --> support
|
||||||
|
classDef future fill:#f4f4f5,stroke:#71717a,stroke-dasharray:5 4;
|
||||||
|
class apiService future;
|
||||||
|
After Width: | Height: | Size: 251 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="1657" height="1082" viewBox="0 0 1657 1082" role="img" aria-labelledby="G01-产品业务全景Title G01-产品业务全景Desc"><title id="G01-产品业务全景Title">G01 产品业务全景 · 产品业务全景</title><desc id="G01-产品业务全景Desc">我们销售可稳定运行的应用技术封装,以及 AI 和团队的定制开发能力;基础服务保障交付和成本覆盖。;2026-10-12,业务基线 0.14,图集版本 0.17</desc><rect width="100%" height="100%" fill="#fff"/><text x="32" y="42" font-family="Microsoft YaHei,Arial,sans-serif" font-size="28" font-weight="600" fill="#17233a">G01 产品业务全景</text><text x="32" y="79" font-family="Microsoft YaHei,Arial,sans-serif" font-size="18" fill="#526176">2026-10-12 · 业务基线 0.14 · 图集 0.17 · 主图 · 技术选型未定</text><g transform="translate(32,124)"><svg id="diagram01x0" width="1592.15625" xmlns="http://www.w3.org/2000/svg" class="flowchart" height="910" viewBox="0 -1 1592.15625 910" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#diagram01x0{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;fill:#17233a;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram01x0 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram01x0 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram01x0 .error-icon{fill:#ffffff;}#diagram01x0 .error-text{fill:#000000;stroke:#000000;}#diagram01x0 .edge-thickness-normal{stroke-width:1px;}#diagram01x0 .edge-thickness-thick{stroke-width:3.5px;}#diagram01x0 .edge-pattern-solid{stroke-dasharray:0;}#diagram01x0 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram01x0 .edge-pattern-dashed{stroke-dasharray:3;}#diagram01x0 .edge-pattern-dotted{stroke-dasharray:2;}#diagram01x0 .marker{fill:#60718a;stroke:#60718a;}#diagram01x0 .marker.cross{stroke:#60718a;}#diagram01x0 svg{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;}#diagram01x0 p{margin:0;}#diagram01x0 .label{font-family:Microsoft YaHei,Arial,sans-serif;color:#17233a;}#diagram01x0 .cluster-label text{fill:#000000;}#diagram01x0 .cluster-label span{color:#000000;}#diagram01x0 .cluster-label span p{background-color:transparent;}#diagram01x0 .label text,#diagram01x0 span{fill:#17233a;color:#17233a;}#diagram01x0 .node rect,#diagram01x0 .node circle,#diagram01x0 .node ellipse,#diagram01x0 .node polygon,#diagram01x0 .node path{fill:#eef5ff;stroke:#8198bb;stroke-width:1px;}#diagram01x0 .rough-node .label text,#diagram01x0 .node .label text,#diagram01x0 .image-shape .label,#diagram01x0 .icon-shape .label{text-anchor:middle;}#diagram01x0 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram01x0 .rough-node .label,#diagram01x0 .node .label,#diagram01x0 .image-shape .label,#diagram01x0 .icon-shape .label{text-align:center;}#diagram01x0 .node.clickable{cursor:pointer;}#diagram01x0 .root .anchor path{fill:#60718a!important;stroke-width:0;stroke:#60718a;}#diagram01x0 .arrowheadPath{fill:#0b0b0b;}#diagram01x0 .edgePath .path{stroke:#60718a;stroke-width:2.0px;}#diagram01x0 .flowchart-link{stroke:#60718a;fill:none;}#diagram01x0 .edgeLabel{background-color:#f3f8f6;text-align:center;}#diagram01x0 .edgeLabel p{background-color:#f3f8f6;}#diagram01x0 .edgeLabel rect{opacity:0.5;background-color:#f3f8f6;fill:#f3f8f6;}#diagram01x0 .labelBkg{background-color:rgba(243, 248, 246, 0.5);}#diagram01x0 .cluster rect{fill:#f8fafc;stroke:#cbd5e1;stroke-width:1px;}#diagram01x0 .cluster text{fill:#000000;}#diagram01x0 .cluster span{color:#000000;}#diagram01x0 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:Microsoft YaHei,Arial,sans-serif;font-size:12px;background:#ffffff;border:1px solid hsl(0, 0%, 90%);border-radius:2px;pointer-events:none;z-index:100;}#diagram01x0 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#17233a;}#diagram01x0 rect.text{fill:none;stroke-width:0;}#diagram01x0 .icon-shape,#diagram01x0 .image-shape{background-color:#f3f8f6;text-align:center;}#diagram01x0 .icon-shape p,#diagram01x0 .image-shape p{background-color:#f3f8f6;padding:2px;}#diagram01x0 .icon-shape rect,#diagram01x0 .image-shape rect{opacity:0.5;background-color:#f3f8f6;fill:#f3f8f6;}#diagram01x0 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram01x0 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram01x0 :root{--mermaid-font-family:Microsoft YaHei,Arial,sans-serif;}#diagram01x0 .future rect{fill:#f4f4f5!important;stroke:#71717a!important;stroke-dasharray:5 4!important;}#diagram01x0 .future polygon{fill:#f4f4f5!important;stroke:#71717a!important;stroke-dasharray:5 4!important;}#diagram01x0 .future ellipse{fill:#f4f4f5!importLine truncated
|
||||||
|
After Width: | Height: | Size: 27 KiB |
@@ -0,0 +1,18 @@
|
|||||||
|
flowchart TB
|
||||||
|
scope["项目:工单的业务范围"]
|
||||||
|
workOrder["工单属于一个项目
|
||||||
|
可修改该项目多个 APP"]
|
||||||
|
version["项目发布组合
|
||||||
|
关联涉及 APP 的代码、产物、配置版本"]
|
||||||
|
software["APP:完整软件实例"]
|
||||||
|
runtime["运行组件与配置档位"]
|
||||||
|
resources["明确归属的数据库 / 存储
|
||||||
|
可被多个组件显式引用"]
|
||||||
|
items["购买项:独立计费对象
|
||||||
|
组件资源分别计费;共享资源只计一份"]
|
||||||
|
scope --> workOrder --> version
|
||||||
|
version -->|"记录版本"| software
|
||||||
|
software -->|"由组件运行"| runtime
|
||||||
|
runtime -->|"显式引用"| resources
|
||||||
|
runtime -->|"配置费用"| items
|
||||||
|
resources -->|"对应购买项"| items
|
||||||
|
After Width: | Height: | Size: 137 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="1298" viewBox="0 0 1000 1298" role="img" aria-labelledby="G02-工单与购买项Title G02-工单与购买项Desc"><title id="G02-工单与购买项Title">G02 领域概念关系 · 工单与购买项</title><desc id="G02-工单与购买项Desc">项目代表业务目标,APP 代表完整软件;组件运行软件,资源由显式绑定关联。;2026-10-12,业务基线 0.14,图集版本 0.17</desc><rect width="100%" height="100%" fill="#fff"/><text x="32" y="42" font-family="Microsoft YaHei,Arial,sans-serif" font-size="28" font-weight="600" fill="#17233a">G02 · 工单与购买项</text><text x="32" y="79" font-family="Microsoft YaHei,Arial,sans-serif" font-size="18" fill="#526176">2026-10-12 · 业务基线 0.14 · 图集 0.17 · 展开图 · 技术选型未定</text><g transform="translate(270,124)"><svg id="diagram02x1" width="460.29296875" xmlns="http://www.w3.org/2000/svg" class="flowchart" height="1126" viewBox="0 0 460.29296875 1126" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#diagram02x1{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;fill:#17233a;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram02x1 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram02x1 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram02x1 .error-icon{fill:#ffffff;}#diagram02x1 .error-text{fill:#000000;stroke:#000000;}#diagram02x1 .edge-thickness-normal{stroke-width:1px;}#diagram02x1 .edge-thickness-thick{stroke-width:3.5px;}#diagram02x1 .edge-pattern-solid{stroke-dasharray:0;}#diagram02x1 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram02x1 .edge-pattern-dashed{stroke-dasharray:3;}#diagram02x1 .edge-pattern-dotted{stroke-dasharray:2;}#diagram02x1 .marker{fill:#60718a;stroke:#60718a;}#diagram02x1 .marker.cross{stroke:#60718a;}#diagram02x1 svg{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;}#diagram02x1 p{margin:0;}#diagram02x1 .label{font-family:Microsoft YaHei,Arial,sans-serif;color:#17233a;}#diagram02x1 .cluster-label text{fill:#000000;}#diagram02x1 .cluster-label span{color:#000000;}#diagram02x1 .cluster-label span p{background-color:transparent;}#diagram02x1 .label text,#diagram02x1 span{fill:#17233a;color:#17233a;}#diagram02x1 .node rect,#diagram02x1 .node circle,#diagram02x1 .node ellipse,#diagram02x1 .node polygon,#diagram02x1 .node path{fill:#eef5ff;stroke:#8198bb;stroke-width:1px;}#diagram02x1 .rough-node .label text,#diagram02x1 .node .label text,#diagram02x1 .image-shape .label,#diagram02x1 .icon-shape .label{text-anchor:middle;}#diagram02x1 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram02x1 .rough-node .label,#diagram02x1 .node .label,#diagram02x1 .image-shape .label,#diagram02x1 .icon-shape .label{text-align:center;}#diagram02x1 .node.clickable{cursor:pointer;}#diagram02x1 .root .anchor path{fill:#60718a!important;stroke-width:0;stroke:#60718a;}#diagram02x1 .arrowheadPath{fill:#0b0b0b;}#diagram02x1 .edgePath .path{stroke:#60718a;stroke-width:2.0px;}#diagram02x1 .flowchart-link{stroke:#60718a;fill:none;}#diagram02x1 .edgeLabel{background-color:#f3f8f6;text-align:center;}#diagram02x1 .edgeLabel p{background-color:#f3f8f6;}#diagram02x1 .edgeLabel rect{opacity:0.5;background-color:#f3f8f6;fill:#f3f8f6;}#diagram02x1 .labelBkg{background-color:rgba(243, 248, 246, 0.5);}#diagram02x1 .cluster rect{fill:#f8fafc;stroke:#cbd5e1;stroke-width:1px;}#diagram02x1 .cluster text{fill:#000000;}#diagram02x1 .cluster span{color:#000000;}#diagram02x1 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:Microsoft YaHei,Arial,sans-serif;font-size:12px;background:#ffffff;border:1px solid hsl(0, 0%, 90%);border-radius:2px;pointer-events:none;z-index:100;}#diagram02x1 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#17233a;}#diagram02x1 rect.text{fill:none;stroke-width:0;}#diagram02x1 .icon-shape,#diagram02x1 .image-shape{background-color:#f3f8f6;text-align:center;}#diagram02x1 .icon-shape p,#diagram02x1 .image-shape p{background-color:#f3f8f6;padding:2px;}#diagram02x1 .icon-shape rect,#diagram02x1 .image-shape rect{opacity:0.5;background-color:#f3f8f6;fill:#f3f8f6;}#diagram02x1 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram02x1 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram02x1 :root{--mermaid-font-family:Microsoft YaHei,Arial,sans-serif;}</style><g><marker id="diagram02x1_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroLine truncated
|
||||||
|
After Width: | Height: | Size: 17 KiB |
@@ -0,0 +1,28 @@
|
|||||||
|
flowchart TB
|
||||||
|
subgraph financial["例 1:金融官网"]
|
||||||
|
financeApp["金融官网 APP"]
|
||||||
|
financeWeb["Web 与后台组件"]
|
||||||
|
financeDb["必需:数据库"]
|
||||||
|
financePvc["必需:PVC 文件存储"]
|
||||||
|
financeApp --> financeWeb
|
||||||
|
financeWeb --> financeDb
|
||||||
|
financeWeb --> financePvc
|
||||||
|
end
|
||||||
|
subgraph collecting["例 2:Web 与采集"]
|
||||||
|
collectApp["一个 APP 也可同时包含"]
|
||||||
|
collectWeb["Web 组件"]
|
||||||
|
collectWorker["worker 组件"]
|
||||||
|
sharedDb["同一数据库:显式授权共用"]
|
||||||
|
collectApp --> collectWeb
|
||||||
|
collectApp --> collectWorker
|
||||||
|
collectWeb --> sharedDb
|
||||||
|
collectWorker --> sharedDb
|
||||||
|
end
|
||||||
|
subgraph cooperation["例 3:跨项目 API"]
|
||||||
|
review["项目 A:评价网
|
||||||
|
独立 APP 和数据库"]
|
||||||
|
content["项目 B:内容中心
|
||||||
|
独立 APP 和数据库"]
|
||||||
|
content -->|"通过 API 提供数据"| review
|
||||||
|
end
|
||||||
|
financial ~~~ collecting ~~~ cooperation
|
||||||
|
After Width: | Height: | Size: 119 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="1107" height="887" viewBox="0 0 1107 887" role="img" aria-labelledby="G02-项目组成例子Title G02-项目组成例子Desc"><title id="G02-项目组成例子Title">G02 领域概念关系 · 项目组成例子</title><desc id="G02-项目组成例子Desc">项目代表业务目标,APP 代表完整软件;组件运行软件,资源由显式绑定关联。;2026-10-12,业务基线 0.14,图集版本 0.17</desc><rect width="100%" height="100%" fill="#fff"/><text x="32" y="42" font-family="Microsoft YaHei,Arial,sans-serif" font-size="28" font-weight="600" fill="#17233a">G02 · 项目组成例子</text><text x="32" y="79" font-family="Microsoft YaHei,Arial,sans-serif" font-size="18" fill="#526176">2026-10-12 · 业务基线 0.14 · 图集 0.17 · 展开图 · 技术选型未定</text><g transform="translate(32,124)"><svg id="diagram02x2" width="1042.84375" xmlns="http://www.w3.org/2000/svg" class="flowchart" height="715" viewBox="0 -1 1042.84375 715" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#diagram02x2{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;fill:#17233a;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram02x2 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram02x2 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram02x2 .error-icon{fill:#ffffff;}#diagram02x2 .error-text{fill:#000000;stroke:#000000;}#diagram02x2 .edge-thickness-normal{stroke-width:1px;}#diagram02x2 .edge-thickness-thick{stroke-width:3.5px;}#diagram02x2 .edge-pattern-solid{stroke-dasharray:0;}#diagram02x2 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram02x2 .edge-pattern-dashed{stroke-dasharray:3;}#diagram02x2 .edge-pattern-dotted{stroke-dasharray:2;}#diagram02x2 .marker{fill:#60718a;stroke:#60718a;}#diagram02x2 .marker.cross{stroke:#60718a;}#diagram02x2 svg{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;}#diagram02x2 p{margin:0;}#diagram02x2 .label{font-family:Microsoft YaHei,Arial,sans-serif;color:#17233a;}#diagram02x2 .cluster-label text{fill:#000000;}#diagram02x2 .cluster-label span{color:#000000;}#diagram02x2 .cluster-label span p{background-color:transparent;}#diagram02x2 .label text,#diagram02x2 span{fill:#17233a;color:#17233a;}#diagram02x2 .node rect,#diagram02x2 .node circle,#diagram02x2 .node ellipse,#diagram02x2 .node polygon,#diagram02x2 .node path{fill:#eef5ff;stroke:#8198bb;stroke-width:1px;}#diagram02x2 .rough-node .label text,#diagram02x2 .node .label text,#diagram02x2 .image-shape .label,#diagram02x2 .icon-shape .label{text-anchor:middle;}#diagram02x2 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram02x2 .rough-node .label,#diagram02x2 .node .label,#diagram02x2 .image-shape .label,#diagram02x2 .icon-shape .label{text-align:center;}#diagram02x2 .node.clickable{cursor:pointer;}#diagram02x2 .root .anchor path{fill:#60718a!important;stroke-width:0;stroke:#60718a;}#diagram02x2 .arrowheadPath{fill:#0b0b0b;}#diagram02x2 .edgePath .path{stroke:#60718a;stroke-width:2.0px;}#diagram02x2 .flowchart-link{stroke:#60718a;fill:none;}#diagram02x2 .edgeLabel{background-color:#f3f8f6;text-align:center;}#diagram02x2 .edgeLabel p{background-color:#f3f8f6;}#diagram02x2 .edgeLabel rect{opacity:0.5;background-color:#f3f8f6;fill:#f3f8f6;}#diagram02x2 .labelBkg{background-color:rgba(243, 248, 246, 0.5);}#diagram02x2 .cluster rect{fill:#f8fafc;stroke:#cbd5e1;stroke-width:1px;}#diagram02x2 .cluster text{fill:#000000;}#diagram02x2 .cluster span{color:#000000;}#diagram02x2 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:Microsoft YaHei,Arial,sans-serif;font-size:12px;background:#ffffff;border:1px solid hsl(0, 0%, 90%);border-radius:2px;pointer-events:none;z-index:100;}#diagram02x2 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#17233a;}#diagram02x2 rect.text{fill:none;stroke-width:0;}#diagram02x2 .icon-shape,#diagram02x2 .image-shape{background-color:#f3f8f6;text-align:center;}#diagram02x2 .icon-shape p,#diagram02x2 .image-shape p{background-color:#f3f8f6;padding:2px;}#diagram02x2 .icon-shape rect,#diagram02x2 .image-shape rect{opacity:0.5;background-color:#f3f8f6;fill:#f3f8f6;}#diagram02x2 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram02x2 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram02x2 :root{--mermaid-font-family:Microsoft YaHei,Arial,sans-serif;}</style><g><marker id="diagram02x2_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dashaLine truncated
|
||||||
|
After Width: | Height: | Size: 22 KiB |
@@ -0,0 +1,110 @@
|
|||||||
|
# G02 领域概念关系
|
||||||
|
|
||||||
|
2026-10-13 · 业务基线 0.15 · 图集版本 0.18。概念图不等于数据库 ER 图或部署架构。投影用 SVG 尚未按本次文字重绘。
|
||||||
|
|
||||||
|
**项目代表业务目标。应用指功能,例如邮箱应用。初级版本不选择组件。域名是需要购买的资源。**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TB
|
||||||
|
account["客户账户"]
|
||||||
|
grouping["项目组:可选、单层
|
||||||
|
一个项目最多属于一个组"]
|
||||||
|
project["项目:一个业务目标
|
||||||
|
稳定 ID;不依赖人工编号"]
|
||||||
|
app["应用:一项功能
|
||||||
|
例如邮箱应用"]
|
||||||
|
preset["应用预设
|
||||||
|
初级版本不让客户改选组件"]
|
||||||
|
component["运行组件:Web / API / worker
|
||||||
|
初级按预设固定;高级版本以后再选"]
|
||||||
|
resource["数据库、持久化存储等资源
|
||||||
|
明确归属与使用引用"]
|
||||||
|
service["域名资源
|
||||||
|
需要购买,不包含在应用里"]
|
||||||
|
account -->|"拥有多个"| project
|
||||||
|
project -->|"可归入一个组;不产生互通授权"| grouping
|
||||||
|
project -->|"包含"| app
|
||||||
|
preset -->|"实例化并约束配置"| app
|
||||||
|
app -->|"由组件运行"| component
|
||||||
|
component -->|"显式引用,可共享"| resource
|
||||||
|
project -->|"购买"| service
|
||||||
|
```
|
||||||
|
|
||||||
|
主图中的关系有五个边界:
|
||||||
|
|
||||||
|
- 应用指功能。邮箱应用是一种应用,不再把仅邮箱理解成零应用。初级版本不提供组件选择,Web、API、worker 按预设固定带上。高级版本以后用界面选择这个项目要不要组件。
|
||||||
|
- 域名是需要购买的资源,不包含在应用里。
|
||||||
|
- 同集群、同环境的同项目 APP 默认使用同一个 namespace;namespace 不等于数据库,也不自动授予共享权限。项目可有零到多个数据库。
|
||||||
|
- 数据库、卷、供应商实例和购买项是不同对象。数据库共享需明确引用和权限;PVC 直接引用受 namespace 约束,外部数据库用连接授权。仓库、项目、数据库与 namespace 不要求同名。
|
||||||
|
- 项目组只是客户整理工具,与后台用于定价的“价格客户组”不同。跨项目 API 协作需另外授权。
|
||||||
|
- 零引用资源进入待释放处理:移除最后一个引用时提示用户,释放前复核引用和任务;恢复引用应取消释放。三天延迟只是候选参数。独立服务不随 APP 删除自动取消。
|
||||||
|
|
||||||
|
## 工单、发布与购买项
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TB
|
||||||
|
scope["项目:工单的业务范围"]
|
||||||
|
workOrder["工单属于一个项目
|
||||||
|
可修改该项目多个 APP"]
|
||||||
|
version["项目发布组合
|
||||||
|
关联涉及 APP 的代码、产物、配置版本"]
|
||||||
|
software["APP:完整软件实例"]
|
||||||
|
runtime["运行组件与配置档位"]
|
||||||
|
resources["明确归属的数据库 / 存储
|
||||||
|
可被多个组件显式引用"]
|
||||||
|
items["购买项:独立计费对象
|
||||||
|
组件资源分别计费;共享资源只计一份"]
|
||||||
|
scope --> workOrder --> version
|
||||||
|
version -->|"记录版本"| software
|
||||||
|
software -->|"由组件运行"| runtime
|
||||||
|
runtime -->|"显式引用"| resources
|
||||||
|
runtime -->|"配置费用"| items
|
||||||
|
resources -->|"对应购买项"| items
|
||||||
|
```
|
||||||
|
|
||||||
|
发布组合表达一组实际版本,不要求多个仓库拥有同一个提交号;业务范围、技术组件和购买项不应合并成一个对象。
|
||||||
|
|
||||||
|
## 三个具体例子
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TB
|
||||||
|
subgraph financial["例 1:金融官网"]
|
||||||
|
financeApp["金融官网 APP"]
|
||||||
|
financeWeb["Web 与后台组件"]
|
||||||
|
financeDb["必需:数据库"]
|
||||||
|
financePvc["必需:PVC 文件存储"]
|
||||||
|
financeApp --> financeWeb
|
||||||
|
financeWeb --> financeDb
|
||||||
|
financeWeb --> financePvc
|
||||||
|
end
|
||||||
|
subgraph collecting["例 2:Web 与采集"]
|
||||||
|
collectApp["一个 APP 也可同时包含"]
|
||||||
|
collectWeb["Web 组件"]
|
||||||
|
collectWorker["worker 组件"]
|
||||||
|
sharedDb["同一数据库:显式授权共用"]
|
||||||
|
collectApp --> collectWeb
|
||||||
|
collectApp --> collectWorker
|
||||||
|
collectWeb --> sharedDb
|
||||||
|
collectWorker --> sharedDb
|
||||||
|
end
|
||||||
|
subgraph cooperation["例 3:跨项目 API"]
|
||||||
|
review["项目 A:评价网
|
||||||
|
独立 APP 和数据库"]
|
||||||
|
content["项目 B:内容中心
|
||||||
|
独立 APP 和数据库"]
|
||||||
|
content -->|"通过 API 提供数据"| review
|
||||||
|
end
|
||||||
|
financial ~~~ collecting ~~~ cooperation
|
||||||
|
```
|
||||||
|
|
||||||
|
worker 是否单独成为 APP,取决于它是否是独立软件实例,不能仅因它需要独立 Deployment 就按一个 APP 处理。纯前端应用可以不需要数据库/PVC,必需资源由具体应用预设决定。
|
||||||
|
|
||||||
|
平台自有新闻 API 是平台部署的公共应用,客户购买 API 使用权益;不为每个客户复制整套公共应用。外部 RDS、云存储及公共 API 接入的供应商和实施版本仍待讨论。
|
||||||
|
|
||||||
|
依据:[03 领域模型](../03-系统架构与领域模型.md)、[05 费用组成](../05-商业模式与成本指标.md)。[返回图集](README.md)。
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
flowchart TB
|
||||||
|
account["客户账户"]
|
||||||
|
grouping["项目组:可选、单层
|
||||||
|
一个项目最多属于一个组"]
|
||||||
|
project["项目:一个业务目标
|
||||||
|
稳定 ID;不依赖人工编号"]
|
||||||
|
app["APP:完整软件实例
|
||||||
|
项目包含 0 到多个 APP"]
|
||||||
|
preset["应用目录 / 版本预设
|
||||||
|
声明必需与可选依赖"]
|
||||||
|
component["运行组件:Web / API / worker
|
||||||
|
一个 APP 可有多个组件"]
|
||||||
|
resource["数据库、持久化存储等资源
|
||||||
|
明确归属与使用引用"]
|
||||||
|
service["独立服务:域名 / 邮箱
|
||||||
|
各自的订购与存续周期"]
|
||||||
|
account -->|"拥有多个"| project
|
||||||
|
project -->|"可归入一个组;不产生互通授权"| grouping
|
||||||
|
project -->|"包含"| app
|
||||||
|
preset -->|"实例化并约束配置"| app
|
||||||
|
app -->|"由组件运行"| component
|
||||||
|
component -->|"显式引用,可共享"| resource
|
||||||
|
project -->|"关联,可仅购买邮箱"| service
|
||||||
|
After Width: | Height: | Size: 169 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="1062" height="1012" viewBox="0 0 1062 1012" role="img" aria-labelledby="G02-领域概念关系Title G02-领域概念关系Desc"><title id="G02-领域概念关系Title">G02 领域概念关系 · 领域概念关系</title><desc id="G02-领域概念关系Desc">项目代表业务目标,APP 代表完整软件;组件运行软件,资源由显式绑定关联。;2026-10-12,业务基线 0.14,图集版本 0.17</desc><rect width="100%" height="100%" fill="#fff"/><text x="32" y="42" font-family="Microsoft YaHei,Arial,sans-serif" font-size="28" font-weight="600" fill="#17233a">G02 领域概念关系</text><text x="32" y="79" font-family="Microsoft YaHei,Arial,sans-serif" font-size="18" fill="#526176">2026-10-12 · 业务基线 0.14 · 图集 0.17 · 主图 · 技术选型未定</text><g transform="translate(32,124)"><svg id="diagram02x0" width="997.6640625" xmlns="http://www.w3.org/2000/svg" class="flowchart" height="840" viewBox="0 0 997.6640625 840" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#diagram02x0{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;fill:#17233a;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram02x0 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram02x0 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram02x0 .error-icon{fill:#ffffff;}#diagram02x0 .error-text{fill:#000000;stroke:#000000;}#diagram02x0 .edge-thickness-normal{stroke-width:1px;}#diagram02x0 .edge-thickness-thick{stroke-width:3.5px;}#diagram02x0 .edge-pattern-solid{stroke-dasharray:0;}#diagram02x0 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram02x0 .edge-pattern-dashed{stroke-dasharray:3;}#diagram02x0 .edge-pattern-dotted{stroke-dasharray:2;}#diagram02x0 .marker{fill:#60718a;stroke:#60718a;}#diagram02x0 .marker.cross{stroke:#60718a;}#diagram02x0 svg{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;}#diagram02x0 p{margin:0;}#diagram02x0 .label{font-family:Microsoft YaHei,Arial,sans-serif;color:#17233a;}#diagram02x0 .cluster-label text{fill:#000000;}#diagram02x0 .cluster-label span{color:#000000;}#diagram02x0 .cluster-label span p{background-color:transparent;}#diagram02x0 .label text,#diagram02x0 span{fill:#17233a;color:#17233a;}#diagram02x0 .node rect,#diagram02x0 .node circle,#diagram02x0 .node ellipse,#diagram02x0 .node polygon,#diagram02x0 .node path{fill:#eef5ff;stroke:#8198bb;stroke-width:1px;}#diagram02x0 .rough-node .label text,#diagram02x0 .node .label text,#diagram02x0 .image-shape .label,#diagram02x0 .icon-shape .label{text-anchor:middle;}#diagram02x0 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram02x0 .rough-node .label,#diagram02x0 .node .label,#diagram02x0 .image-shape .label,#diagram02x0 .icon-shape .label{text-align:center;}#diagram02x0 .node.clickable{cursor:pointer;}#diagram02x0 .root .anchor path{fill:#60718a!important;stroke-width:0;stroke:#60718a;}#diagram02x0 .arrowheadPath{fill:#0b0b0b;}#diagram02x0 .edgePath .path{stroke:#60718a;stroke-width:2.0px;}#diagram02x0 .flowchart-link{stroke:#60718a;fill:none;}#diagram02x0 .edgeLabel{background-color:#f3f8f6;text-align:center;}#diagram02x0 .edgeLabel p{background-color:#f3f8f6;}#diagram02x0 .edgeLabel rect{opacity:0.5;background-color:#f3f8f6;fill:#f3f8f6;}#diagram02x0 .labelBkg{background-color:rgba(243, 248, 246, 0.5);}#diagram02x0 .cluster rect{fill:#f8fafc;stroke:#cbd5e1;stroke-width:1px;}#diagram02x0 .cluster text{fill:#000000;}#diagram02x0 .cluster span{color:#000000;}#diagram02x0 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:Microsoft YaHei,Arial,sans-serif;font-size:12px;background:#ffffff;border:1px solid hsl(0, 0%, 90%);border-radius:2px;pointer-events:none;z-index:100;}#diagram02x0 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#17233a;}#diagram02x0 rect.text{fill:none;stroke-width:0;}#diagram02x0 .icon-shape,#diagram02x0 .image-shape{background-color:#f3f8f6;text-align:center;}#diagram02x0 .icon-shape p,#diagram02x0 .image-shape p{background-color:#f3f8f6;padding:2px;}#diagram02x0 .icon-shape rect,#diagram02x0 .image-shape rect{opacity:0.5;background-color:#f3f8f6;fill:#f3f8f6;}#diagram02x0 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram02x0 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram02x0 :root{--mermaid-font-family:Microsoft YaHei,Arial,sans-serif;}</style><g><marker id="diagram02x0_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharraLine truncated
|
||||||
|
After Width: | Height: | Size: 18 KiB |
@@ -0,0 +1,51 @@
|
|||||||
|
# G03 购买与开通
|
||||||
|
|
||||||
|
2026-10-12 · 业务基线 0.14 · 图集版本 0.17。泳道按参与方分列;这是首期正式购买路径,后续新客测试赠送另见 G05。
|
||||||
|
|
||||||
|
**普通向导减少信息量,高级配置支持多 APP;购买完成后还须核验实际开通结果。**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
sequenceDiagram
|
||||||
|
participant customer as 客户
|
||||||
|
participant platform as 平台业务
|
||||||
|
participant provisioning as 自动开通能力
|
||||||
|
participant staff as 内部人员
|
||||||
|
customer->>platform: 案例快捷建立同类项目 / 从应用目录建立项目
|
||||||
|
alt 普通向导
|
||||||
|
platform-->>customer: 单 APP:选择必需资源档位,再选择域名、邮箱等
|
||||||
|
else 高级配置
|
||||||
|
platform-->>customer: 同项目配置多个 APP、组件和资源绑定
|
||||||
|
end
|
||||||
|
customer->>platform: 确认配置,查看年付套餐和积分总价
|
||||||
|
opt 真实充值积分不足
|
||||||
|
customer->>platform: 充值到账后继续
|
||||||
|
end
|
||||||
|
customer->>platform: 确认购买并消耗真实充值积分
|
||||||
|
platform->>provisioning: 建立开通任务,按购买项分别执行
|
||||||
|
platform-->>customer: 展示正在执行、等待人工或失败等任务状态
|
||||||
|
opt 供应商账号等步骤需要人工准备
|
||||||
|
provisioning->>staff: 请求人工准备或排查
|
||||||
|
staff-->>provisioning: 更新处理结果,继续开通
|
||||||
|
end
|
||||||
|
provisioning->>provisioning: 核验应用健康和各服务实际开通结果
|
||||||
|
alt 应用已可用
|
||||||
|
provisioning-->>platform: 更新成功项与访问入口;其他服务独立显示状态
|
||||||
|
platform-->>customer: 受保护预览地址 / 已绑定的正式域名;发送成功邮件
|
||||||
|
else 开通失败或结果不明
|
||||||
|
provisioning-->>platform: 保留失败或待核查状态,避免重复开通 / 重复扣费
|
||||||
|
platform->>staff: 人工核查与修复
|
||||||
|
platform-->>customer: 显示原因与处理进度
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
讲解时补充:
|
||||||
|
|
||||||
|
- 应用预设始终校验必需依赖,高级模式也不能随意删除应用所需数据库等资源。仅邮箱场景只开通购买的服务。
|
||||||
|
- 案例快捷入口复制的是可交付模板选择,不是别的客户的私有代码、数据或素材。已有项目可以继续添加 APP。
|
||||||
|
- 应用、域名、邮箱分别跟踪实际结果;不能因扣款成功就称全部开通成功。供应商结果不明时先核查,再决定重试。
|
||||||
|
- 默认建站域仅用于受保护预览;正式访问可以绑定客户自有域名或平台代购域名,不要求另买第二套服务器。验证码/声明不是法律免责保证。
|
||||||
|
- 开通成功邮件发送失败应重试通知,不把健康运行的应用改成开通失败。首期无系统内退款流程,特殊情况通过人工线下处理。
|
||||||
|
|
||||||
|
依据:[02 购买与开通](../02-业务流程与产品需求.md)、[05 年付与积分](../05-商业模式与成本指标.md)。[返回图集](README.md)。
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
sequenceDiagram
|
||||||
|
participant customer as 客户
|
||||||
|
participant platform as 平台业务
|
||||||
|
participant provisioning as 自动开通能力
|
||||||
|
participant staff as 内部人员
|
||||||
|
customer->>platform: 案例快捷建立同类项目 / 从应用目录建立项目
|
||||||
|
alt 普通向导
|
||||||
|
platform-->>customer: 单 APP:选择必需资源档位,再选择域名、邮箱等
|
||||||
|
else 高级配置
|
||||||
|
platform-->>customer: 同项目配置多个 APP、组件和资源绑定
|
||||||
|
end
|
||||||
|
customer->>platform: 确认配置,查看年付套餐和积分总价
|
||||||
|
opt 真实充值积分不足
|
||||||
|
customer->>platform: 充值到账后继续
|
||||||
|
end
|
||||||
|
customer->>platform: 确认购买并消耗真实充值积分
|
||||||
|
platform->>provisioning: 建立开通任务,按购买项分别执行
|
||||||
|
platform-->>customer: 展示正在执行、等待人工或失败等任务状态
|
||||||
|
opt 供应商账号等步骤需要人工准备
|
||||||
|
provisioning->>staff: 请求人工准备或排查
|
||||||
|
staff-->>provisioning: 更新处理结果,继续开通
|
||||||
|
end
|
||||||
|
provisioning->>provisioning: 核验应用健康和各服务实际开通结果
|
||||||
|
alt 应用已可用
|
||||||
|
provisioning-->>platform: 更新成功项与访问入口;其他服务独立显示状态
|
||||||
|
platform-->>customer: 受保护预览地址 / 已绑定的正式域名;发送成功邮件
|
||||||
|
else 开通失败或结果不明
|
||||||
|
provisioning-->>platform: 保留失败或待核查状态,避免重复开通 / 重复扣费
|
||||||
|
platform->>staff: 人工核查与修复
|
||||||
|
platform-->>customer: 显示原因与处理进度
|
||||||
|
end
|
||||||
|
After Width: | Height: | Size: 241 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="1294" height="1667" viewBox="0 0 1294 1667" role="img" aria-labelledby="G03-购买与开通Title G03-购买与开通Desc"><title id="G03-购买与开通Title">G03 购买与开通 · 购买与开通</title><desc id="G03-购买与开通Desc">普通向导减少信息量,高级配置支持多 APP;购买完成后还须核验实际开通结果。;2026-10-12,业务基线 0.14,图集版本 0.17</desc><rect width="100%" height="100%" fill="#fff"/><text x="32" y="42" font-family="Microsoft YaHei,Arial,sans-serif" font-size="28" font-weight="600" fill="#17233a">G03 购买与开通</text><text x="32" y="79" font-family="Microsoft YaHei,Arial,sans-serif" font-size="18" fill="#526176">2026-10-12 · 业务基线 0.14 · 图集 0.17 · 主图 · 技术选型未定</text><g transform="translate(32,124)"><svg id="diagram03x0" width="1230" xmlns="http://www.w3.org/2000/svg" height="1495" viewBox="-30 -20 1230 1495" role="graphics-document document" aria-roledescription="sequence"><g><line id="actor3" x1="1050" y1="65" x2="1050" y2="2000" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="staff"></line><g id="root-3"><rect x="930" y="0" fill="#eaeaea" stroke="#666" width="240" height="65" name="staff" rx="3" ry="3" class="actor actor-top"></rect><text x="1050" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: "Microsoft YaHei", Arial, sans-serif;"><tspan x="1050" dy="0">内部人员</tspan></text></g></g><g><line id="actor2" x1="748" y1="65" x2="748" y2="2000" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="provisioning"></line><g id="root-2"><rect x="628" y="0" fill="#eaeaea" stroke="#666" width="240" height="65" name="provisioning" rx="3" ry="3" class="actor actor-top"></rect><text x="748" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: "Microsoft YaHei", Arial, sans-serif;"><tspan x="748" dy="0">自动开通能力</tspan></text></g></g><g><line id="actor1" x1="434" y1="65" x2="434" y2="2000" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="platform"></line><g id="root-1"><rect x="314" y="0" fill="#eaeaea" stroke="#666" width="240" height="65" name="platform" rx="3" ry="3" class="actor actor-top"></rect><text x="434" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: "Microsoft YaHei", Arial, sans-serif;"><tspan x="434" dy="0">平台业务</tspan></text></g></g><g><line id="actor0" x1="120" y1="65" x2="120" y2="2000" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="customer"></line><g id="root-0"><rect x="0" y="0" fill="#eaeaea" stroke="#666" width="240" height="65" name="customer" rx="3" ry="3" class="actor actor-top"></rect><text x="120" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: "Microsoft YaHei", Arial, sans-serif;"><tspan x="120" dy="0">客户</tspan></text></g></g><style>#diagram03x0{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;fill:#17233a;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram03x0 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram03x0 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram03x0 .error-icon{fill:#ffffff;}#diagram03x0 .error-text{fill:#000000;stroke:#000000;}#diagram03x0 .edge-thickness-normal{stroke-width:1px;}#diagram03x0 .edge-thickness-thick{stroke-width:3.5px;}#diagram03x0 .edge-pattern-solid{stroke-dasharray:0;}#diagram03x0 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram03x0 .edge-pattern-dashed{stroke-dasharray:3;}#diagram03x0 .edge-pattern-dotted{stroke-dasharray:2;}#diagram03x0 .marker{fill:#60718a;stroke:#60718a;}#diagram03x0 .marker.cross{stroke:#60718a;}#diagram03x0 svg{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;}#diagram03x0 p{margin:0;}#diagram03x0 .actor{stroke:#8198bb;fill:#edf3fb;}#diagram03x0 text.actor>tspan{fill:#17233a;stroke:none;}#diagram03x0 .actor-line{stroke:#8198bb;}#diagram03x0 .innerArc{stroke-width:1.5;stroke-dasharray:none;}#diagram03x0 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#334155;}#diagram03x0 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#334155;}#diagram03x0 #arrowhead path{fill:#334155;stroke:#334155;}#diagram03x0 .sequenceNumber{fill:#9f8e75;}#diagram03x0 #sequencenumber{fill:#334155;}#diagram03x0 #crosshead path{fill:#334155;strLine truncated
|
||||||
|
After Width: | Height: | Size: 32 KiB |
@@ -0,0 +1,35 @@
|
|||||||
|
flowchart LR
|
||||||
|
attempt["执行一次工单尝试
|
||||||
|
固定需求修订与执行基准"]
|
||||||
|
conditions{"满足执行条件?"}
|
||||||
|
waiting["等待资源 / 用量 / 充值
|
||||||
|
停止新调用,保留任务;已有年付服务继续"]
|
||||||
|
work["开发与内部检查
|
||||||
|
有限修复;到次数或预算上限停止"]
|
||||||
|
checked{"内部检查通过?"}
|
||||||
|
unchanged["发布前失败
|
||||||
|
保留原运行版本"]
|
||||||
|
deploy["发布涉及的 APP 组合"]
|
||||||
|
healthy{"实际运行健康?"}
|
||||||
|
success["成功回执
|
||||||
|
改动摘要、版本、预览地址"]
|
||||||
|
recover["新版无法运行
|
||||||
|
恢复此前有效版本并核验"]
|
||||||
|
restored{"恢复成功?"}
|
||||||
|
failure["失败回执
|
||||||
|
原因、当前有效版本、重试 / 人工入口"]
|
||||||
|
intervention["恢复异常:人工接管
|
||||||
|
如实显示服务故障"]
|
||||||
|
retry["同范围:新增需求修订与尝试
|
||||||
|
旧尝试结束后重试;不覆盖原件"]
|
||||||
|
attempt --> conditions
|
||||||
|
conditions -->|"否"| waiting
|
||||||
|
waiting -->|"条件补足后"| attempt
|
||||||
|
conditions -->|"是"| work --> checked
|
||||||
|
checked -->|"否"| unchanged --> failure
|
||||||
|
checked -->|"是"| deploy --> healthy
|
||||||
|
healthy -->|"是"| success
|
||||||
|
healthy -->|"否"| recover --> restored
|
||||||
|
restored -->|"是"| failure
|
||||||
|
restored -->|"否"| intervention
|
||||||
|
failure -->|"客户选择再次尝试"| retry --> attempt
|
||||||
|
After Width: | Height: | Size: 110 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="3685" height="751" viewBox="0 0 3685 751" role="img" aria-labelledby="G04-失败与恢复Title G04-失败与恢复Desc"><title id="G04-失败与恢复Title">G04 定制工单处理 · 失败与恢复</title><desc id="G04-失败与恢复Desc">一个工单固定一次改动需求,自动或人工执行后直接更新运行版本;人工模式增加金额确认。;2026-10-12,业务基线 0.14,图集版本 0.17</desc><rect width="100%" height="100%" fill="#fff"/><text x="32" y="42" font-family="Microsoft YaHei,Arial,sans-serif" font-size="28" font-weight="600" fill="#17233a">G04 · 失败与恢复</text><text x="32" y="79" font-family="Microsoft YaHei,Arial,sans-serif" font-size="18" fill="#526176">2026-10-12 · 业务基线 0.14 · 图集 0.17 · 展开图 · 技术选型未定</text><g transform="translate(32,124)"><svg id="diagram04x1" width="3620.390625" xmlns="http://www.w3.org/2000/svg" class="flowchart" height="579" viewBox="0 0 3620.390625 579" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#diagram04x1{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;fill:#17233a;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram04x1 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram04x1 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram04x1 .error-icon{fill:#ffffff;}#diagram04x1 .error-text{fill:#000000;stroke:#000000;}#diagram04x1 .edge-thickness-normal{stroke-width:1px;}#diagram04x1 .edge-thickness-thick{stroke-width:3.5px;}#diagram04x1 .edge-pattern-solid{stroke-dasharray:0;}#diagram04x1 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram04x1 .edge-pattern-dashed{stroke-dasharray:3;}#diagram04x1 .edge-pattern-dotted{stroke-dasharray:2;}#diagram04x1 .marker{fill:#60718a;stroke:#60718a;}#diagram04x1 .marker.cross{stroke:#60718a;}#diagram04x1 svg{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;}#diagram04x1 p{margin:0;}#diagram04x1 .label{font-family:Microsoft YaHei,Arial,sans-serif;color:#17233a;}#diagram04x1 .cluster-label text{fill:#000000;}#diagram04x1 .cluster-label span{color:#000000;}#diagram04x1 .cluster-label span p{background-color:transparent;}#diagram04x1 .label text,#diagram04x1 span{fill:#17233a;color:#17233a;}#diagram04x1 .node rect,#diagram04x1 .node circle,#diagram04x1 .node ellipse,#diagram04x1 .node polygon,#diagram04x1 .node path{fill:#eef5ff;stroke:#8198bb;stroke-width:1px;}#diagram04x1 .rough-node .label text,#diagram04x1 .node .label text,#diagram04x1 .image-shape .label,#diagram04x1 .icon-shape .label{text-anchor:middle;}#diagram04x1 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram04x1 .rough-node .label,#diagram04x1 .node .label,#diagram04x1 .image-shape .label,#diagram04x1 .icon-shape .label{text-align:center;}#diagram04x1 .node.clickable{cursor:pointer;}#diagram04x1 .root .anchor path{fill:#60718a!important;stroke-width:0;stroke:#60718a;}#diagram04x1 .arrowheadPath{fill:#0b0b0b;}#diagram04x1 .edgePath .path{stroke:#60718a;stroke-width:2.0px;}#diagram04x1 .flowchart-link{stroke:#60718a;fill:none;}#diagram04x1 .edgeLabel{background-color:#f3f8f6;text-align:center;}#diagram04x1 .edgeLabel p{background-color:#f3f8f6;}#diagram04x1 .edgeLabel rect{opacity:0.5;background-color:#f3f8f6;fill:#f3f8f6;}#diagram04x1 .labelBkg{background-color:rgba(243, 248, 246, 0.5);}#diagram04x1 .cluster rect{fill:#f8fafc;stroke:#cbd5e1;stroke-width:1px;}#diagram04x1 .cluster text{fill:#000000;}#diagram04x1 .cluster span{color:#000000;}#diagram04x1 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:Microsoft YaHei,Arial,sans-serif;font-size:12px;background:#ffffff;border:1px solid hsl(0, 0%, 90%);border-radius:2px;pointer-events:none;z-index:100;}#diagram04x1 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#17233a;}#diagram04x1 rect.text{fill:none;stroke-width:0;}#diagram04x1 .icon-shape,#diagram04x1 .image-shape{background-color:#f3f8f6;text-align:center;}#diagram04x1 .icon-shape p,#diagram04x1 .image-shape p{background-color:#f3f8f6;padding:2px;}#diagram04x1 .icon-shape rect,#diagram04x1 .image-shape rect{opacity:0.5;background-color:#f3f8f6;fill:#f3f8f6;}#diagram04x1 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram04x1 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram04x1 :root{--mermaid-font-family:Microsoft YaHei,Arial,sans-serif;}</style><g><marker id="diagram04x1_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-daLine truncated
|
||||||
|
After Width: | Height: | Size: 30 KiB |
@@ -0,0 +1,101 @@
|
|||||||
|
# G04 定制工单处理
|
||||||
|
|
||||||
|
2026-10-13 · 业务基线 0.15 · 图集文字 0.18。主图文字已加入 AI 验收;失败达到 x 次才转人工。x 未定。投影用 SVG 尚未重绘。执行器、Git 服务及实现参数尚未选择。
|
||||||
|
|
||||||
|
**一个工单固定一次改动需求,自动或人工执行后直接更新运行版本;人工模式增加金额确认。**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
sequenceDiagram
|
||||||
|
participant customer as 客户
|
||||||
|
participant ticket as 平台工单
|
||||||
|
participant ai as AI 执行能力
|
||||||
|
participant human as 人工团队
|
||||||
|
participant publish as 发布与运行核验
|
||||||
|
customer->>ticket: 单项目提交文字与附件,选择自动或人工
|
||||||
|
ticket->>ticket: 固定需求修订;核对执行基准、权限及费用条件
|
||||||
|
alt 自动模式
|
||||||
|
ticket->>ai: 执行需求分析与开发;每次真实 AI 调用均计消耗
|
||||||
|
ai->>ai: AI 验收;未通过则修改后再验收
|
||||||
|
alt 验收通过
|
||||||
|
ai-->>ticket: 合格改动成果
|
||||||
|
else 验收失败达到 x 次
|
||||||
|
ai-->>ticket: 此时才转原工单人工模式,保留需求、成果和消耗
|
||||||
|
end
|
||||||
|
end
|
||||||
|
opt 人工模式,包括由自动模式转入
|
||||||
|
ticket->>human: 内部评估并设置本次人工服务金额
|
||||||
|
human-->>ticket: 提交报价
|
||||||
|
ticket-->>customer: 系统提示金额:同意 / 拒绝
|
||||||
|
alt 同意且满足消费条件
|
||||||
|
customer->>ticket: 确认报价
|
||||||
|
ticket->>human: 执行开发与验证;真实 AI 辅助同样计消耗
|
||||||
|
human-->>ticket: 合格改动成果 / 失败原因
|
||||||
|
else 拒绝或未满足消费条件
|
||||||
|
ticket-->>customer: 拒绝则停止改动;缺少消费条件则等待,不停已有服务
|
||||||
|
end
|
||||||
|
end
|
||||||
|
opt 已产生合格成果且允许发布
|
||||||
|
ticket->>publish: 发布涉及的 APP 版本,核验实际运行
|
||||||
|
publish-->>ticket: 实际发布 / 健康 / 恢复结果
|
||||||
|
ticket-->>customer: 成功摘要、版本和预览地址;或失败原因与下一步
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
2026-10-13 会上补充:自动路径里,转人工之前先做 AI 验收。验收失败未达到 x 次时继续修改并再次验收;达到 x 次才转入原工单人工模式。x 的具体次数未定。这里的 AI 验收不是客户逐次验收后才允许上线。
|
||||||
|
|
||||||
|
自动开发失败未产生合格成果时,也必须在工单写入失败回执;详见下面的异常图。验收失败次数用尽后走转人工,不把未达次数的一次失败直接当成已经转人工。
|
||||||
|
|
||||||
|
## 失败、恢复与再试
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart LR
|
||||||
|
attempt["执行一次工单尝试
|
||||||
|
固定需求修订与执行基准"]
|
||||||
|
conditions{"满足执行条件?"}
|
||||||
|
waiting["等待资源 / 用量 / 充值
|
||||||
|
停止新调用,保留任务;已有年付服务继续"]
|
||||||
|
work["开发与内部检查
|
||||||
|
有限修复;到次数或预算上限停止"]
|
||||||
|
checked{"内部检查通过?"}
|
||||||
|
unchanged["发布前失败
|
||||||
|
保留原运行版本"]
|
||||||
|
deploy["发布涉及的 APP 组合"]
|
||||||
|
healthy{"实际运行健康?"}
|
||||||
|
success["成功回执
|
||||||
|
改动摘要、版本、预览地址"]
|
||||||
|
recover["新版无法运行
|
||||||
|
恢复此前有效版本并核验"]
|
||||||
|
restored{"恢复成功?"}
|
||||||
|
failure["失败回执
|
||||||
|
原因、当前有效版本、重试 / 人工入口"]
|
||||||
|
intervention["恢复异常:人工接管
|
||||||
|
如实显示服务故障"]
|
||||||
|
retry["同范围:新增需求修订与尝试
|
||||||
|
旧尝试结束后重试;不覆盖原件"]
|
||||||
|
attempt --> conditions
|
||||||
|
conditions -->|"否"| waiting
|
||||||
|
waiting -->|"条件补足后"| attempt
|
||||||
|
conditions -->|"是"| work --> checked
|
||||||
|
checked -->|"否"| unchanged --> failure
|
||||||
|
checked -->|"是"| deploy --> healthy
|
||||||
|
healthy -->|"是"| success
|
||||||
|
healthy -->|"否"| recover --> restored
|
||||||
|
restored -->|"是"| failure
|
||||||
|
restored -->|"否"| intervention
|
||||||
|
failure -->|"客户选择再次尝试"| retry --> attempt
|
||||||
|
```
|
||||||
|
|
||||||
|
必须保留的规则:
|
||||||
|
|
||||||
|
- 项目创建后可提交工单,实际执行要等必要应用/基准与消费条件满足。还没初始版本时,不能虚构“修改前版本”。
|
||||||
|
- 一个工单只涉及一个项目,但可修改多个 APP。跨项目分别提交;多个 APP 发布不天然原子完成,部分失败的恢复策略由技术设计落实。
|
||||||
|
- 客服/TG 负责沟通、协商及反馈。工单保存需求原件、追加修订、尝试、系统回执和工程关联;新增业务范围或方向另开工单。
|
||||||
|
- 所有实际项目 AI 调用,包括分析、失败、修复、转人工及人工辅助,都先消耗套餐内含 AI 用量,超额扣真实积分。回退不撤销真实消耗;同一调用不得重复计费。见 [G05](G05-收费与权益.md)。
|
||||||
|
- 平台工单为业务主记录,Git Issue/PR/提交是工程关联。引擎返回成功、Issue 关闭或代码提交不等于线上健康。
|
||||||
|
- 默认代码回退保留业务数据并检查兼容性。涉及数据库/文件数据恢复时使用保护检查点并提示丢失新增数据风险,不把每次普通改动都画成整库回滚;实现与保留参数待技术评审。
|
||||||
|
|
||||||
|
依据:[02 工单流程](../02-业务流程与产品需求.md)、[03 发布与恢复](../03-系统架构与领域模型.md)、[04 工作流草案](../04-模板与AI工作流.md)、[05 消耗规则](../05-商业模式与成本指标.md)。[返回图集](README.md)。
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
sequenceDiagram
|
||||||
|
participant customer as 客户
|
||||||
|
participant ticket as 平台工单
|
||||||
|
participant ai as AI 执行能力
|
||||||
|
participant human as 人工团队
|
||||||
|
participant publish as 发布与运行核验
|
||||||
|
customer->>ticket: 单项目提交文字与附件,选择自动或人工
|
||||||
|
ticket->>ticket: 固定需求修订;核对执行基准、权限及费用条件
|
||||||
|
alt 自动模式
|
||||||
|
ticket->>ai: 执行需求分析;每次真实 AI 调用均计消耗
|
||||||
|
alt 适合自动处理
|
||||||
|
ai->>ai: 开发与内部验收;预算内有限修复
|
||||||
|
ai-->>ticket: 合格改动成果 / 失败原因
|
||||||
|
else 判断需要人工
|
||||||
|
ai-->>ticket: 转原工单人工模式,保留需求、成果和消耗
|
||||||
|
end
|
||||||
|
end
|
||||||
|
opt 人工模式,包括由自动模式转入
|
||||||
|
ticket->>human: 内部评估并设置本次人工服务金额
|
||||||
|
human-->>ticket: 提交报价
|
||||||
|
ticket-->>customer: 系统提示金额:同意 / 拒绝
|
||||||
|
alt 同意且满足消费条件
|
||||||
|
customer->>ticket: 确认报价
|
||||||
|
ticket->>human: 执行开发与验证;真实 AI 辅助同样计消耗
|
||||||
|
human-->>ticket: 合格改动成果 / 失败原因
|
||||||
|
else 拒绝或未满足消费条件
|
||||||
|
ticket-->>customer: 拒绝则停止改动;缺少消费条件则等待,不停已有服务
|
||||||
|
end
|
||||||
|
end
|
||||||
|
opt 已产生合格成果且允许发布
|
||||||
|
ticket->>publish: 发布涉及的 APP 版本,核验实际运行
|
||||||
|
publish-->>ticket: 实际发布 / 健康 / 恢复结果
|
||||||
|
ticket-->>customer: 成功摘要、版本和预览地址;或失败原因与下一步
|
||||||
|
end
|
||||||
|
After Width: | Height: | Size: 260 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="1596" height="1744" viewBox="0 0 1596 1744" role="img" aria-labelledby="G04-定制工单处理Title G04-定制工单处理Desc"><title id="G04-定制工单处理Title">G04 定制工单处理 · 定制工单主流程</title><desc id="G04-定制工单处理Desc">一个工单固定一次改动需求,自动或人工执行后直接更新运行版本;人工模式增加金额确认。;2026-10-12,业务基线 0.14,图集版本 0.17</desc><rect width="100%" height="100%" fill="#fff"/><text x="32" y="42" font-family="Microsoft YaHei,Arial,sans-serif" font-size="28" font-weight="600" fill="#17233a">G04 定制工单处理</text><text x="32" y="79" font-family="Microsoft YaHei,Arial,sans-serif" font-size="18" fill="#526176">2026-10-12 · 业务基线 0.14 · 图集 0.17 · 主图 · 技术选型未定</text><g transform="translate(32,124)"><svg id="diagram04x0" width="1532" xmlns="http://www.w3.org/2000/svg" height="1572" viewBox="-30 -20 1532 1572" role="graphics-document document" aria-roledescription="sequence"><g><line id="actor8" x1="1352" y1="65" x2="1352" y2="2000" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="publish"></line><g id="root-8"><rect x="1232" y="0" fill="#eaeaea" stroke="#666" width="240" height="65" name="publish" rx="3" ry="3" class="actor actor-top"></rect><text x="1352" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: "Microsoft YaHei", Arial, sans-serif;"><tspan x="1352" dy="0">发布与运行核验</tspan></text></g></g><g><line id="actor7" x1="1050" y1="65" x2="1050" y2="2000" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="human"></line><g id="root-7"><rect x="930" y="0" fill="#eaeaea" stroke="#666" width="240" height="65" name="human" rx="3" ry="3" class="actor actor-top"></rect><text x="1050" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: "Microsoft YaHei", Arial, sans-serif;"><tspan x="1050" dy="0">人工团队</tspan></text></g></g><g><line id="actor6" x1="748" y1="65" x2="748" y2="2000" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="ai"></line><g id="root-6"><rect x="628" y="0" fill="#eaeaea" stroke="#666" width="240" height="65" name="ai" rx="3" ry="3" class="actor actor-top"></rect><text x="748" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: "Microsoft YaHei", Arial, sans-serif;"><tspan x="748" dy="0">AI 执行能力</tspan></text></g></g><g><line id="actor5" x1="434" y1="65" x2="434" y2="2000" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="ticket"></line><g id="root-5"><rect x="314" y="0" fill="#eaeaea" stroke="#666" width="240" height="65" name="ticket" rx="3" ry="3" class="actor actor-top"></rect><text x="434" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: "Microsoft YaHei", Arial, sans-serif;"><tspan x="434" dy="0">平台工单</tspan></text></g></g><g><line id="actor4" x1="120" y1="65" x2="120" y2="2000" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="customer"></line><g id="root-4"><rect x="0" y="0" fill="#eaeaea" stroke="#666" width="240" height="65" name="customer" rx="3" ry="3" class="actor actor-top"></rect><text x="120" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: "Microsoft YaHei", Arial, sans-serif;"><tspan x="120" dy="0">客户</tspan></text></g></g><style>#diagram04x0{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;fill:#17233a;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram04x0 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram04x0 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram04x0 .error-icon{fill:#ffffff;}#diagram04x0 .error-text{fill:#000000;stroke:#000000;}#diagram04x0 .edge-thickness-normal{stroke-width:1px;}#diagram04x0 .edge-thickness-thick{stroke-width:3.5px;}#diagram04x0 .edge-pattern-solid{stroke-dasharray:0;}#diagram04x0 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram04x0 .edge-pattern-dashed{stroke-dasharray:3;}#diagram04x0 .edge-pattern-dotted{stroke-dasharray:2;}#diagram04x0 .marker{fill:#60718a;stroke:#60718a;}#diagram04x0 .marker.cross{stroke:#60718a;}#diagram04x0 svg{font-family:Microsoft YaHei,Arial,sans-serif;font-sLine truncated
|
||||||
|
After Width: | Height: | Size: 33 KiB |
@@ -0,0 +1,20 @@
|
|||||||
|
flowchart LR
|
||||||
|
aiCall["一次真实项目 AI 调用
|
||||||
|
自动 / 人工辅助 / 失败 / 修复 / 转人工"]
|
||||||
|
cost["核对供应商实际消耗成本
|
||||||
|
记录调用与计费规则,防重复记账"]
|
||||||
|
allowance{"套餐内含 AI 用量可抵扣?"}
|
||||||
|
deduct["抵扣套餐内含用量"]
|
||||||
|
excess["剩余超额部分
|
||||||
|
按成本、可配置加价及积分汇率结算"]
|
||||||
|
example["例:全部属于超额
|
||||||
|
成本 1 USD × 1.20 × 100 = 120 积分"]
|
||||||
|
gate["下一次调用前检查预算 / 权益
|
||||||
|
不足则停止新调用并提示充值"]
|
||||||
|
aiCall --> cost --> allowance
|
||||||
|
allowance -->|"有"| deduct
|
||||||
|
deduct -->|"如有超额部分"| excess
|
||||||
|
allowance -->|"无"| excess
|
||||||
|
excess --> example
|
||||||
|
deduct --> gate
|
||||||
|
excess --> gate
|
||||||
|
After Width: | Height: | Size: 129 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="2569" height="486" viewBox="0 0 2569 486" role="img" aria-labelledby="G05-AI消耗记账Title G05-AI消耗记账Desc"><title id="G05-AI消耗记账Title">G05 收费与权益 · AI 实际消耗记账</title><desc id="G05-AI消耗记账Desc">真实充值、套餐内含 AI 用量、未来测试赠送是三类不同权益;年付服务与 AI 实际消耗分开计量。;2026-10-12,业务基线 0.14,图集版本 0.17</desc><rect width="100%" height="100%" fill="#fff"/><text x="32" y="42" font-family="Microsoft YaHei,Arial,sans-serif" font-size="28" font-weight="600" fill="#17233a">G05 · AI 实际消耗记账</text><text x="32" y="79" font-family="Microsoft YaHei,Arial,sans-serif" font-size="18" fill="#526176">2026-10-12 · 业务基线 0.14 · 图集 0.17 · 展开图 · 技术选型未定</text><g transform="translate(32,124)"><svg id="diagram05x1" width="2504.796875" xmlns="http://www.w3.org/2000/svg" class="flowchart" height="313.796875" viewBox="0 0 2504.796875 313.796875" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#diagram05x1{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;fill:#17233a;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram05x1 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram05x1 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram05x1 .error-icon{fill:#ffffff;}#diagram05x1 .error-text{fill:#000000;stroke:#000000;}#diagram05x1 .edge-thickness-normal{stroke-width:1px;}#diagram05x1 .edge-thickness-thick{stroke-width:3.5px;}#diagram05x1 .edge-pattern-solid{stroke-dasharray:0;}#diagram05x1 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram05x1 .edge-pattern-dashed{stroke-dasharray:3;}#diagram05x1 .edge-pattern-dotted{stroke-dasharray:2;}#diagram05x1 .marker{fill:#60718a;stroke:#60718a;}#diagram05x1 .marker.cross{stroke:#60718a;}#diagram05x1 svg{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;}#diagram05x1 p{margin:0;}#diagram05x1 .label{font-family:Microsoft YaHei,Arial,sans-serif;color:#17233a;}#diagram05x1 .cluster-label text{fill:#000000;}#diagram05x1 .cluster-label span{color:#000000;}#diagram05x1 .cluster-label span p{background-color:transparent;}#diagram05x1 .label text,#diagram05x1 span{fill:#17233a;color:#17233a;}#diagram05x1 .node rect,#diagram05x1 .node circle,#diagram05x1 .node ellipse,#diagram05x1 .node polygon,#diagram05x1 .node path{fill:#eef5ff;stroke:#8198bb;stroke-width:1px;}#diagram05x1 .rough-node .label text,#diagram05x1 .node .label text,#diagram05x1 .image-shape .label,#diagram05x1 .icon-shape .label{text-anchor:middle;}#diagram05x1 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram05x1 .rough-node .label,#diagram05x1 .node .label,#diagram05x1 .image-shape .label,#diagram05x1 .icon-shape .label{text-align:center;}#diagram05x1 .node.clickable{cursor:pointer;}#diagram05x1 .root .anchor path{fill:#60718a!important;stroke-width:0;stroke:#60718a;}#diagram05x1 .arrowheadPath{fill:#0b0b0b;}#diagram05x1 .edgePath .path{stroke:#60718a;stroke-width:2.0px;}#diagram05x1 .flowchart-link{stroke:#60718a;fill:none;}#diagram05x1 .edgeLabel{background-color:#f3f8f6;text-align:center;}#diagram05x1 .edgeLabel p{background-color:#f3f8f6;}#diagram05x1 .edgeLabel rect{opacity:0.5;background-color:#f3f8f6;fill:#f3f8f6;}#diagram05x1 .labelBkg{background-color:rgba(243, 248, 246, 0.5);}#diagram05x1 .cluster rect{fill:#f8fafc;stroke:#cbd5e1;stroke-width:1px;}#diagram05x1 .cluster text{fill:#000000;}#diagram05x1 .cluster span{color:#000000;}#diagram05x1 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:Microsoft YaHei,Arial,sans-serif;font-size:12px;background:#ffffff;border:1px solid hsl(0, 0%, 90%);border-radius:2px;pointer-events:none;z-index:100;}#diagram05x1 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#17233a;}#diagram05x1 rect.text{fill:none;stroke-width:0;}#diagram05x1 .icon-shape,#diagram05x1 .image-shape{background-color:#f3f8f6;text-align:center;}#diagram05x1 .icon-shape p,#diagram05x1 .image-shape p{background-color:#f3f8f6;padding:2px;}#diagram05x1 .icon-shape rect,#diagram05x1 .image-shape rect{opacity:0.5;background-color:#f3f8f6;fill:#f3f8f6;}#diagram05x1 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram05x1 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram05x1 :root{--mermaid-font-family:Microsoft YaHei,Arial,sans-serif;}</style><g><marker id="diagram05x1_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stLine truncated
|
||||||
|
After Width: | Height: | Size: 18 KiB |
@@ -0,0 +1,98 @@
|
|||||||
|
# G05 收费与权益
|
||||||
|
|
||||||
|
2026-10-13 · 业务基线 0.15 · 图集版本 0.18。投影用 SVG 尚未按本次文字重绘。
|
||||||
|
|
||||||
|
**计费按客户使用不同模式。暂时只记用户报价模式和用户自由模式。下面原图是改模式之前的年付与积分基线,两种模式如何衔接尚未写完。**
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart LR
|
||||||
|
customer["不同客户使用不同模式"]
|
||||||
|
quote["用户报价模式
|
||||||
|
创建时选择并报价
|
||||||
|
后台查看后决定是否启动"]
|
||||||
|
free["用户自由模式
|
||||||
|
自选配置和 token 数量
|
||||||
|
从预充值扣除"]
|
||||||
|
customer --> quote
|
||||||
|
customer --> free
|
||||||
|
```
|
||||||
|
|
||||||
|
2026-10-12 原图仍保留作对照:真实充值、套餐内含 AI 用量、未来测试赠送是三类不同权益。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TB
|
||||||
|
recharge["客户真实充值
|
||||||
|
默认 1 USD = 100 积分;允许小数"]
|
||||||
|
paid["真实充值积分余额"]
|
||||||
|
annual["正式年付套餐
|
||||||
|
可包含初始开发、运维、运行资源"]
|
||||||
|
independent["独立选配年度服务
|
||||||
|
域名:成本加服务费
|
||||||
|
邮箱:共享 / 独享"]
|
||||||
|
manual["新增人工定制服务
|
||||||
|
评估金额,客户确认后消费"]
|
||||||
|
included["套餐内含 AI 用量
|
||||||
|
正式项目可用;不是测试赠送"]
|
||||||
|
usage["真实项目 AI 消耗
|
||||||
|
先用内含用量,超额扣真实积分"]
|
||||||
|
trial["后续:新客测试赠送权益
|
||||||
|
独立记录,不可转真实余额"]
|
||||||
|
preview["仅测试部署与受保护预览
|
||||||
|
禁正式域名;可撤销和销毁"]
|
||||||
|
pricing["后台可配置价格政策
|
||||||
|
档位、费率、账户固定服务费、内含用量"]
|
||||||
|
recharge --> paid
|
||||||
|
paid -->|"购买"| annual
|
||||||
|
paid -->|"购买"| independent
|
||||||
|
paid -->|"确认金额后支付"| manual
|
||||||
|
annual -->|"授予"| included
|
||||||
|
included -->|"优先抵扣"| usage
|
||||||
|
paid -->|"只支付超出包含用量的部分"| usage
|
||||||
|
trial -.->|"仅限"| preview
|
||||||
|
pricing --- annual
|
||||||
|
pricing --- independent
|
||||||
|
pricing --- manual
|
||||||
|
pricing --- usage
|
||||||
|
classDef future fill:#f4f4f5,stroke:#71717a,stroke-dasharray:5 4;
|
||||||
|
class trial,preview future;
|
||||||
|
```
|
||||||
|
|
||||||
|
## AI 调用如何记账
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart LR
|
||||||
|
aiCall["一次真实项目 AI 调用
|
||||||
|
自动 / 人工辅助 / 失败 / 修复 / 转人工"]
|
||||||
|
cost["核对供应商实际消耗成本
|
||||||
|
记录调用与计费规则,防重复记账"]
|
||||||
|
allowance{"套餐内含 AI 用量可抵扣?"}
|
||||||
|
deduct["抵扣套餐内含用量"]
|
||||||
|
excess["剩余超额部分
|
||||||
|
按成本、可配置加价及积分汇率结算"]
|
||||||
|
example["例:全部属于超额
|
||||||
|
成本 1 USD × 1.20 × 100 = 120 积分"]
|
||||||
|
gate["下一次调用前检查预算 / 权益
|
||||||
|
不足则停止新调用并提示充值"]
|
||||||
|
aiCall --> cost --> allowance
|
||||||
|
allowance -->|"有"| deduct
|
||||||
|
deduct -->|"如有超额部分"| excess
|
||||||
|
allowance -->|"无"| excess
|
||||||
|
excess --> example
|
||||||
|
deduct --> gate
|
||||||
|
excess --> gate
|
||||||
|
```
|
||||||
|
|
||||||
|
会议说明:
|
||||||
|
|
||||||
|
- 熟客账户可配置固定项目服务费,与正常套餐/选配合计匹配既有合作价。套餐可含初始开发,不能理解为只卖计算资源,也不等于所有未来开发免费。
|
||||||
|
- 包含用量可以覆盖部分 AI 消耗;只对剩余超额结算。实际成本按供应商模型用量核对,不用“普通 token 总数”统一单价,不以客户满意或产出文件数作为计费依据。
|
||||||
|
- 人工服务金额与超额 AI 消耗分别展示。同一项 AI 费用不得重复包含/另扣;没有 AI 调用的固定运维不能凭空收费为 token。
|
||||||
|
- 域名、邮箱按独立年度服务计算;共享数据库/存储只记一份购买项。共享邮箱池与独享账号的成本、容量及人工准备方式不同,具体价目在后台配置。
|
||||||
|
- 首期年付,不建系统内退款或按月提前退役退款;退役释放运行数据资源但保留代码/启动配置,不退年费。特殊差额线下处理。年付运行权益不会因为 AI 余额不足而中途停止。
|
||||||
|
- 未来测试赠送只能测试预览,**不能支付正式套餐、购买域名/邮箱、绑定正式域名或兑换真实积分**。平台可销毁试用资源;授予额度、期限与反滥用细则不属于本轮定案。
|
||||||
|
|
||||||
|
依据:[05 商业模式](../05-商业模式与成本指标.md)、[07 决策 D073–D080](../07-待确认问题与决策记录.md)。Mermaid 用法参考 [官方文档](https://mermaid.js.org/config/usage.html)。[返回图集](README.md)。
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
flowchart TB
|
||||||
|
recharge["客户真实充值
|
||||||
|
默认 1 USD = 100 积分;允许小数"]
|
||||||
|
paid["真实充值积分余额"]
|
||||||
|
annual["正式年付套餐
|
||||||
|
可包含初始开发、运维、运行资源"]
|
||||||
|
independent["独立选配年度服务
|
||||||
|
域名:成本加服务费
|
||||||
|
邮箱:共享 / 独享"]
|
||||||
|
manual["新增人工定制服务
|
||||||
|
评估金额,客户确认后消费"]
|
||||||
|
included["套餐内含 AI 用量
|
||||||
|
正式项目可用;不是测试赠送"]
|
||||||
|
usage["真实项目 AI 消耗
|
||||||
|
先用内含用量,超额扣真实积分"]
|
||||||
|
trial["后续:新客测试赠送权益
|
||||||
|
独立记录,不可转真实余额"]
|
||||||
|
preview["仅测试部署与受保护预览
|
||||||
|
禁正式域名;可撤销和销毁"]
|
||||||
|
pricing["后台可配置价格政策
|
||||||
|
档位、费率、账户固定服务费、内含用量"]
|
||||||
|
recharge --> paid
|
||||||
|
paid -->|"购买"| annual
|
||||||
|
paid -->|"购买"| independent
|
||||||
|
paid -->|"确认金额后支付"| manual
|
||||||
|
annual -->|"授予"| included
|
||||||
|
included -->|"优先抵扣"| usage
|
||||||
|
paid -->|"只支付超出包含用量的部分"| usage
|
||||||
|
trial -.->|"仅限"| preview
|
||||||
|
pricing --- annual
|
||||||
|
pricing --- independent
|
||||||
|
pricing --- manual
|
||||||
|
pricing --- usage
|
||||||
|
classDef future fill:#f4f4f5,stroke:#71717a,stroke-dasharray:5 4;
|
||||||
|
class trial,preview future;
|
||||||
|
After Width: | Height: | Size: 257 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="1465" height="1132" viewBox="0 0 1465 1132" role="img" aria-labelledby="G05-收费与权益Title G05-收费与权益Desc"><title id="G05-收费与权益Title">G05 收费与权益 · 收费与权益</title><desc id="G05-收费与权益Desc">真实充值、套餐内含 AI 用量、未来测试赠送是三类不同权益;年付服务与 AI 实际消耗分开计量。;2026-10-12,业务基线 0.14,图集版本 0.17</desc><rect width="100%" height="100%" fill="#fff"/><text x="32" y="42" font-family="Microsoft YaHei,Arial,sans-serif" font-size="28" font-weight="600" fill="#17233a">G05 收费与权益</text><text x="32" y="79" font-family="Microsoft YaHei,Arial,sans-serif" font-size="18" fill="#526176">2026-10-12 · 业务基线 0.14 · 图集 0.17 · 主图 · 技术选型未定</text><g transform="translate(32,124)"><svg id="diagram05x0" width="1400.75" xmlns="http://www.w3.org/2000/svg" class="flowchart" height="960" viewBox="0 0 1400.75 960" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#diagram05x0{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;fill:#17233a;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram05x0 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram05x0 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram05x0 .error-icon{fill:#ffffff;}#diagram05x0 .error-text{fill:#000000;stroke:#000000;}#diagram05x0 .edge-thickness-normal{stroke-width:1px;}#diagram05x0 .edge-thickness-thick{stroke-width:3.5px;}#diagram05x0 .edge-pattern-solid{stroke-dasharray:0;}#diagram05x0 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram05x0 .edge-pattern-dashed{stroke-dasharray:3;}#diagram05x0 .edge-pattern-dotted{stroke-dasharray:2;}#diagram05x0 .marker{fill:#60718a;stroke:#60718a;}#diagram05x0 .marker.cross{stroke:#60718a;}#diagram05x0 svg{font-family:Microsoft YaHei,Arial,sans-serif;font-size:20px;}#diagram05x0 p{margin:0;}#diagram05x0 .label{font-family:Microsoft YaHei,Arial,sans-serif;color:#17233a;}#diagram05x0 .cluster-label text{fill:#000000;}#diagram05x0 .cluster-label span{color:#000000;}#diagram05x0 .cluster-label span p{background-color:transparent;}#diagram05x0 .label text,#diagram05x0 span{fill:#17233a;color:#17233a;}#diagram05x0 .node rect,#diagram05x0 .node circle,#diagram05x0 .node ellipse,#diagram05x0 .node polygon,#diagram05x0 .node path{fill:#eef5ff;stroke:#8198bb;stroke-width:1px;}#diagram05x0 .rough-node .label text,#diagram05x0 .node .label text,#diagram05x0 .image-shape .label,#diagram05x0 .icon-shape .label{text-anchor:middle;}#diagram05x0 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram05x0 .rough-node .label,#diagram05x0 .node .label,#diagram05x0 .image-shape .label,#diagram05x0 .icon-shape .label{text-align:center;}#diagram05x0 .node.clickable{cursor:pointer;}#diagram05x0 .root .anchor path{fill:#60718a!important;stroke-width:0;stroke:#60718a;}#diagram05x0 .arrowheadPath{fill:#0b0b0b;}#diagram05x0 .edgePath .path{stroke:#60718a;stroke-width:2.0px;}#diagram05x0 .flowchart-link{stroke:#60718a;fill:none;}#diagram05x0 .edgeLabel{background-color:#f3f8f6;text-align:center;}#diagram05x0 .edgeLabel p{background-color:#f3f8f6;}#diagram05x0 .edgeLabel rect{opacity:0.5;background-color:#f3f8f6;fill:#f3f8f6;}#diagram05x0 .labelBkg{background-color:rgba(243, 248, 246, 0.5);}#diagram05x0 .cluster rect{fill:#f8fafc;stroke:#cbd5e1;stroke-width:1px;}#diagram05x0 .cluster text{fill:#000000;}#diagram05x0 .cluster span{color:#000000;}#diagram05x0 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:Microsoft YaHei,Arial,sans-serif;font-size:12px;background:#ffffff;border:1px solid hsl(0, 0%, 90%);border-radius:2px;pointer-events:none;z-index:100;}#diagram05x0 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#17233a;}#diagram05x0 rect.text{fill:none;stroke-width:0;}#diagram05x0 .icon-shape,#diagram05x0 .image-shape{background-color:#f3f8f6;text-align:center;}#diagram05x0 .icon-shape p,#diagram05x0 .image-shape p{background-color:#f3f8f6;padding:2px;}#diagram05x0 .icon-shape rect,#diagram05x0 .image-shape rect{opacity:0.5;background-color:#f3f8f6;fill:#f3f8f6;}#diagram05x0 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram05x0 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram05x0 :root{--mermaid-font-family:Microsoft YaHei,Arial,sans-serif;}#diagram05x0 .future rect{fill:#f4f4f5!important;stroke:#71717a!important;stroke-dasharray:5 4!important;}#diagram05x0 .future polygon{fill:#f4f4f5!important;stroke:#71717a!important;stroke-dasharray:5 4!important;}#diagram05x0 .future ellipse{fill:#f4f4f5!important;stroke:#71717a!important;stroke-Line truncated
|
||||||
|
After Width: | Height: | Size: 24 KiB |
@@ -0,0 +1,32 @@
|
|||||||
|
# G01–G05 产品会议图集
|
||||||
|
|
||||||
|
2026-10-13 · 业务基线 0.15 · 目录协作版本 0.18。
|
||||||
|
|
||||||
|
**可编辑 Markdown 已按 D085–D088 改过。离线会议图集里的 SVG 仍是 2026-10-12 的图,和文字不一致的地方以 Markdown 为准。** 打开 [离线会议图集](G01-G05-会议图集.html) 时请配合各图 Markdown 的补充说明。
|
||||||
|
|
||||||
|
| 图号 | 表达的结论 | 可编辑 Markdown |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| G01 | 销售应用技术封装和定制能力,基础服务支持交付与成本覆盖 | [产品业务全景](G01-产品业务全景.md) |
|
||||||
|
| G02 | 项目、APP、组件、资源和服务分开建模,通过显式关系关联 | [领域概念关系](G02-领域概念关系.md) |
|
||||||
|
| G03 | 普通向导与高级配置分开,扣款后跟踪实际开通结果 | [购买与开通](G03-购买与开通.md) |
|
||||||
|
| G04 | 明确需求的单项目工单,自动/人工接续,核验后直接更新运行版本 | [定制工单处理](G04-定制工单处理.md) |
|
||||||
|
| G05 | 年付、真实积分、套餐内含 AI 和测试赠送按不同规则消费 | [收费与权益](G05-收费与权益.md) |
|
||||||
|
|
||||||
|
这五个主题足以说明当前产品概念,不能替代全部正文。G06 生命周期、G07 首期边界、G08 数据流仍在 [图表计划](../10-会议图表与可视化计划.md)中,尚未生成;数据库、执行器和部署技术架构也未定案。
|
||||||
|
|
||||||
|
## 阅读、分享与修改
|
||||||
|
|
||||||
|
- `.md` 是唯一编辑源:含 Mermaid 代码块、图形预览、业务边界和依据。支持 Mermaid 的 Markdown 阅读器可直接渲染代码块;不支持时仍可阅读文字及已导出的图形。
|
||||||
|
- `.svg` 是可缩放展示图,`.png` 适合插入会议材料;`.mmd` 是从 Markdown 提取的绘图源,避免另行修改导致两份内容不一致。
|
||||||
|
- 主图之外,G02 有工单/费用关系与三个项目例子,G04 有失败/恢复,G05 有实际 AI 消耗记账。需要时展开,不要求第一遍逐个解释。
|
||||||
|
- 实线表达确认关系;虚线框/线和“后续 / 待定”文字表示未来或候选。泳道中的虚线返回箭头表示结果反馈,不表示该流程未确认。不可只凭颜色判断状态。
|
||||||
|
- 图中模块是业务能力,概念关系不是数据库表关系;年度套餐、默认积分汇率等也不是已经实施的系统。发现图与正文差异,应按人类决定核查并同步修订。
|
||||||
|
- 给同事发送整个 `ai-web-delivery` 目录,保留规范、源文档、07/08 和交接记录;不要只发 PNG。新 AI 从上级 README/AGENTS 恢复,随后读取本图集。
|
||||||
|
|
||||||
|
## 重新生成
|
||||||
|
|
||||||
|
修改 `.md` 中 Mermaid 代码后,使用 `render-diagrams.cjs` 重新生成展示文件;需要 Node.js、Playwright 与 Chromium 浏览器。脚本默认使用本机已存在的运行依赖和 Edge,可用 `DIAGRAM_NODE_MODULES`、`DIAGRAM_BROWSER` 指定其他电脑的依赖/浏览器绝对路径。缺少渲染依赖只影响重新导出,不影响阅读 Markdown 和现有离线图集。
|
||||||
|
|
||||||
|
渲染器固定 Mermaid 11.12.0;首次重绘会下载该版本的官方 npm 分发文件至 `.render-cache`。缓存和检查截图不是业务资料,可不随目录移交。`render-manifest.json` 记录图集版本与实际导出尺寸;业务/格式校验及摘要见 [H0003](../handoffs/H0003-2026-10-12-G01至G05会议图集.md)。
|
||||||
|
|
||||||
|
[返回项目入口](../README.md) · [当前讨论状态](../08-当前讨论状态.md)
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
const fs = require('node:fs');
|
||||||
|
const path = require('node:path');
|
||||||
|
|
||||||
|
// 文档是唯一编辑源;本脚本只生成图集和展示文件。
|
||||||
|
const root = __dirname;
|
||||||
|
const bundlePackages = process.env.DIAGRAM_NODE_MODULES || 'C:/Users/mk/.cache/codex-runtimes/codex-primary-runtime/dependencies/node/node_modules';
|
||||||
|
const { chromium } = require(path.join(bundlePackages, 'playwright'));
|
||||||
|
const escapeHtml = text => text.replaceAll('&', '&').replaceAll('<', '<').replaceAll('>', '>').replaceAll('"', '"');
|
||||||
|
const files = fs.readdirSync(root).filter(name => /^G0[1-5]-.+\.md$/.test(name)).sort();
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
const cache = path.join(root, '.render-cache');
|
||||||
|
fs.mkdirSync(cache, { recursive: true });
|
||||||
|
const library = path.join(cache, 'mermaid-11.12.0.min.js');
|
||||||
|
if (!fs.existsSync(library)) {
|
||||||
|
const response = await fetch('https://cdn.jsdelivr.net/npm/[email protected]/dist/mermaid.min.js');
|
||||||
|
if (!response.ok) throw new Error(`Mermaid download: ${response.status}`);
|
||||||
|
fs.writeFileSync(library, await response.text());
|
||||||
|
}
|
||||||
|
const executablePath = process.env.DIAGRAM_BROWSER || 'C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe';
|
||||||
|
const browser = await chromium.launch({ executablePath, headless: true });
|
||||||
|
const page = await browser.newPage({ viewport: { width: 1800, height: 1200 }, deviceScaleFactor: 1.5 });
|
||||||
|
await page.setContent('<!doctype html><html lang="zh-CN"><meta charset="utf-8"><style>body{margin:0;font-family:"Microsoft YaHei",sans-serif}#canvas{background:white}svg{display:block}</style><div id="canvas"></div></html>');
|
||||||
|
await page.addScriptTag({ path: library });
|
||||||
|
await page.evaluate(() => mermaid.initialize({
|
||||||
|
startOnLoad: false, securityLevel: 'strict', theme: 'base',
|
||||||
|
fontFamily: 'Microsoft YaHei, Arial, sans-serif',
|
||||||
|
themeVariables: {
|
||||||
|
fontSize: '20px', primaryColor: '#eef5ff', primaryTextColor: '#17233a', primaryBorderColor: '#8198bb',
|
||||||
|
lineColor: '#60718a', secondaryColor: '#f3f8f6', tertiaryColor: '#ffffff',
|
||||||
|
clusterBkg: '#f8fafc', clusterBorder: '#cbd5e1', actorBkg: '#edf3fb', actorBorder: '#8198bb',
|
||||||
|
actorTextColor: '#17233a', signalColor: '#334155', signalTextColor: '#17233a',
|
||||||
|
labelBoxBkgColor: '#f3f6fa', labelBoxBorderColor: '#9aabc1', labelTextColor: '#17233a',
|
||||||
|
loopTextColor: '#17233a', noteBkgColor: '#fffbea', noteBorderColor: '#d4c79f', noteTextColor: '#17233a'
|
||||||
|
},
|
||||||
|
flowchart: { htmlLabels: false, useMaxWidth: false, nodeSpacing: 32, rankSpacing: 58, padding: 18, wrappingWidth: 310, curve: 'basis' },
|
||||||
|
sequence: { useMaxWidth: false, wrap: true, width: 240, actorMargin: 62, diagramMarginX: 30, diagramMarginY: 20, messageMargin: 40, boxMargin: 14, mirrorActors: false }
|
||||||
|
}));
|
||||||
|
const manifest = [];
|
||||||
|
for (const file of files) {
|
||||||
|
const md = fs.readFileSync(path.join(root, file), 'utf8');
|
||||||
|
const title = md.match(/^# (.+)$/m)[1];
|
||||||
|
const conclusion = md.match(/^\*\*(.+)\*\*$/m)[1];
|
||||||
|
const sources = [...md.matchAll(/```mermaid\r?\n([\s\S]+?)\r?\n```/g)];
|
||||||
|
const images = [...md.matchAll(/!\[([^\]]+)\]\(([^)]+)\.svg\)/g)];
|
||||||
|
if (sources.length !== images.length) throw new Error(`${file}: sources and images differ`);
|
||||||
|
const diagrams = [];
|
||||||
|
for (let index = 0; index < sources.length; index++) {
|
||||||
|
const name = images[index][2];
|
||||||
|
const source = sources[index][1];
|
||||||
|
fs.writeFileSync(path.join(root, `${name}.mmd`), source + '\n');
|
||||||
|
const rendered = await page.evaluate(async ({ source, id }) => {
|
||||||
|
const { svg } = await mermaid.render(id, source);
|
||||||
|
document.getElementById('canvas').innerHTML = svg;
|
||||||
|
const element = document.querySelector('#canvas svg');
|
||||||
|
const view = element.viewBox.baseVal;
|
||||||
|
return { svg, width: view.width, height: view.height };
|
||||||
|
}, { source, id: `diagram${file.slice(1, 3)}x${index}` });
|
||||||
|
if (!rendered.width || !rendered.height || /Syntax error/.test(rendered.svg)) throw new Error(`${name}: invalid render`);
|
||||||
|
const header = 124;
|
||||||
|
const width = Math.max(1000, Math.ceil(rendered.width + 64));
|
||||||
|
const height = Math.ceil(rendered.height + header + 48);
|
||||||
|
const wrapped = `<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" viewBox="0 0 ${width} ${height}" role="img" aria-labelledby="${name}Title ${name}Desc"><title id="${name}Title">${escapeHtml(title)} · ${escapeHtml(images[index][1])}</title><desc id="${name}Desc">${escapeHtml(conclusion)};2026-10-12,业务基线 0.14,图集版本 0.17</desc><rect width="100%" height="100%" fill="#fff"/><text x="32" y="42" font-family="Microsoft YaHei,Arial,sans-serif" font-size="28" font-weight="600" fill="#17233a">${escapeHtml(index ? `${title.slice(0, 3)} · ${images[index][1]}` : title)}</text><text x="32" y="79" font-family="Microsoft YaHei,Arial,sans-serif" font-size="18" fill="#526176">2026-10-12 · 业务基线 0.14 · 图集 0.17 · ${index ? '展开图' : '主图'} · 技术选型未定</text><g transform="translate(${Math.round((width - rendered.width) / 2)},${header})">${rendered.svg}</g></svg>`;
|
||||||
|
fs.writeFileSync(path.join(root, `${name}.svg`), wrapped);
|
||||||
|
await page.evaluate(svg => { document.getElementById('canvas').innerHTML = svg; }, wrapped);
|
||||||
|
const scale = Math.min(1, 2200 / width);
|
||||||
|
await page.evaluate(({ width, height }) => {
|
||||||
|
const svg = document.querySelector('#canvas > svg');
|
||||||
|
svg.style.width = `${width}px`;
|
||||||
|
svg.style.height = `${height}px`;
|
||||||
|
document.getElementById('canvas').style.width = `${width}px`;
|
||||||
|
}, { width: Math.ceil(width * scale), height: Math.ceil(height * scale) });
|
||||||
|
await page.locator('#canvas').screenshot({ path: path.join(root, `${name}.png`) });
|
||||||
|
diagrams.push({ name, label: images[index][1], width, height, svg: wrapped });
|
||||||
|
console.log(`${name}: ${width}x${height}`);
|
||||||
|
}
|
||||||
|
manifest.push({ file, title, conclusion, diagrams });
|
||||||
|
}
|
||||||
|
const menu = manifest.map((entry, index) => `<button type="button" data-index="${index}" aria-pressed="${index === 0}">${escapeHtml(entry.title)}</button>`).join('');
|
||||||
|
const panels = manifest.map((entry, index) => `<section id="panel${index}" ${index ? 'hidden' : ''}><h1>${escapeHtml(entry.title)}</h1><p class="lead">${escapeHtml(entry.conclusion)}</p><p class="links"><a href="${escapeHtml(entry.file)}">阅读 Markdown 与编辑源</a>${entry.diagrams.map(graph => ` · <a href="${escapeHtml(graph.name)}.svg">${escapeHtml(graph.label)} SVG</a> · <a href="${escapeHtml(graph.name)}.png">PNG</a>`).join('')}</p>${entry.diagrams.map(graph => `<article><h2>${escapeHtml(graph.label)}</h2><div class="diagram">${graph.svg}</div></article>`).join('')}</section>`).join('');
|
||||||
|
const html = `<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>AI 软件交付平台 · G01–G05 会议图集</title><style>
|
||||||
|
*{box-sizing:border-box}body{margin:0;background:#f2f5fa;color:#17233a;font-family:"Microsoft YaHei",Arial,sans-serif;font-size:16px}header{background:#fff;padding:20px 28px;border-bottom:1px solid #dce3ed}header p{margin:4px 0;color:#526176}nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}button{font:inherit;border:1px solid #cbd5e1;border-radius:6px;background:#fff;padding:10px 14px;color:#17233a;cursor:pointer}button[aria-pressed=true]{background:#253f6b;color:#fff;border-color:#253f6b}main{padding:24px 28px}h1{font-size:28px;margin:0 0 12px}h2{font-size:19px;margin:0 0 12px}.lead{line-height:1.8;margin:0 0 10px}.links{font-size:14px;line-height:1.8}a{color:#245b98}article{background:white;border-radius:8px;padding:20px;margin:20px 0;border:1px solid #dce3ed}.diagram{overflow:auto}.diagram>svg{width:100%;height:auto;min-width:1000px;display:block}footer{color:#526176;font-size:14px;line-height:1.8;margin-top:20px}@media(max-width:700px){header,main{padding:16px}article{padding:12px}h1{font-size:24px}}@media print{nav,header,.links{display:none}body,main{background:white;padding:0}section[hidden]{display:block!important}article{break-inside:avoid;page-break-after:always;border:0;padding:0}.diagram{overflow:visible}.diagram>svg{min-width:0}footer{display:none}}
|
||||||
|
</style></head><body><header><strong>AI 软件交付与持续服务平台 · 会议图集</strong><p>G01–G05 · 2026-10-12 · 业务基线 0.14 · 图集 0.17</p><nav aria-label="选择图表">${menu}</nav></header><main>${panels}<footer>虚线及“后续 / 待定”文字表示目标能力或候选,不代表首期承诺。图表达业务与概念,技术架构未定案。完整规则及图内省略的分支请查看对应 Markdown;附图用于会中展开。此图集已内嵌图形,可离线打开。</footer></main><script>document.querySelectorAll('nav button').forEach(button=>button.addEventListener('click',()=>{document.querySelectorAll('nav button').forEach(peer=>peer.setAttribute('aria-pressed',String(peer===button)));document.querySelectorAll('main section').forEach((panel,index)=>panel.hidden=index!==Number(button.dataset.index));}));</script></body></html>`;
|
||||||
|
fs.writeFileSync(path.join(root, 'G01-G05-会议图集.html'), html);
|
||||||
|
fs.writeFileSync(path.join(root, 'render-manifest.json'), JSON.stringify({ date: '2026-10-12', baseline: '0.14', version: '0.17', mermaid: '11.12.0', diagrams: manifest.map(({ file, title, diagrams }) => ({ file, title, diagrams: diagrams.map(({ svg, ...graph }) => graph) })) }, null, 2) + '\n');
|
||||||
|
await page.goto('file:///' + path.join(root, 'G01-G05-会议图集.html').replaceAll('\\', '/'));
|
||||||
|
for (let index = 0; index < manifest.length; index++) {
|
||||||
|
await page.locator(`button[data-index="${index}"]`).click();
|
||||||
|
await page.screenshot({ path: path.join(cache, `review-G0${index + 1}.png`), fullPage: true });
|
||||||
|
}
|
||||||
|
await browser.close();
|
||||||
|
}
|
||||||
|
main().catch(error => { console.error(error); process.exit(1); });
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
{
|
||||||
|
"date": "2026-10-12",
|
||||||
|
"baseline": "0.14",
|
||||||
|
"version": "0.17",
|
||||||
|
"mermaid": "11.12.0",
|
||||||
|
"diagrams": [
|
||||||
|
{
|
||||||
|
"file": "G01-产品业务全景.md",
|
||||||
|
"title": "G01 产品业务全景",
|
||||||
|
"diagrams": [
|
||||||
|
{
|
||||||
|
"name": "G01-产品业务全景",
|
||||||
|
"label": "产品业务全景",
|
||||||
|
"width": 1657,
|
||||||
|
"height": 1082
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file": "G02-领域概念关系.md",
|
||||||
|
"title": "G02 领域概念关系",
|
||||||
|
"diagrams": [
|
||||||
|
{
|
||||||
|
"name": "G02-领域概念关系",
|
||||||
|
"label": "领域概念关系",
|
||||||
|
"width": 1062,
|
||||||
|
"height": 1012
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "G02-工单与购买项",
|
||||||
|
"label": "工单与购买项",
|
||||||
|
"width": 1000,
|
||||||
|
"height": 1298
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "G02-项目组成例子",
|
||||||
|
"label": "项目组成例子",
|
||||||
|
"width": 1107,
|
||||||
|
"height": 887
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file": "G03-购买与开通.md",
|
||||||
|
"title": "G03 购买与开通",
|
||||||
|
"diagrams": [
|
||||||
|
{
|
||||||
|
"name": "G03-购买与开通",
|
||||||
|
"label": "购买与开通",
|
||||||
|
"width": 1294,
|
||||||
|
"height": 1667
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file": "G04-定制工单处理.md",
|
||||||
|
"title": "G04 定制工单处理",
|
||||||
|
"diagrams": [
|
||||||
|
{
|
||||||
|
"name": "G04-定制工单处理",
|
||||||
|
"label": "定制工单主流程",
|
||||||
|
"width": 1596,
|
||||||
|
"height": 1744
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "G04-失败与恢复",
|
||||||
|
"label": "失败与恢复",
|
||||||
|
"width": 3685,
|
||||||
|
"height": 751
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file": "G05-收费与权益.md",
|
||||||
|
"title": "G05 收费与权益",
|
||||||
|
"diagrams": [
|
||||||
|
{
|
||||||
|
"name": "G05-收费与权益",
|
||||||
|
"label": "收费与权益",
|
||||||
|
"width": 1465,
|
||||||
|
"height": 1132
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "G05-AI消耗记账",
|
||||||
|
"label": "AI 实际消耗记账",
|
||||||
|
"width": 2569,
|
||||||
|
"height": 486
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
# H0001 产品基线与协作入口
|
||||||
|
|
||||||
|
状态:已完成文档协作机制,架构尚未讨论定案;2026-10-12。
|
||||||
|
|
||||||
|
## 来源与结果
|
||||||
|
|
||||||
|
| 项目 | 内容 |
|
||||||
|
| --- | --- |
|
||||||
|
| 参与人 | 产品负责人为当前用户;协作 AI;同事姓名及技术负责人未提供 |
|
||||||
|
| 来源 | 目录/业务基线 0.14,尚无独立交接机制 |
|
||||||
|
| 结果 | 目录协作版本 0.15,业务基线仍为 0.14 |
|
||||||
|
| 上一交接 | 无;此前业务历史已整理于 07,D001–D080 |
|
||||||
|
| 本轮任务 | 建立跨人员/AI/新对话的入口、状态与交接规则,便于同事继续阶段 4 后返回 |
|
||||||
|
| 授权范围 | 维护讨论文档;未授权实施、迁移、部署、公开或推送 |
|
||||||
|
|
||||||
|
## 本轮修改
|
||||||
|
|
||||||
|
| 文件 | 变化 |
|
||||||
|
| --- | --- |
|
||||||
|
| AGENTS.md | 新建 AI 恢复、讨论、落盘、权限与并行规则 |
|
||||||
|
| 08-当前讨论状态.md | 新建当前进度、基线、下一轮主文档及未决/后置清单 |
|
||||||
|
| 09-协作与交接规范.md | 新建产品/技术分工、每轮闭环、发送/返回/合并及冲突机制 |
|
||||||
|
| handoffs/_交接记录模板.md | 新建后续交接模板 |
|
||||||
|
| README.md | 更新为可移交入口、启动提示与阶段 4 阅读顺序 |
|
||||||
|
| 00-分阶段讨论计划.md | 补充角色参与和以状态文件为最新进度导航 |
|
||||||
|
| 07-待确认问题与决策记录.md | 新增 D081/D082 和协作版本历史,业务基线未变 |
|
||||||
|
| 本目录原正文内的内部链接 | 改成相对链接以适配复制到其他电脑;旧外部源码路径保留为可选参考 |
|
||||||
|
|
||||||
|
## 确认与未决
|
||||||
|
|
||||||
|
D081:用户明确希望把完整目录分享给同事,要求新 AI 知道讨论规范/当前进度,同事修改后可接续;据此建立本轮机制。
|
||||||
|
|
||||||
|
D082:用户希望阶段 4/5 与开发共同讨论;产品前三阶段基线继续有效,开发评审架构与迁移,产品参与影响收费/权益/范围及服务切换的取舍。具体技术负责人尚未指定,未授权立即实施。
|
||||||
|
|
||||||
|
业务未新增;100 积分/USD 仍是已授权推荐的设计默认,非已实施服务。R012/R013/R014 技术建议仍待评审,未选数据库/队列/执行器/Git。
|
||||||
|
|
||||||
|
## 下一轮
|
||||||
|
|
||||||
|
先读 AGENTS → README → 08 → 09 → 本记录 → 03 架构相关章节和 07,再按需核对 01/02/05。第一题建议为平台业务模块与数据所有权,再比较进程/数据库边界;不要直接生成建表迁移或用旧资产库方案覆盖新需求。
|
||||||
|
|
||||||
|
如果同事返回的版本多出 H 记录,当前 AI 应先读取更晚记录并核对实际变更;不能继续把本记录作为“永远最新”。双方同时编辑时按 09 合并。
|
||||||
|
|
||||||
|
## 校验与范围
|
||||||
|
|
||||||
|
本轮仅建立协作规范并更新规划入口,未修改当前资产库、代码、CI、客户资源或服务器。校验结果:14 个 Markdown 文件、32 个目录内链接、82 条唯一决定编号,UTF-8 读取及链接检查无错误。17 个外部本机路径链接为现状参考,未把它们当作同事环境必备依赖;目录内已无原根路径绑定。核心文件摘要见下表。
|
||||||
|
|
||||||
|
## 本次核心文件摘要
|
||||||
|
|
||||||
|
下表由完成后的实际文件生成;不含交接自身和模板。若实际摘要不同,应查明新增改动,不直接认定文件损坏或结论失效。
|
||||||
|
|
||||||
|
| 相对路径 | SHA-256 |
|
||||||
|
| --- | --- |
|
||||||
|
| 00-分阶段讨论计划.md | 535bd26bbd3e38d4152c7b55a6723e10fb3757f32b0eaa39c1ef99bdcbba2329 |
|
||||||
|
| 01-立项与产品定位.md | 2d4bf61154321504b4cd224fdc951f657257ef028ed89a084f2de65815b2187c |
|
||||||
|
| 02-业务流程与产品需求.md | 15c88a42c657ca7ce133e37c14cfce712d1f6c7e636e8963bf22dc12cfed6fc1 |
|
||||||
|
| 03-系统架构与领域模型.md | 84c80b6621d5d0fd89aacf018747ca829e722bfccfa7d0995792aea99b1855fa |
|
||||||
|
| 04-模板与AI工作流.md | 7dfe3b187894a8f6900ae93ecd59e5f28e99759aaef220b4881971e963892441 |
|
||||||
|
| 05-商业模式与成本指标.md | 005b16288ae21f2dd0bf490b5e532af90ba1b6b0daa7829e328cd2187aedec36 |
|
||||||
|
| 06-实施路线与验收标准.md | a1aabfb5cb5b91a7a032136b4ab5988ba2397b911a2ea48fcc99adb2fa8487be |
|
||||||
|
| 07-待确认问题与决策记录.md | a7ef8a5437f99c328ac59d1a2b8971cb4b9ccfb7e0c3c93db7124a0a5e9470cb |
|
||||||
|
| 08-当前讨论状态.md | 746b1ea07556ae2fb420b8ab5ee4c4c3f0c349645a0bea6e9a129e70c67d1ad1 |
|
||||||
|
| 09-协作与交接规范.md | 65e0284a90c336cb1b50b2f052d2f08c304e2d73b8ffd2b6b5b540592b9a54ce |
|
||||||
|
| AGENTS.md | 534a5b96ecc127a91d6b3ce3980f2fb45d0ad1ae7427902b0a6589ec8ed298d3 |
|
||||||
|
| README.md | 57405e720d68d1825924dd3598b5930d8ee0ae9ca647f11b87aac63cebf87308 |
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
# H0002 会议图表计划
|
||||||
|
|
||||||
|
状态:已完成推荐与内容规格;图尚未生成。2026-10-12。
|
||||||
|
|
||||||
|
## 来源与结果
|
||||||
|
|
||||||
|
| 项目 | 内容 |
|
||||||
|
| --- | --- |
|
||||||
|
| 参与人 | 当前用户/产品负责人及协作 AI;技术参与人未指定 |
|
||||||
|
| 来源 | 目录协作版本 0.15,业务基线 0.14 |
|
||||||
|
| 上一交接 | [H0001](H0001-2026-10-12-产品基线与协作入口.md) |
|
||||||
|
| 结果 | 目录协作版本 0.16,业务基线仍 0.14 |
|
||||||
|
| 本轮主题 | 推荐会议图表,整理内容与绘制顺序 |
|
||||||
|
| 授权 | 推荐、维护规划;用户说明后续会发起图表生成,本轮未生成图片 |
|
||||||
|
|
||||||
|
## 修改文件
|
||||||
|
|
||||||
|
| 文件 | 修改 |
|
||||||
|
| --- | --- |
|
||||||
|
| 10-会议图表与可视化计划.md | 新建八张建议图的用途/规格/源文档/优先级/会议顺序和输出维护要求 |
|
||||||
|
| 07-待确认问题与决策记录.md | 追加需求 D083、建议 R017 及版本历史 |
|
||||||
|
| 08-当前讨论状态.md | 切换会议准备任务和最新交接,生成后再讨论架构 |
|
||||||
|
| README.md | 更新版本、主文档和 10 导航 |
|
||||||
|
| 00-分阶段讨论计划.md | 同步会议准备插入点,不改变规划阶段顺序 |
|
||||||
|
|
||||||
|
## 已确认与建议
|
||||||
|
|
||||||
|
D083 依据:用户希望定位与业务/流程用清楚图表表达,先请求推荐和整理,后续再让 AI 生成。业务、技术选型及图表具体组合尚未新增确认。
|
||||||
|
|
||||||
|
R017 建议七张产品图及一张技术附图,先 G01–G05;数量/顺序可调整,推荐不是逐图已批准。依据现有正文,不重复决定业务;候选/后置标记清楚。
|
||||||
|
|
||||||
|
## 下一轮
|
||||||
|
|
||||||
|
主文档 10。用户发起生成时建议从 G01 开始,逐图核对,按需导出可编辑源及会议展示图。拟使用 diagrams 目录,当前没有图成果。
|
||||||
|
|
||||||
|
会议材料后回到 03 阶段 4 模块/数据责任讨论。数据库/执行器/Git/工期未选,不为了画图提前定案。
|
||||||
|
|
||||||
|
## 校验与范围
|
||||||
|
|
||||||
|
开始前核对 H0001 的 12 个核心文件,未发现未登记改动。仅更新规划/导航,未生成图,未改资产库/代码/现网。最终链接、标识及核心摘要在保存后校验。
|
||||||
|
|
||||||
|
## 本次核心文件摘要
|
||||||
|
|
||||||
|
保存完成后的根目录正文/导航,不含本交接自身、模板和历史记录。摘要用于发现未登记修改,不代表建议获确认。
|
||||||
|
|
||||||
|
校验通过:16 个 Markdown 文件,35 个目录内链接,83 条唯一决定,UTF-8 无错误。下表记录 13 个核心文件实际摘要。
|
||||||
|
|
||||||
|
| 相对路径 | SHA-256 |
|
||||||
|
| --- | --- |
|
||||||
|
| 00-分阶段讨论计划.md | 9375e984b68871cae782d3d011ac9efad18f7e20c7d6065a0e3e726edd9b7d8a |
|
||||||
|
| 01-立项与产品定位.md | 2d4bf61154321504b4cd224fdc951f657257ef028ed89a084f2de65815b2187c |
|
||||||
|
| 02-业务流程与产品需求.md | 15c88a42c657ca7ce133e37c14cfce712d1f6c7e636e8963bf22dc12cfed6fc1 |
|
||||||
|
| 03-系统架构与领域模型.md | 84c80b6621d5d0fd89aacf018747ca829e722bfccfa7d0995792aea99b1855fa |
|
||||||
|
| 04-模板与AI工作流.md | 7dfe3b187894a8f6900ae93ecd59e5f28e99759aaef220b4881971e963892441 |
|
||||||
|
| 05-商业模式与成本指标.md | 005b16288ae21f2dd0bf490b5e532af90ba1b6b0daa7829e328cd2187aedec36 |
|
||||||
|
| 06-实施路线与验收标准.md | a1aabfb5cb5b91a7a032136b4ab5988ba2397b911a2ea48fcc99adb2fa8487be |
|
||||||
|
| 07-待确认问题与决策记录.md | 0ba441afe2227aa9df00c7245ba9490750ed203b3144742cc1886ff146a89634 |
|
||||||
|
| 08-当前讨论状态.md | 962f9a1f27c82b467be23b7e25fac3b946af970756447e275b42a8ecea46a040 |
|
||||||
|
| 09-协作与交接规范.md | 65e0284a90c336cb1b50b2f052d2f08c304e2d73b8ffd2b6b5b540592b9a54ce |
|
||||||
|
| 10-会议图表与可视化计划.md | ea61200def46a7335be5a64212462b0ed9efd2f054707efbf4c8ccc131d040e7 |
|
||||||
|
| AGENTS.md | 534a5b96ecc127a91d6b3ce3980f2fb45d0ad1ae7427902b0a6589ec8ed298d3 |
|
||||||
|
| README.md | dd123e9f12058bf95fd2a8bf2f2fcd3c3989545660da6f41b9557ab1ebd34c78 |
|
||||||
@@ -0,0 +1,114 @@
|
|||||||
|
# H0003 · 2026-10-12 · G01–G05 会议图集
|
||||||
|
|
||||||
|
状态:已完成本轮授权的 G01–G05 生成。业务基线未变,架构未定案。
|
||||||
|
|
||||||
|
## 来源与结果
|
||||||
|
|
||||||
|
| 项目 | 内容 |
|
||||||
|
| --- | --- |
|
||||||
|
| 日期/参与人 | 2026-10-12;当前用户/产品负责人及协作 AI,技术参与人未指定 |
|
||||||
|
| 来源 | 目录协作版本 0.16,业务基线 0.14 |
|
||||||
|
| 上一交接 | [H0002](H0002-2026-10-12-会议图表计划.md) |
|
||||||
|
| 结果 | 目录协作版本 0.17,业务基线仍 0.14 |
|
||||||
|
| 主题 | 把已确认定位、领域关系、购买、工单、费用规则生成可编辑图与会议展示 |
|
||||||
|
| 授权 | 用户明确要求按当前版本直接生成 G01–G05,允许 Markdown 或可视绘图;不涉及实现平台、现网操作或公开发布 |
|
||||||
|
|
||||||
|
## 修改与成果
|
||||||
|
|
||||||
|
| 相对路径 | 修改 |
|
||||||
|
| --- | --- |
|
||||||
|
| diagrams/README.md | 图集入口、阅读/分享/修改、导出说明及边界 |
|
||||||
|
| diagrams/G01-产品业务全景.md | 入口、核心销售、服务路径、内部支撑;公共 API 接入版本待定 |
|
||||||
|
| diagrams/G02-领域概念关系.md | 项目/APP/组件/资源/独立服务主图;工单/发布/购买项展开;三个项目例子 |
|
||||||
|
| diagrams/G03-购买与开通.md | 普通/高级配置、真实积分、实际开通核验与人工准备泳道 |
|
||||||
|
| diagrams/G04-定制工单处理.md | 自动/人工报价与发布核验泳道;失败、恢复和同范围再试展开 |
|
||||||
|
| diagrams/G05-收费与权益.md | 三类权益与年付消费主图;实际 AI 消耗/内含抵扣/超额记账展开 |
|
||||||
|
| diagrams/*.svg、*.png、*.mmd | 九幅图的展示版及从 Markdown 派生的 Mermaid 源;以 Markdown 为唯一编辑源 |
|
||||||
|
| diagrams/G01-G05-会议图集.html | 内嵌九幅图,离线切换五个主题;带源文档与导出链接 |
|
||||||
|
| diagrams/render-diagrams.cjs、render-manifest.json | 可重绘渲染源及固定版本/实际尺寸清单;不是产品实现 |
|
||||||
|
| 10、07、08、README、00 | 生成状态、D084、图集导航、当前进度与下一轮入口 |
|
||||||
|
|
||||||
|
## 已确认
|
||||||
|
|
||||||
|
| 决定编号 | 结论 | 人类依据 | 影响 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| D084 | 直接生成 G01–G05 当前版本图表 | 用户本轮明确请求 | 完成第一批图;不新增业务规则、不把技术建议升级为决定 |
|
||||||
|
|
||||||
|
图表校对沿用 D080 之前的业务基线。APP 不等于 Deployment;工单单项目但可改多 APP;三类权益分开;自动验证后直接发布;所有实际项目 AI 调用含失败/人工辅助均计消耗;年付不按月退役退款。说明中保留命名解耦、仅邮箱、共享一次收费、独立服务、受保护预览、版本/数据恢复的边界。
|
||||||
|
|
||||||
|
## 建议、未决与下一轮
|
||||||
|
|
||||||
|
- 下一轮可以按 G01 → G05 和同事讲解核对,发现表达问题只改对应图和受影响正文,不重开全部产品确认。
|
||||||
|
- G06 生命周期、G07 范围、G08 数据流尚未生成,仍是 10 中的计划;按会议需要补充。
|
||||||
|
- 三天零引用释放是候选,公开赠送细则后置;公共 API、外部 RDS/存储接入的版本和供应商未选。
|
||||||
|
- 平台数据库/执行边界、Git/工作流、附件安全和恢复执行等仍留阶段 4/6;没有因为画图选择数据库拓扑或 Dify。
|
||||||
|
- 首期仍熟客普通账户、年付套餐与积分、固定运维、有限自动 AI 和人工复杂定制;无新增范围/工期承诺。
|
||||||
|
- 用户所称“mainmind”具体插件标识未确认。本轮走明确授权的 Markdown 路径,不安装插件;图集阅读不依赖插件账号。
|
||||||
|
|
||||||
|
会议核对后主文档回到 03 阶段 4,先讨论业务后台、订单/计费、工单/版本、资源管理、执行能力的数据责任与边界。恢复时先读当前 08/本交接,再读图集与涉及正文;不需要再次确认失败 AI 是否收费或按月退款。
|
||||||
|
|
||||||
|
## 校验与范围
|
||||||
|
|
||||||
|
开始前核对 H0002 的 13 个核心文件,摘要均匹配,未发现未登记改动。九幅 Mermaid 已成功渲染为 SVG/PNG,逐图查看文字、连线、分支和导出结果;调整了过宽布局并将复杂内容拆成展开图。泳道是纵向长图,会议按步骤分段讲解;密集展开图可以打开 SVG 放大。
|
||||||
|
|
||||||
|
离线展示页五个主题切换、文档/图形链接与页面脚本已校验。目录链接、唯一决定编号、Markdown 与 mmd 一致性、导出齐全性、核心摘要在最终保存后校验。无现网、资产库、客户源码或供应商修改,无公开发布。
|
||||||
|
|
||||||
|
`.render-cache` 仅含可重建的 Mermaid 下载缓存及浏览器检查截图,不是业务源,移交可省略。已有 SVG/PNG/离线页不依赖缓存;重新导出需要文档说明的运行依赖。
|
||||||
|
|
||||||
|
## 本次核心与图集文件摘要
|
||||||
|
|
||||||
|
下表由最终实际文件计算;不含历史交接、模板、本交接自身或可重建缓存。摘要仅帮助发现未登记修改,不代表新业务规则已确认。
|
||||||
|
|
||||||
|
最终校验:23 个 Markdown、84 个有效内部链接、84 条唯一决定、9 幅导出与源一致;展示页五个主题与 23 个文件链接验证通过。记录 49 个实际文件摘要。
|
||||||
|
|
||||||
|
| 相对路径 | SHA-256 |
|
||||||
|
| --- | --- |
|
||||||
|
| 00-分阶段讨论计划.md | f30ef167fcd8c918335dcd929dd27f1ebda019cd33f109ff0d209f9bdcff7fb0 |
|
||||||
|
| 01-立项与产品定位.md | 2d4bf61154321504b4cd224fdc951f657257ef028ed89a084f2de65815b2187c |
|
||||||
|
| 02-业务流程与产品需求.md | 15c88a42c657ca7ce133e37c14cfce712d1f6c7e636e8963bf22dc12cfed6fc1 |
|
||||||
|
| 03-系统架构与领域模型.md | 84c80b6621d5d0fd89aacf018747ca829e722bfccfa7d0995792aea99b1855fa |
|
||||||
|
| 04-模板与AI工作流.md | 7dfe3b187894a8f6900ae93ecd59e5f28e99759aaef220b4881971e963892441 |
|
||||||
|
| 05-商业模式与成本指标.md | 005b16288ae21f2dd0bf490b5e532af90ba1b6b0daa7829e328cd2187aedec36 |
|
||||||
|
| 06-实施路线与验收标准.md | a1aabfb5cb5b91a7a032136b4ab5988ba2397b911a2ea48fcc99adb2fa8487be |
|
||||||
|
| 07-待确认问题与决策记录.md | 15709eb215e2cce907c32f38ad0e75a2a4d24b1d3675096db1e12375e4da4d17 |
|
||||||
|
| 08-当前讨论状态.md | b9826604c992e1c06c700e90fb8bf234cf61ad6d9a322cb1d858c31fa2ca7cba |
|
||||||
|
| 09-协作与交接规范.md | 65e0284a90c336cb1b50b2f052d2f08c304e2d73b8ffd2b6b5b540592b9a54ce |
|
||||||
|
| 10-会议图表与可视化计划.md | 023766859576a61fba8fb01f7fdbbbbe6a7664061ae23a422db1eeda4786444f |
|
||||||
|
| AGENTS.md | 534a5b96ecc127a91d6b3ce3980f2fb45d0ad1ae7427902b0a6589ec8ed298d3 |
|
||||||
|
| diagrams/G01-产品业务全景.md | 5d66cab23e1eeb617c73f2ce058af47464fc3919f069477e44aeedfe8f364495 |
|
||||||
|
| diagrams/G01-产品业务全景.mmd | 933d7be8d447fe418d84c86a84ec53dc0c69be398607d3c247682f6c927b55ef |
|
||||||
|
| diagrams/G01-产品业务全景.png | f91b8cbc0ba9b31b7f04ce2158c7e60b03727f012a64e41910a163037dbd5b33 |
|
||||||
|
| diagrams/G01-产品业务全景.svg | b615d9be29907a364952ced7775b440d50e068b01da87c524839709f1492f814 |
|
||||||
|
| diagrams/G01-G05-会议图集.html | 653047f717a42a75a8a2ba2e0ecdcb92d246a2ddcc3ee8df9cfbc178612902b3 |
|
||||||
|
| diagrams/G02-工单与购买项.mmd | 4ca6981439b1295619f5aa72236807bc89a6d6d61009c94e7a21d263e9b78b03 |
|
||||||
|
| diagrams/G02-工单与购买项.png | 3d2f79b7249f37b5adec8b0d3eee1a6f8d0025084ce31d2912ac5778edf1393e |
|
||||||
|
| diagrams/G02-工单与购买项.svg | 2efcac0b19c1895993c63d3dbe8baaa066482c2f9356581b413e024e6894f994 |
|
||||||
|
| diagrams/G02-领域概念关系.md | 4ae5707b6368798ef74ffa7e1a117b588de2c3d154405f6cda90f38b0ecd661a |
|
||||||
|
| diagrams/G02-领域概念关系.mmd | 5461e78e132389e443fff46016cc9ca43e71260ab76b3b036652025b7785e8b1 |
|
||||||
|
| diagrams/G02-领域概念关系.png | b9f5ccd3075352c432abe52556749efade9f29ffdb4d1f67e373e4d2b442038a |
|
||||||
|
| diagrams/G02-领域概念关系.svg | 6a4f07fd36593c287eaffac49b242d70c892adb7f5d3d5a663104db2d2653333 |
|
||||||
|
| diagrams/G02-项目组成例子.mmd | 98988305a6161aff9244a36383060303e9f7e66b6af12453ff84e79d1f15921a |
|
||||||
|
| diagrams/G02-项目组成例子.png | 633a96539ab7d686187912642e8c80822b6e92dfa12fbb581a92b1788e6932f7 |
|
||||||
|
| diagrams/G02-项目组成例子.svg | 3bdd5719c87355ac4374b5a2006af764df4f8f23f06a2daadf2169922a77a5df |
|
||||||
|
| diagrams/G03-购买与开通.md | aab797bc996e4ccf5d4cf58a932791d7640d944c1b11cff25ba5a9b8bd43d0b1 |
|
||||||
|
| diagrams/G03-购买与开通.mmd | d3893d9c1e72c77cf8645227c946a549468b04db64b3798e04de69997a2660f1 |
|
||||||
|
| diagrams/G03-购买与开通.png | d9f8354fd96ec7fd4dcc99356edf5627a3749b8810f85ddd745aaf1e787cfc14 |
|
||||||
|
| diagrams/G03-购买与开通.svg | 2939cf6d566cddab2c3af0a7ba5c835f5226362ed71f8e95ba9ec277cf210af0 |
|
||||||
|
| diagrams/G04-定制工单处理.md | fd0b168cb77023c843de5b72c70a5436094f5966357df3ff5add5ff662c740ba |
|
||||||
|
| diagrams/G04-定制工单处理.mmd | 61e6ab14d9138b605d1be5003175cd06ff8bb9249a2d32f896097e163f4e4a20 |
|
||||||
|
| diagrams/G04-定制工单处理.png | 3c51a30018135bc10aefbf6f044447978e0d147f4fe4a34e8a8898d4c7e419fd |
|
||||||
|
| diagrams/G04-定制工单处理.svg | c4966440d5937b081376871d26ff5df3631b3b7a5377a9a43bcf570af382e530 |
|
||||||
|
| diagrams/G04-失败与恢复.mmd | 5d36efca67c73389ba69eca2b6445a121c5e5f576605bf52ca235d0d399ac970 |
|
||||||
|
| diagrams/G04-失败与恢复.png | 0db5614382d2592f4d48074fc24f1f59ee8789f48c1c8060426e6947efcba1f0 |
|
||||||
|
| diagrams/G04-失败与恢复.svg | a7610c4205d6c5d1b896c8ed1cd002dd2fb1307ca3afb2dc64b0bbd805e16423 |
|
||||||
|
| diagrams/G05-收费与权益.md | be2be66729a83228fde2f962ba21b932f47a402d79855cbc2738d5316fe91718 |
|
||||||
|
| diagrams/G05-收费与权益.mmd | 5b6622cd37fa4e09b7536df07064fa43e78b49ba21cec5e8dd7bc3b0fc911530 |
|
||||||
|
| diagrams/G05-收费与权益.png | 6681ba320f8a2bf41cc62dccc9b4d6197bc01792700c49bb921ffb3b14288db5 |
|
||||||
|
| diagrams/G05-收费与权益.svg | 16fdf085cc3bbabf92b669aedd79dd04363d7580778a1b3811e43f51db20d99d |
|
||||||
|
| diagrams/G05-AI消耗记账.mmd | d80b7f3984e247fbcd3091736edbae87d7fe5d16c5c43bb39dfa1f8fa0c8ca8b |
|
||||||
|
| diagrams/G05-AI消耗记账.png | eacc316ae5b76eeb1b7bbe7fe61625b3a2e694dbb9f1c4432092f46dcc1fcac2 |
|
||||||
|
| diagrams/G05-AI消耗记账.svg | 6e79d5be7da360e2c2470a837118f040012c0fbef7d98a04782965519603fc96 |
|
||||||
|
| diagrams/README.md | c311a34fa7d04ccf51b7742363bfa26f6da9d9ba66a2f9db0fa35a64a6471934 |
|
||||||
|
| diagrams/render-diagrams.cjs | fbb5ba44348fafe11e7ef6537ce3f1419f3ac01d4a78e7249b32213c0f404e4e |
|
||||||
|
| diagrams/render-manifest.json | 71ad67a17d426f2579789fa6184037203138020cf90e1d81d9b571bbb34a1409 |
|
||||||
|
| README.md | c4007f2f8a68ac28786cf196f064bfb09e0e335facc064edd7fe37f7f1563d64 |
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
# H0004 · 2026-10-13 · 产品基线会议
|
||||||
|
|
||||||
|
状态:部分完成。会上口径已写入相关正文。验收次数、工单版本细节、两种计费与原年付的衔接尚未补全。投影 SVG 未重绘。
|
||||||
|
|
||||||
|
## 来源与结果
|
||||||
|
|
||||||
|
| 项目 | 内容 |
|
||||||
|
| --- | --- |
|
||||||
|
| 日期/参与人/角色 | 2026-10-13;产品负责人会上说明。其他参与人未记录姓名 |
|
||||||
|
| 来源目录版本/业务基线 | 目录协作版本 0.17,业务基线 0.14 |
|
||||||
|
| 上一交接 | [H0003](H0003-2026-10-12-G01至G05会议图集.md) |
|
||||||
|
| 结果目录版本/业务基线 | 目录协作版本 0.18,业务基线 0.15 |
|
||||||
|
| 本轮阶段与主题 | 把会议口径写入工单、领域、计费和对应图的可编辑文字 |
|
||||||
|
| 授权范围 | 用户要求按本文档修改相关地方。只改规划文档,不实施、不操作现网 |
|
||||||
|
|
||||||
|
## 修改文件
|
||||||
|
|
||||||
|
| 相对路径 | 修改章节及原因 |
|
||||||
|
| --- | --- |
|
||||||
|
| 01-立项与产品定位.md | 自动转人工改为先 AI 验收,失败达到 x 次再转 |
|
||||||
|
| 02-业务流程与产品需求.md | 文首补充会议口径;自动模式与初级/高级组件选择改写 |
|
||||||
|
| 03-系统架构与领域模型.md | 文首补充:应用指功能、域名另购、工单版本用于恢复 |
|
||||||
|
| 05-商业模式与成本指标.md | 文首增加用户报价模式和用户自由模式 |
|
||||||
|
| 06-实施路线与验收标准.md | 首期表述改为验收次数用尽再转人工,并指向两种计费模式 |
|
||||||
|
| 07-待确认问题与决策记录.md | 追加 D085–D088 与 0.18 变更记录 |
|
||||||
|
| 08-当前讨论状态.md、00、README、10、diagrams/README.md | 导航改到 0.18 / 业务基线 0.15,并说明 SVG 未重绘 |
|
||||||
|
| diagrams/G01-产品业务全景.md | 应用、组件、工单版本的图内文字 |
|
||||||
|
| diagrams/G02-领域概念关系.md | 应用指功能;初级不选组件;域名另购 |
|
||||||
|
| diagrams/G04-定制工单处理.md | 转人工前增加 AI 验收,失败达到 x 次才转人工 |
|
||||||
|
| diagrams/G05-收费与权益.md | 文首增加两种计费模式;原年付图保留作对照 |
|
||||||
|
|
||||||
|
## 已确认
|
||||||
|
|
||||||
|
| 决定编号 | 结论 | 人类确认依据/角色 | 替代/影响 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| D085 | 不单独建设任务执行、版本与恢复、自动能力与人工接续。每一次工单创建一个版本,恢复使用该版本 | 产品负责人会上说明 | 版本构成和带数据恢复是否另选时间点仍未说明 |
|
||||||
|
| D086 | 应用指功能,例如邮箱应用。初级版本不选择组件。高级版本以后用界面选择。域名是需购买的资源 | 产品负责人会上说明 | 替代仅邮箱等于零应用、邮箱只作为独立服务的读法 |
|
||||||
|
| D087 | 自动路径先 AI 验收,失败达到 x 次再转原工单人工模式 | 产品负责人会上说明 | x 未定。细化此前有限修复后的去向 |
|
||||||
|
| D088 | 按客户分计费模式。暂时只记用户报价模式和用户自由模式 | 产品负责人会上说明现有计费太麻烦 | 原年付、积分、加价先留在 05 后文,衔接未写 |
|
||||||
|
|
||||||
|
## 建议、未决与业务变化
|
||||||
|
|
||||||
|
- 建议待评审:无新的技术建议。
|
||||||
|
- 待补事实:AI 验收次数 x。工单版本是完成后的结果,还是同时保留发起前版本。带数据恢复是否仍另选时间点。两种新模式与原年付套餐、包含用量和 20% 加价如何衔接。
|
||||||
|
- 待产品确认的变化:无。本节各项已按产品负责人要求写入正文。
|
||||||
|
- 未完成或阻塞:G01、G02、G04、G05 的 SVG、PNG 和离线会议图集仍是旧图。会前汇报稿未保留在目录中;其中“第一版只做 1 个已验证应用”没有写入本交接的确认栏,因此本轮没有改入正文。
|
||||||
|
- 后续版本事项:组件选择放在高级版本的界面里,不进初级版本。
|
||||||
|
|
||||||
|
## 下一轮恢复位置
|
||||||
|
|
||||||
|
- 当前状态与是否进入下一阶段:业务口径已回写,架构仍未进入定案。
|
||||||
|
- 主文档/章节:02、03、05 文首的 2026-10-13 补充,以及 07 的 D085–D088。
|
||||||
|
- 第一个讨论题:用户报价模式、用户自由模式与原年付及积分规则如何衔接。
|
||||||
|
- 先读哪些文件/决定:本交接、08、D085–D088。
|
||||||
|
- 无需再次讨论的前提:应用指功能;初级版本不选择组件;域名另购;每次工单一个版本并用于恢复;AI 验收失败达到 x 次才转人工;暂时只有上述两种计费模式。
|
||||||
|
|
||||||
|
## 校验与实际差异
|
||||||
|
|
||||||
|
- 链接/标识/状态与正文一致性:D085–D088 与 02/03/05 文首一致。08 的最新交接指向本文件。
|
||||||
|
- 未登记修改/并行冲突/合并依据:无并行副本。第一版只做 1 个应用未进入本交接确认栏,故未写入 01。
|
||||||
|
- 编号映射(如有):无撞号。下一决定 D089,下一交接 H0005。
|
||||||
|
- 本轮只修改规划还是实际执行;没有执行时明确说明:只修改规划文档。没有实施,没有操作现网,没有重绘 SVG。
|
||||||
|
|
||||||
|
## 本次核心文件摘要
|
||||||
|
|
||||||
|
下表为写入完成后的实际 SHA-256。不含本交接自身与模板。04、AGENTS、09 本次未改,摘要仍与 H0003 相同。
|
||||||
|
|
||||||
|
| 相对路径 | SHA-256 |
|
||||||
|
| --- | --- |
|
||||||
|
| 00-分阶段讨论计划.md | bbaf166447e53bc7c9e27d1f375828c09ed0836aacf749d1c52f941df283b719 |
|
||||||
|
| 01-立项与产品定位.md | 86bf9ea740c8aad51a6555d989cba479dc81abc2bf281bfde3b4c4746d086b89 |
|
||||||
|
| 02-业务流程与产品需求.md | 8512af57b98f288b12270a01cd88a730deccc8f1d81e9922d2fe72c5ba91441e |
|
||||||
|
| 03-系统架构与领域模型.md | 1995f5152f964df3404672879e29f8e835a3a82e2f7c50d18131b6e520da8075 |
|
||||||
|
| 04-模板与AI工作流.md | 7dfe3b187894a8f6900ae93ecd59e5f28e99759aaef220b4881971e963892441 |
|
||||||
|
| 05-商业模式与成本指标.md | 8db7d0908664e11e302c12ea467f88144b51f7a80b7d8e31de3793f3629a72c1 |
|
||||||
|
| 06-实施路线与验收标准.md | 6f2a471ff3a6af581f26e3968f67265f59a64d9f2487e6e199e78b3d641c6916 |
|
||||||
|
| 07-待确认问题与决策记录.md | 9da2d92e4110af6207a766f72fcd90dab626ccee585f9addb7e6e9e2de4aab07 |
|
||||||
|
| 08-当前讨论状态.md | e4dccfefa732ed9e4ae6dfae9d7854fe31aeb445d690d5db32075b44bab66d43 |
|
||||||
|
| 09-协作与交接规范.md | 65e0284a90c336cb1b50b2f052d2f08c304e2d73b8ffd2b6b5b540592b9a54ce |
|
||||||
|
| 10-会议图表与可视化计划.md | 555c4b38de3603c0365fccb9996c569a07b4cdb42b5dc0db1d247387254cbd56 |
|
||||||
|
| README.md | 62f6c5fbe6165b17d68c95036acd619bf1ce7539057749df742962bc559a65be |
|
||||||
|
| AGENTS.md | 534a5b96ecc127a91d6b3ce3980f2fb45d0ad1ae7427902b0a6589ec8ed298d3 |
|
||||||
|
| diagrams/README.md | fa3bd2377b548bceae4db5cedc019969c5a248689a14d875e0b3b34211967ca0 |
|
||||||
|
| diagrams/G01-产品业务全景.md | 4af47059b933a766542bc4a4dc43a0a541b6ddca700d6734baba933ae9defc48 |
|
||||||
|
| diagrams/G02-领域概念关系.md | 7c1243773eaeadca33e90e58243139df87d2635910851a9e28e919fd11c2c13b |
|
||||||
|
| diagrams/G04-定制工单处理.md | d4875b28f4a14f04e52623e827fa2eec26df3cbd4e6d0fd239da1f6d88ad44ce |
|
||||||
|
| diagrams/G05-收费与权益.md | 44017fd12b6a4221ec21eb3f7260435d3b7e38f8176aec5650ab941453c8a91f |
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
# H编号 日期 本轮主题
|
||||||
|
|
||||||
|
状态:已完成 / 部分完成 / 未完成 / 接收合并。此文件是模板,复制后填写,不覆盖模板或已有交接。
|
||||||
|
|
||||||
|
## 来源与结果
|
||||||
|
|
||||||
|
| 项目 | 内容 |
|
||||||
|
| --- | --- |
|
||||||
|
| 日期/参与人/角色 | 只填写已知信息 |
|
||||||
|
| 来源目录版本/业务基线 | 填版本 |
|
||||||
|
| 上一交接 | 相对链接 |
|
||||||
|
| 结果目录版本/业务基线 | 填版本,业务无变化则保留 |
|
||||||
|
| 本轮阶段与主题 | 填实际工作 |
|
||||||
|
| 授权范围 | 文档讨论或实际获得的其他授权 |
|
||||||
|
|
||||||
|
## 修改文件
|
||||||
|
|
||||||
|
| 相对路径 | 修改章节及原因 |
|
||||||
|
| --- | --- |
|
||||||
|
| 文件名 | 说明改了什么 |
|
||||||
|
|
||||||
|
## 已确认
|
||||||
|
|
||||||
|
| 决定编号 | 结论 | 人类确认依据/角色 | 替代/影响 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| 无则写无 | 不将 AI 推荐写成确认 | 简短确认摘要 | 原决定与影响 |
|
||||||
|
|
||||||
|
## 建议、未决与业务变化
|
||||||
|
|
||||||
|
- 建议待评审:
|
||||||
|
- 待补事实:
|
||||||
|
- 待产品确认的变化:
|
||||||
|
- 未完成或阻塞:
|
||||||
|
- 后续版本事项:
|
||||||
|
|
||||||
|
## 下一轮恢复位置
|
||||||
|
|
||||||
|
- 当前状态与是否进入下一阶段:
|
||||||
|
- 主文档/章节:
|
||||||
|
- 第一个讨论题:
|
||||||
|
- 先读哪些文件/决定:
|
||||||
|
- 无需再次讨论的前提:
|
||||||
|
|
||||||
|
## 校验与实际差异
|
||||||
|
|
||||||
|
- 链接/标识/状态与正文一致性:
|
||||||
|
- 未登记修改/并行冲突/合并依据:
|
||||||
|
- 编号映射(如有):
|
||||||
|
- 本轮只修改规划还是实际执行;没有执行时明确说明:
|
||||||
|
|
||||||
|
## 本次核心文件摘要
|
||||||
|
|
||||||
|
保存正文及 AGENTS/README/08/09 的实际 SHA-256;不含本交接自身与模板。用于发现漏传或未登记修改,不等于内容已获确认。
|
||||||
|
|
||||||
|
| 相对路径 | SHA-256 |
|
||||||
|
| --- | --- |
|
||||||
|
| 文件名 | 实际计算结果,不能编造 |
|
||||||