6.6 源码架构与包边界
客户端表达用户操作,后端维护业务状态,Harness 适配执行模型与工具,共享契约连接这些层。
text
React 工作界面
│ 共享契约
Harness / RPC 适配 ── DSH 模型、会话和工具
│
业务服务 ── PostgreSQL
│
资源、任务、同事、群与自动化代码放在哪
| 包 | 职责 |
|---|---|
packages/contract | 共享类型、数据格式与校验 |
packages/backend | 持久化、业务规则、事务与幂等 |
packages/harness-dsh | DSH 接入、RPC、执行与授权检查 |
packages/client/ui-workbench | React 产品界面及交互状态 |
packages/client/ui-kit | 共用界面能力 |
packages/bundle | 插件组合与预设 |
packages/mcp-reference | 最小只读资料服务 |
修改一个跨包字段
先修改契约和默认值,再检查后端存储、适配层解析、客户端读取和测试夹具。精确键集解析器可能拒绝新字段;只改类型并不能证明运行期兼容。
对新增任务状态、计划来源或资料引用,应有至少一条真实数据库与宿主的集成用例,覆盖从创建到展示的整条路径。
依赖方向
不要让纯契约依赖数据库或 UI。业务服务不直接操纵浏览器组件;客户端也不绕过适配层直接改库。新的 Harness 可以沿清晰边界设计,但当前公开教程只针对已实现的 DSH 适配。