# Step0 基础服务连接测试 ## 1. 范围 Step0 当前只负责前序依赖的可用性验证: - DMS:验证能否使用用户名和密码自动取得并校验 token; - DeepSeek:发起一次最小对话请求,验证 API Key、地址和模型可用; - Redis:只执行 `PING`,验证连接可用。 这些检查不读取或修改 DMS 业务数据,不读写 Redis 业务键,也不改动数据模板、知识图谱或问答 Agent。 ## 2. DMS token 自动获取 ### 结果 已验证通过: - 使用 `.env` 中的 `DMS_USERNAME` 和 `DMS_PASSWORD` 可以调用当前部署的登录接口; - 登录成功后可以取得 token; - 取得的 token 通过 DMS `serviceId=2` 校验; - 验证过程不输出 token,也不把新 token 写回 `.env`。 ### 配置 ```ini DMS_BASE_URL=http://your-dms-host:port/dms DMS_USERNAME=your-dms-username DMS_PASSWORD=your-dms-password # 可选。缺失或失效时使用用户名密码重新登录。 ``` ### 命令 ```powershell uv run python scripts/check_dms_auth.py ``` 该命令只显示认证是否成功,不显示或保存 token。 ## 3. DeepSeek 连接测试 ### 配置 ```ini DEEPSEEK_API_KEY=your-api-key DEEPSEEK_BASE_URL=https://api.deepseek.com DEEPSEEK_MODEL=your-model ``` ### 命令 ```powershell uv run python scripts/check_step0_connections.py deepseek ``` 测试只发送一次 `max_tokens=1` 的最小对话请求。命令只输出成功或脱敏后的失败原因,不输出 API Key 或模型回复内容。该测试会产生极少量模型调用费用。 ## 4. Redis 连接测试 ### 配置 ```ini REDIS_URL=redis://localhost:6379/0 ``` ### 命令 ```powershell uv run python scripts/check_step0_connections.py redis ``` 测试只执行 Redis `PING`,不会读取、创建、修改或删除任何 Redis 键。 如需依次检查 DeepSeek 和 Redis: ```powershell uv run python scripts/check_step0_connections.py all ``` ## 5. 相关代码 - `src/step0_pre_prepare/dms_auth.py` - `src/step0_pre_prepare/connection_checks.py` - `scripts/check_dms_auth.py` - `scripts/check_step0_connections.py` - `scripts/test_dms_auth.py` - `scripts/test_step0_connections.py` ## 6. 当前未做的工作 - 没有实现 DMS 业务数据的定时或自动更新; - 没有读取、修改或写入 DMS 业务内容; - 没有读写 Redis 业务键; - 没有修改或生成数据模板; - 没有构建或更新 Neo4j 知识图谱; - 没有修改问答 Agent; - 没有创建定时任务或后台自动化。 后续如需把这些连接能力接入业务流程,应作为独立任务,在明确数据范围和验收标准后实施。 ## 7. 已知风险 当前部署公开的 DMS OAuth API 使用 HTTP。用户名、密码和 token 的传输依赖受信内网或 VPN;用于正式自动化前,建议将认证链路升级为 HTTPS。