FlowHearth|客户与项目运营平台教学提示词 项目页:https://xichugeek.com/projects/flowhearth/#prompts 源码:https://github.com/xichugeek/FlowHearth/tree/v1.0.2 以下是依据 FlowHearth v1.0.2 源码与文档整理的教学示例,不是原始历史会话。逐组复制到 Codex,按自己的项目需求修改。 先把 Codex 工作目录设为自己的学习项目目录。推荐克隆 v1.0.2,从检查和运行已有源码开始;从空目录起步时,每组只完成一个小范围,再实际验证。 推荐顺序:P01 → P02 → P03 → P04 → P05 → P06 → P07。需要自行上线时,再执行 P08;公开 Demo 只供浏览,写入练习使用自己的隔离环境。 只使用虚构客户与金额。自行保管数据库凭据和密钥;经营财务用于业务运营跟踪,不代替会计、税务或法定财务系统。 P01|先确定项目边界与开发路线 把大需求拆成可以逐步验证的任务,先读源码,不让 AI 一次重写整套系统。 我想学习用 Codex 开发客户与项目运营平台,参考 FlowHearth v1.0.2。 先检查当前工作目录:如果已经有源码,读取 README、架构、数据库和开发文档,列出当前实现与待验证内容;如果是空目录,先给出最小实现方案,暂不创建大批代码。 范围包括客户、联系人、跟进、商机、项目、设备、服务和经营财务。采用 .NET 10 / ASP.NET Core、Vue 3 / TypeScript、MySQL 的模块化单体。不要添加微服务、消息队列、Redis 或 Kubernetes。 先说明客户→商机→项目,以及项目→采购→到货→应付→付款之间的关系。经营财务不等于会计 ERP,本轮不做总账、税务、工资或实时工业控制。 把后续工作拆成每次能运行和检查的小步骤。每步列出目标、输入、修改范围、运行命令和验收条件。输出一份当前能力清单与分步计划;存在不确定事实时,指出需要查看的文件或实际测试。 P02|在隔离环境运行现有源码 核对工具版本、私有配置、迁移和本地登录,让后续练习有真实可运行的起点。 请在当前学习目录运行 FlowHearth v1.0.2,先读取 README、docs/development.md、DEMO_SEED_GUIDE.md 和 DEPLOYMENT_V1.0.2.md,按实际文档操作。 核对 .NET SDK 10、Node.js 22、npm 和 MySQL 是否可用,记录真实版本。数据库只能使用绑定回环地址、非 3306 端口的全新隔离实例,库名使用 flowhearth_demo_ 前缀;先核对数据库身份,不能连接生产库或覆盖已有数据。 迁移账户与应用运行账户分开配置。连接字符串和本地管理员密码通过 user-secrets 或受控环境提供,不写入 Git、公开日志或截图。按文档执行迁移、校验和本地管理员引导;需要虚构示例时再使用显式 Demo Seed,并验证重复初始化不会修改已有记录。 分别启动 API 和 Vue 前端,真实访问登录页、工作台、客户和项目页面。验收时报告工具版本、监听地址、迁移结果、页面状态和错误;不要仅因服务启动就宣称功能完成。不能自动清库、删除卷或修改全局开发环境。 P03|验证客户、商机与项目关联 沿同一组虚构业务记录核对来源、金额、成交条件和重复转换。 请检查 FlowHearth 的客户→商机→项目流程。已有完整源码时先定位当前页面、API、业务服务和对应测试,不重新生成已有模块;空目录学习时只实现这个最小闭环。 客户需要联系人和跟进记录,商机记录需求、金额和阶段,项目保留客户与来源商机。成交转项目必须检查赢单状态和乐观版本,使用事务;同一商机已经转换过时返回已有项目,避免重复创建。 只在自己的隔离数据库中使用虚构客户测试。核对客户、商机与项目的 ID、关联、金额和状态;分别检查正常转换、条件不满足、版本过期和重复转换。公开只读 Demo 只能浏览,不用于写入测试。 验收要包含真实页面操作与数据库/API 结果,说明每个失败场景是否返回明确错误、是否没有留下半条数据。发现缺陷时先列出具体复现步骤,再做最小修复和针对性回归;不要修改不相关模块。 P04|验证采购与分批到货 区分采购承诺、实际到货和付款,用数量与状态规则检查完整链路。 请检查项目采购与分批到货流程,先读取 docs/finance-module.md 和当前采购、收货代码。使用虚构供应商和项目,在自己的隔离数据库练习。 采购单明细包含数量和单价,金额由服务端计算,草稿通过明确操作变为已下单。到货记录是实物事实,不代表已付款;应付、付款与到货不能混为同一件事。 用一张采购 4 套的单据,先到 3 套、剩余 1 套,再补齐最后 1 套,核对累计到货、剩余数量和派生状态。检查超量到货、重复或外来明细、过期版本是否被拒绝。 收货应在事务内锁定相关单据和明细,保留实际收货记录与审计;已收货明细的身份、单位和价格不能随意改变,订购数量不能减到已收数量以下。不添加当前版本没有的退货或库存扣减功能。 验收报告真实执行的输入、响应、累计数量、状态和审计结果。失败请求不能留下部分写入;补充必要的业务测试,保留已有历史记录。 P05|检查收付款、核销与汇总 验证金额来自真实明细,核销不能超出余额,取消记录保留审计。 请检查 FlowHearth 的应收、收款、核销,以及应付、付款、核销流程,按 docs/finance-module.md 的现有规则验证。只操作自己的隔离虚构数据。 金额使用 MySQL DECIMAL 与 .NET decimal,不使用 float/double。客户、项目和供应商汇总应由有效明细聚合,不能存放可随意编辑的收款或应付总数。 检查一笔收款分配到多张应收单,以及一张应收单被多笔收款分配;供应商侧也检查对应付款与应付。核销金额必须为正,不能超过来源未分配余额或目标未结余额,往来单位和项目关系必须匹配。余额检查、核销写入与审计必须同一事务提交或回滚。 验证正常分配、超额、往来单位不一致、并发冲突和取消核销。取消后保留历史与审计,但不继续影响有效汇总;不通过直接删除记录修正余额。 验收输出真实输入、明细余额、汇总计算和失败后的数据库状态。把经营财务说明为业务跟踪,不宣称完成专业会计、税务或银行对账。 P06|验证登录、权限与安全边界 从真实请求检查 Cookie、CSRF、RBAC 和审计,不能只看按钮是否隐藏。 请检查当前 FlowHearth 登录与模块权限,先定位 Cookie 认证、CSRF、RBAC、登录锁定、securityVersion 和审计实现。不要把模块权限描述为当前没有的多租户或所有者隔离。 在自己的隔离环境准备最小权限测试账号,凭据保持私有。实际检查未登录访问、登录成功/失败、缺少 CSRF 的写请求、只有查看权限的账号尝试写入,以及权限或密码变化后的旧会话。 验证服务端是否拒绝越权;不能只用前端隐藏按钮作为权限证明。检查 HTTPS 部署下 Cookie 的 Secure、HttpOnly 属性和适当的 SameSite 策略,记录安全响应头和有效审计,不输出 Cookie 内容或真实连接字符串。 公开 Demo 必须只读,禁止新增、修改、删除、上传和账号管理。对公开环境仅执行已授权的只读检查,写入测试在隔离环境完成。 逐项报告实际请求方法、状态码与预期结果。发现缺口时只修复具体边界,回归已有登录、权限与业务测试,不关闭安全功能来绕过失败。 P07|完成真实测试与界面回归 区分普通测试通过和真实 MySQL 场景执行,并检查桌面与手机的实际行为。 请按当前 README 执行 FlowHearth 构建与测试,保留真实输出。先核对源码标签、提交与工作树状态,不为凑通过数量删除测试或吞掉错误。 后端依次执行 restore、format 检查、Release build 和 test;前端在 web/flowhearth-web 执行 npm ci、lint、typecheck、test:run 和 build。 真实 MySQL 集成测试必须使用专用隔离测试库,通过 FLOWHEARTH_TEST_MYSQL 配置,按文档准备迁移与测试管理员。未配置数据库时提前返回的用例,不能称为数据库验证通过;检查 TRX、实际数据库活动与业务断言,不把旧版本测试数量当成本次结果。 浏览器检查 1440px 桌面与 390px 手机:客户、项目、采购与经营财务页面、导航、搜索、详情和错误反馈。使用虚构数据,核对页面展示与真实接口统计,没有横向溢出或被遮挡的主要操作。 输出本次工具版本、测试数量、失败/跳过数、数据库场景是否执行、浏览器结果、实际截图及未解决问题。每个结论都要有对应运行证据,不能以构建成功代替功能验收。 P08|制定自己的发布、备份与恢复步骤 把本地验收结果变成可检查的发布计划,保留版本、数据和回滚边界。 我要把已在本地验收的 FlowHearth 部署到自己的服务器。先读取 DEPLOYMENT_V1.0.2.md、docs/deployment.md 和当前部署模板,检查目标环境并输出具体计划;当前提示词只授权准备和检查,实际服务器写入待我确认目标与发布计划。 仓库路线使用 Nginx、systemd 与仅监听回环地址的 Kestrel;如果我选择 Docker,需要明确独立 Compose、私有数据库网络、持久化数据/密钥/附件、资源与日志上限,不能把网站的 Docker 示例冒充仓库现成方案。不要自动更换技术栈或部署方式。 固定干净源码提交,在构建机生成不可变发布包与 manifest,核对版本和 SHA256。发布前备份并验证数据库、配置、uploads 和 Data Protection 密钥;准备隔离恢复测试及明确回滚命令。数据库运行与迁移账户分开,秘密保存在私有文件,MySQL 不开放公网。 按实际数据库状态执行迁移检查和校验,不改写已发布迁移。发布后验证健康检查、HTTPS、登录、权限、主要业务只读页面和有上限的运行日志。应用版本回滚不等于数据库恢复,不能自动覆盖数据库或删除卷。 输出依次可执行的准备、部署、验收与恢复步骤,标明哪些已实际验证、哪些仍待执行;未完成真实恢复测试时不要宣称灾备完成。