step0-pre-prepare.md 2.8 KB

Step0 基础服务连接测试

1. 范围

Step0 当前只负责前序依赖的可用性验证:

  • DMS:验证能否使用用户名和密码自动取得并校验 token;
  • DeepSeek:发起一次最小对话请求,验证 API Key、地址和模型可用;
  • Redis:只执行 PING,验证连接可用。

这些检查不读取或修改 DMS 业务数据,不读写 Redis 业务键,也不改动数据模板、知识图谱或问答 Agent。

2. DMS token 自动获取

结果

已验证通过:

  • 使用 .env 中的 DMS_USERNAMEDMS_PASSWORD 可以调用当前部署的登录接口;
  • 登录成功后可以取得 token;
  • 取得的 token 通过 DMS serviceId=2 校验;
  • 验证过程不输出 token,也不把新 token 写回 .env

配置

DMS_BASE_URL=http://your-dms-host:port/dms
DMS_USERNAME=your-dms-username
DMS_PASSWORD=your-dms-password

# 可选。缺失或失效时使用用户名密码重新登录。

命令

uv run python scripts/check_dms_auth.py

该命令只显示认证是否成功,不显示或保存 token。

3. DeepSeek 连接测试

配置

DEEPSEEK_API_KEY=your-api-key
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_MODEL=your-model

命令

uv run python scripts/check_step0_connections.py deepseek

测试只发送一次 max_tokens=1 的最小对话请求。命令只输出成功或脱敏后的失败原因,不输出 API Key 或模型回复内容。该测试会产生极少量模型调用费用。

4. Redis 连接测试

配置

REDIS_URL=redis://localhost:6379/0

命令

uv run python scripts/check_step0_connections.py redis

测试只执行 Redis PING,不会读取、创建、修改或删除任何 Redis 键。

如需依次检查 DeepSeek 和 Redis:

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。