--- title: HanteleWorkTime 系统架构概览 type: curated permalink: main/projects/6553b53c-bf14-49e3-a3de-1ee2f3533d51/curated/development/hantele-work-time-系统架构概览 stable_id: fb9a56e2-56ce-4d5a-9334-79c18192d663 scope: project project_id: 6553b53c-bf14-49e3-a3de-1ee2f3533d51 workspace_type: development usage_profile_id: null preference_context: development document_type: architecture revision: 1 source_memory_ids: [] source_checkpoint_ids: [] source_file_ids: [] source_git_commit: null source_git_commits: [] source_agent_sync_ids: [] model_connection: Sub2API model_name: git-restore source_count: 13 source_revisions: {} source_dispositions: processed: 13 unchanged: 0 unsupported: 0 skipped: 0 cited_source_ids: - global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e - global_guidance_document:e4fc35f2-1606-4b79-9c1e-367edeea97d0 - global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5 - global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d - global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316 - global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823 - global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6 job_cited_source_ids: - global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e - global_guidance_document:e4fc35f2-1606-4b79-9c1e-367edeea97d0 - global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5 - global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d - global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316 - global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823 - global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6 conflicts: [] supersedes: [] preferences: [] source_cursor: 207 source_hash: 5a2bf7e4aa8a90513e133f70e1737cdaf99fddd9888166c7645ba4700934109c prompt_version: 2026-08-12.3 schema_version: '3' curation_job_id: null created_at: '2026-08-31T03:10:05.582276+00:00' updated_at: '2026-09-23T14:56:43.902520+00:00' tags: - development - architecture restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2 --- ## 总体架构 1. **硬件/宿主平台** - 主机操作系统:Windows 10/11。 - 虚拟化层:WSL2(Linux 子系统)+ Docker Desktop。 - 网络:容器通过 `host.docker.internal` 访问宿主服务;必要时使用网关 `172.17.0.1`。 2. **容器化服务** - 业务服务(如 FastAPI、数据库等)运行在 Docker 容器内,端口统一映射到 `0.0.0.0` 以供宿主和外部访问。 - 代理层:Docker Desktop 代理手动配置为 `http://127.0.0.1:7897`(支持 HTTP 与 HTTPS),确保所有容器的外网请求走本地代理。 3. **记忆与版本管理** - **MemRelay**:统一的记忆持久化后端,负责 `aidocs/project_context.md` 中的笔记存取。 - **Git**:本地 Git 仓库仅用于提交代码;`aidocs/` 目录已加入 `.gitignore`,记忆文件不随代码推送。 - 提交信息格式:`type: 中文一句话描述`(`type` 为 `feat/fix/refactor/style/docs/chore/revert`)。 4. **安全与凭证** - 所有登录、SSH、数据库、API 调用前先查询 **Vaultwarden**;唯一匹配时自动使用。 - 新增或修改的密码、Token、API‑Key、TOTP 种子立即写入密码库,记忆中仅记录名称、用途、使用方式。 5. **开发原则** - **KISS 与 YAGNI**:实现最简且正确,复用已有框架与工具,避免投机性依赖。 - **AI 与 Git 自动化**:默认关闭,除非显式启用。 6. **常见技术约束** - **FastAPI**:避免在 `async` 接口中使用阻塞 I/O。 - **PowerShell**:发送 JSON 时使用临时文件并 `--data-binary @file`。 - **Docker Exec**:长连接需取消默认 3 秒超时。 **标签**: ["development", "architecture"]