# UHD Media Tool 内部使用、Agent 自动化优先的媒体整理入库平台。需求基线见 [media_automation_requirements_architecture_v0.7.md](media_automation_requirements_architecture_v0.7.md),v0.1 工程任务书见 [docs/plan/00-first-version-plan.md](docs/plan/00-first-version-plan.md)。 ## 快速启动 ```sh cp .env.example .env pnpm db:up # postgres:16-alpine,端口 55433 pnpm install pnpm db:migrate pnpm dev # API http://localhost:4380 控制台 http://localhost:5180 ``` 提交前:`pnpm run ci`(typecheck + lint + test + check:tokens + build)。注意不要用 `pnpm ci`,它在 pnpm 11 是内置的 clean-install。 更多见 [docs/runbook/dev.md](docs/runbook/dev.md)。 ## 仓库结构 | 路径 | 职责 | |---|---| | `apps/web` | React Router 7 SPA 控制台,沿用 uhd_web 设计系统 | | `apps/server` | Hono API(`/api/v1`)+ SSE + worker 入口 | | `packages/contracts` | zod schema:API/事件/能力的唯一定义 | | `packages/db` | Kysely 客户端、表类型与迁移 | | `packages/domain` | 纯业务逻辑,无 IO | | `packages/adapters` | qB / RSS / 站点 / TMDB / Emby / 文件系统适配 | | `packages/tasks` | 持久任务与 outbox | | `packages/agent` | Pi 接入与能力注册桥接 | | `packages/testkit` | mock 服务与测试夹具 | | `docs/adr` | 架构决策记录 | | `docs/design` | 设计系统规范 | | `docs/runbook` | 运行手册 | | `spikes/` | 独立兼容性验证(不属于 workspace) | 技术选型:Node.js 24 + pnpm workspace + TypeScript 5.9 strict(偏离 REQ 的 Deno 方向,原因见 [ADR-001](docs/adr/ADR-001-runtime-node-not-deno.md))。