--- title: HanteleWorkTime 任务清单 type: curated permalink: main/projects/6553b53c-bf14-49e3-a3de-1ee2f3533d51/curated/hantele-work-time-任务清单 stable_id: f0a79469-3f52-4a97-8b35-ca5d1458eb92 scope: project project_id: 6553b53c-bf14-49e3-a3de-1ee2f3533d51 workspace_type: development usage_profile_id: null preference_context: development document_type: tasks revision: 1 source_memory_ids: - a541caed-4198-4a81-a162-961471ab56ec source_checkpoint_ids: - 45524177-90a6-49b2-afa7-02317c81e254 - e17788f7-3baf-4bb2-ba69-fb587705c3f3 source_file_ids: [] source_git_commit: null source_git_commits: [] source_agent_sync_ids: - hantele-tls-curation-20260831-001 model_connection: Sub2API model_name: git-restore source_count: 26 source_revisions: memory:5761b7bf-7dfe-46ee-91b4-b6b0c41b0888: '1' memory:ebfb0410-00e9-473f-aba0-524e48184051: '2' memory:12faa41a-7590-4ff8-b3c3-990b38257a50: '1' source_dispositions: processed: 26 unchanged: 0 unsupported: 0 skipped: 0 cited_source_ids: - curated_baseline:f0a79469-3f52-4a97-8b35-ca5d1458eb92 - memory:ebfb0410-00e9-473f-aba0-524e48184051 - memory:12faa41a-7590-4ff8-b3c3-990b38257a50 - global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5 - global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316 - memory:5761b7bf-7dfe-46ee-91b4-b6b0c41b0888 - global_guidance_document:8a861a5f-35c3-4f95-bd5b-6b2297888f56 - project:6553b53c-bf14-49e3-a3de-1ee2f3533d51 - global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7 - global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6 - global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d - global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e - global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823 - global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e - global_guidance_document:2b47472d-3ac2-4394-8646-c6bf1c0fc270 - global_guidance_document:6973450e-6ecc-48e3-8cdd-4d7d7707d843 - global_guidance_document:e4fc35f2-1606-4b79-9c1e-367edeea97d0 job_cited_source_ids: - curated_baseline:f0a79469-3f52-4a97-8b35-ca5d1458eb92 conflicts: [] supersedes: [] preferences: [] source_cursor: 217 source_hash: ac2647ce0e6a0a122bdf5cb4b4f94b4f21aab36b9ebefc65f31ed5454146b7e1 prompt_version: 2026-08-12.3 schema_version: '3' curation_job_id: null created_at: '2026-08-31T03:10:01.633148+00:00' updated_at: '2026-09-23T14:56:39.038348+00:00' tags: - development - tasks restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2 --- ## 任务列表(中文) 1. **实现登录协议相关功能**(依据 `memory:ebfb0410-00e9-473f-aba0-524e48184051`) - 完成 Session 复用、Token 缓存/刷新。 - 实现验证码获取、OCR 识别及失败重试机制。 - 将密码统一为 Base64 编码发送,并在代码层统一封装。 - 实现后在 `aidocs/project_context.md` 记录实现细节、验证方式、遇到的问题与后续计划。 2. **配置 Docker Desktop 代理** - 在 Docker Desktop → Settings → Resources → Proxies 中手动设置 HTTP/HTTPS 为 `http://127.0.0.1:7897`。 - 重启 Docker 并执行 `docker pull hello-world` 验证成功。 3. **确保 Windows + WSL2 + Docker 环境兼容** - 使用 Windows 兼容的路径分隔符与换行符(LF)。 - 容器内部访问宿主服务使用 `host.docker.internal`,如需桥接网关使用 `172.17.0.1`。 4. **遵循 KISS 与 YAGNI 实现** - 检查代码库,移除所有仅为假设未来需求添加的抽象层或依赖。 - 复用现有框架与工具,避免重复实现。 5. **凭证与 Vaultwarden 工作流验证** - 在每次登录/SSH/API 调用前执行 Vaultwarden 查询脚本,确保唯一匹配时自动使用。 - 若出现多条匹配,记录在 `aidocs/project_context.md` 并手动选择。 - 新增或修改的凭证立即写入密码库,仅在记忆中记录名称与用途。 6. **记忆文件维护** - 完成功能后立即在 `aidocs/project_context.md` 追加条目(秒级时间戳、做了什么、为何、验证、问题、后续计划)。 - 确认 `aidocs/` 在 `.gitignore` 中,防止误提交。 - 使用 `type: 中文一句话描述` 格式提交代码,仅在明确需求时执行 `git push`。 --- **标签**: ["development", "tasks"]