89 lines
3.7 KiB
Markdown
89 lines
3.7 KiB
Markdown
---
|
||
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"] |