4.6 KiB
4.6 KiB
项目目录说明
日期:2026-05-27
目的
这份文档用于回答两个问题:
- 当前仓库各一级目录分别负责什么
- 新增文件应该放到哪里,避免继续把运行时脚本、部署资产、验收证据混在一起
它不替代 README.md,而是补充更细的目录职责说明。
一级目录
cmd/
程序入口:
cmd/server- 控制面 HTTP 服务入口
cmd/cli- 导入、overlay、验证等命令行入口
internal/
控制面核心实现,按职责拆分:
internal/access- access closure、自愈、gateway 验证
internal/app- HTTP API、bootstrap、后台任务
internal/batch- batch import 请求与状态投影
internal/config- 配置装载
internal/host/sub2api- 宿主适配器
internal/overlay- host overlay 执行器
internal/pack- pack 装载、校验、overlay 解析
internal/probe- upstream / host smoke probes
internal/provision- import / preview / rollback / reconcile 编排
internal/reconcile- 后台对账
internal/store- SQLite repo 与 migrations
internal/testutil- 测试辅助
internal/worker- 后台 runner
packs/
版本化模型包资产:
packs/openai-cn-pack- provider manifests
- checksums
- overlay metadata
这层只放 pack 资产,不放远端站点静态页。
deploy/
面向部署目标的静态资产或配置模板。
当前已经纳入:
deploy/tksea-portal/index.htmlsub.tksea.top/portal/静态页
deploy/tksea-portal/admin/index.htmlsub.tksea.top/portal/admin/管理首页
deploy/tksea-portal/admin/providers.htmlsub.tksea.top/portal/admin/providers.htmlprovider 目录、导入页与服务端草稿入口
deploy/tksea-portal/admin/batch-import.htmlsub.tksea.top/portal/admin/batch-import.html结构化 batch-import 入口
deploy/tksea-portal/admin-batch-import.htmlsub.tksea.top/portal/admin-batch-import.html最小管理页
deploy/tksea-portal/nginx.sub.tksea.top.conf.example- 对应 Nginx 路由示例
- 同时包含
/portal-proxy/和/portal-admin-api/两组反代
这层的规则是:
- 放“部署产物模板”
- 不放需要编译的 Go 代码
- 不放临时
/tmp产物
scripts/
运维、验收、部署脚本,当前已经按用途拆成三层目录:
scripts/deploy/- 部署与环境拉起脚本
- 例如
build_local_image.sh、setup_remote43_patched_stack.sh、deploy_tksea_portal.sh
scripts/acceptance/- 真实宿主验收与证据处理脚本
- 例如
real_host_acceptance.sh、import_remote43_provider.sh、check_deepseek_completion_split.sh
scripts/test/- 脚本资产回归
- 例如
test_real_host_scripts.sh、test_tksea_portal_assets.sh
规则:
- 只放可执行运维脚本
- 新脚本必须先判断属于
deploy/、acceptance/还是test/ - 脚本依赖的静态模板应尽量放到
deploy/或docs/
docs/
所有长期保留文档:
- 真相入口
- 执行板
- 验收 runbook
- provider 矩阵
- 外部 OpenClaw 验证
- 目录与部署说明
tests/
集成测试套件:
tests/integration
artifacts/
真实验收产物与归档证据。
规则:
artifacts/real-host-acceptance/- 当前最终证据
artifacts/real-host-acceptance-archive/- 历史调试样本与归档
不要把部署模板、静态页、脚本说明放到这里。
web/
保留给未来管理端前端实现。
当前公网 portal 已经独立作为 deploy/tksea-portal/ 静态资产纳管,不应误放进 web/,因为它不是控制面管理后台。
当前推荐放置规则
新增文件时,优先按下面规则归类:
- 新的 provider / pack 元数据
- 放
packs/
- 放
- 新的 Go 业务逻辑
- 放
internal/
- 放
- 新的 CLI 或 server 入口
- 放
cmd/
- 放
- 新的线上静态部署页 / 反向代理模板
- 放
deploy/
- 放
- 新的运维或验收命令脚本
- 放
scripts/deploy、scripts/acceptance或scripts/test
- 放
- 新的长期说明文档
- 放
docs/
- 放
- 新的验收证据
- 放
artifacts/
- 放
当前整理结果
截至 2026-05-27,最近一轮目录整理主要做了三件事:
- 把原来只存在
/tmp的sub.tksea.topportal 静态页与 Nginx 规则正式纳入仓库 - 把 portal 部署动作收口到
scripts/deploy/deploy_tksea_portal.sh - 把
scripts/从全平铺整理为deploy/、acceptance/、test/三层,减少脚本入口混杂 - 把“公网 portal / OpenClaw / remote43 验收”相关说明分别挂回
deploy/、scripts/、docs/