--- title: HanteleWorkTime 常见问题排查指南 type: curated permalink: main/projects/6553b53c-bf14-49e3-a3de-1ee2f3533d51/curated/development/hantele-work-time-常见问题排查指南 stable_id: 6086d60a-bd33-4823-9117-10e1fdae2767 scope: project project_id: 6553b53c-bf14-49e3-a3de-1ee2f3533d51 workspace_type: development usage_profile_id: null preference_context: development document_type: troubleshooting 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:8a861a5f-35c3-4f95-bd5b-6b2297888f56 - 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 job_cited_source_ids: - global_guidance_document:8a861a5f-35c3-4f95-bd5b-6b2297888f56 - 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 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:09.738999+00:00' updated_at: '2026-09-23T14:56:42.119559+00:00' tags: - development - troubleshooting restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2 --- ## 常见问题及解决方案 | 场景 | 症状 | 可能原因 | 解决办法 | |------|------|----------|----------| | **FastAPI 异步阻塞** | 请求卡死,日志无响应 | 在 `async def` 中调用阻塞 I/O(如 `pymysql`、`requests`) | 将函数改为普通 `def`,让 FastAPI 自动切换至线程池。 | | **PowerShell 发送 JSON** | 服务器收到的 JSON 丢失引号 | 直接在命令行中使用 `--data` 导致引号被解析 | 先将 JSON 写入临时文件,然后使用 `--data-binary @file` 发送。 | | **Docker Exec 超时** | 长时间交互式命令在 3 秒后断开 | `docker-py` 默认全局超时被继承到 hijacked socket | 在获取裸 socket 后调用 `socket.settimeout(None)`,保持无限阻塞。 | | **Docker Hub 连接失败** | `docker pull` 报错或长时间卡住 | Docker Desktop 代理未配置为 *Manual* 或代理地址错误 | 打开 Docker Desktop → Settings → Resources → Proxies,手动填写 `http://127.0.0.1:7897`,保存并重启 Docker。 | | **Vaultwarden 凭证未自动使用** | 登录或 API 调用仍要求手动输入凭证 | 搜索到多条或无匹配记录 | 确认 Vaultwarden 中仅保留唯一条目;若有多条,手动选择或删除冗余。 | | **Docker 容器网络不可达宿主服务** | 容器内访问 `localhost` 失败 | 容器默认隔离网络 | 使用 `host.docker.internal`(Windows/macOS)或在 `docker run` 时添加 `--network host`(Linux)访问宿主。 | | **脚本换行符导致错误** | `$'\r': command not found` | 脚本使用 Windows CRLF 换行 | 将脚本转换为 LF 换行(`dos2unix` 或编辑器设置)后重新执行。 | **参考来源**:`global_guidance_document:8a861a5f-35c3-4f95-bd5b-6b2297888f56`, `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`. **标签**: ["development", "troubleshooting"]