DeepSeek Harness: 模型配置
最后更新:2026-08-31
模型是 Agent 的"大脑"——选对模型、配好连接,Agent 才能高效工作。DSH 的模型无关设计让你能自由切换 LLM,从 DeepSeek 到 GPT-4o 到本地 Ollama,只需修改配置,无需改动代码。
📋 前置知识:已完成 03-first-use.md,能正常启动 Web UI
1. 你将学到
- DeepSeek API Key 的获取与配置
- Web UI 设置页面操作
- OpenAI 兼容端点配置方法
- 模型路由与多模型切换
- API Key 安全管理最佳实践
2. DeepSeek API Key 配置
(1) 获取 API Key
访问 DeepSeek 开放平台获取 API Key:

1. 访问 https://platform.deepseek.com/
2. 注册/登录账号
3. 进入 API Keys 页面
4. 点击「创建 API Key」
5. 复制生成的 Key(以 sk- 开头)
注意:API Key 只在创建时显示一次,务必立即保存。丢失后需要重新创建。
(2) 配置 API Key
三种配置方式,按优先级从高到低:
方式一:Web UI 设置页面(推荐)
顶部控制栏 → ⚙️ Settings → Models → DeepSeek API Key
┌─────────────────────────────────────────┐
│ DeepSeek API Key │
│ sk-•••••••••••••••••••••••••••xxxx │
│ [Test Connection] [Save] │
└─────────────────────────────────────────┘
点击 Test Connection 验证连通性:

✅ Connection successful!
Model: deepseek-chat
Latency: 120ms
方式二:环境变量
# 在 .env 文件或 shell 中配置
export DEEPSEEK_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
方式三:配置文件
# dsh.config.yaml
models:
deepseek:
api_key: "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
base_url: "https://api.deepseek.com/v1"
(3) DeepSeek 可用模型
| 模型 ID | 说明 | 上下文窗口 | 适用场景 |
|---|---|---|---|
deepseek-chat |
通用对话模型 | 64K tokens | 日常编程、问答 |
deepseek-reasoner |
推理增强模型 | 64K tokens | 复杂逻辑、数学推理 |
deepseek-coder |
代码专用模型 | 16K tokens | 代码生成、调试 |
3. 设置页面详解
(1) ▶ 示例 1

┌──────────────────────────────────────────────┐
│ 📡 Model Providers │
│ │
│ ┌─ DeepSeek ────────────────────────────────┐ │
│ │ API Key: sk-•••••••••xxxx │ │
│ │ Base URL: https://api.deepseek.com/v1 │ │
│ │ Default Model: deepseek-chat │ │
│ │ [Test] [Save] │ │
│ └───────────────────────────────────────────┘ │
│ │
│ ┌─ OpenAI Compatible ───────────────────────┐ │
│ │ API Key: sk-•••••••••xxxx │ │
│ │ Base URL: https://api.openai.com/v1 │ │
│ │ Default Model: gpt-4o │ │
│ │ [Test] [Save] │ │
│ └───────────────────────────────────────────┘ │
│ │
│ [+ Add Provider] │
└──────────────────────────────────────────────┘
(2) 配置项说明
| 配置项 | 说明 | 示例 |
|---|---|---|
| API Key | LLM 服务的认证密钥 | sk-xxxxxxxx |
| Base URL | API 端点地址 | https://api.deepseek.com/v1 |
| Default Model | 默认使用的模型 | deepseek-chat |
| Max Tokens | 单次响应最大 token 数 | 4096 |
| Temperature | 生成温度(0-2) | 0.7 |
(3) ▶ 示例 3
# dsh.config.yaml
models:
deepseek:
api_key: "${DEEPSEEK_API_KEY}"
default_model: deepseek-chat
params:
temperature: 0.7
max_tokens: 4096
top_p: 0.95
openai:
api_key: "${OPENAI_API_KEY}"
default_model: gpt-4o
params:
temperature: 0.5
max_tokens: 8192
不同场景推荐参数:
| 场景 | Temperature | Max Tokens | 说明 |
|---|---|---|---|
| 代码生成 | 0.2-0.4 | 4096+ | 低温度确保代码一致性 |
| 文档编写 | 0.5-0.7 | 4096 | 适度创造性 |
| 创意头脑风暴 | 0.8-1.0 | 8192+ | 高温度鼓励多样性 |
| 精确问答 | 0.0-0.2 | 2048 | 最确定性输出 |
4. OpenAI 兼容端点配置
(1) ▶ 示例 1
# dsh.config.yaml
models:
openai:
api_key: "${OPENAI_API_KEY}"
base_url: "https://api.openai.com/v1"
default_model: gpt-4o
(2) Azure OpenAI 端点
# dsh.config.yaml
models:
azure:
api_key: "${AZURE_OPENAI_API_KEY}"
base_url: "https://your-resource.openai.azure.com/openai/deployments/your-deployment"
default_model: gpt-4o
headers:
api-key: "${AZURE_OPENAI_API_KEY}"
(3) 本地 Ollama 端点
# dsh.config.yaml
models:
ollama:
api_key: "ollama" # Ollama 不需要真实 Key
base_url: "http://localhost:11434/v1"
default_model: llama3.2
(4) 自定义端点
任何兼容 OpenAI API 格式的服务都能接入:
api_key: "${CUSTOM_API_KEY}"
base_url: "https://your-llm-service.com/v1"
default_model: your-model-name
headers:
X-Custom-Header: "custom-value"
(5) 多端点架构
graph TB
DSH[DeepSeek Harness] -->|Provider 1| DS[DeepSeek API<br/>deepseek-chat]
DSH -->|Provider 2| OAI[OpenAI<br/>gpt-4o]
DSH -->|Provider 3| OLL[Ollama<br/>llama3.2]
DSH -->|Provider 4| AZ[Azure OpenAI<br/>gpt-4o]
5. 模型路由与多模型选择
(1) Web UI 切换模型
在顶部控制栏的模型下拉菜单中切换:
[deepseek-chat ▼]
┌──────────────────────────┐
│ ● deepseek-chat │
│ DeepSeek · 64K ctx │
│ │
│ ○ gpt-4o │
│ OpenAI · 128K ctx │
│ │
│ ○ llama3.2 │
│ Ollama · 8K ctx │
└──────────────────────────┘
(2) 模型路由策略
DSH 支持根据任务类型自动路由到不同模型:
# dsh.config.yaml
routing:
rules:
- match:
mode: ptc # PTC 模式
model: deepseek-reasoner # 使用推理模型做规划
- match:
tool: file_edit # 文件编辑
model: deepseek-coder # 使用代码模型
- match:
mode: creative # 创造模式
model: gpt-4o # 使用 GPT-4o
- match:
default: true # 默认路由
model: deepseek-chat
(3) 路由流程
graph TD
INPUT[用户输入] --> CHECK{匹配路由规则}
CHECK -->|PTC 模式| R1[deepseek-reasoner]
CHECK -->|file_edit 工具| R2[deepseek-coder]
CHECK -->|creative 模式| R3[gpt-4o]
CHECK -->|默认| R4[deepseek-chat]
(4) CLI 模式指定模型
# 指定模型启动
npx @deepseek-ai/dsh cli --model gpt-4o
# 运行中切换模型(CLI 内部命令)
/model deepseek-reasoner
6. API Key 安全管理
(1) 安全原则
| 原则 | 说明 |
|---|---|
| 不硬编码 | API Key 不直接写在代码中 |
| 不提交到 Git | .env 文件加入 .gitignore |
| 最小权限 | 只配置必要的服务访问权限 |
| 定期轮换 | 定期更换 API Key |
| 审计日志 | 监控 API Key 的使用情况 |
(2) 环境变量管理
# .env 文件(不提交到 Git)
DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxx
OPENAI_API_KEY=sk-yyyyyyyyyyyyyyyy
# .env.example 文件(提交到 Git,供团队参考)
DEEPSEEK_API_KEY=your-deepseek-api-key
OPENAI_API_KEY=your-openai-api-key
# .gitignore
.env
.env.local
.env.*.local
(3) 配置文件中的变量引用
DSH 配置文件支持环境变量引用,避免硬编码:
# dsh.config.yaml — 使用 ${VAR} 引用环境变量
models:
deepseek:
api_key: "${DEEPSEEK_API_KEY}" # 运行时从环境变量读取
base_url: "https://api.deepseek.com/v1"
openai:
api_key: "${OPENAI_API_KEY}"
base_url: "https://api.openai.com/v1"
(4) 密钥管理服务集成
对于企业级部署,推荐使用专业密钥管理服务:

# dsh.config.yaml — AWS Secrets Manager 集成(示例)
models:
deepseek:
api_key:
vault: aws-secrets-manager
secret_id: "dsh/deepseek-api-key"
region: "us-east-1"
(5) Key 泄露应急处理
1. 立即在 API 提供商平台禁用/删除泄露的 Key
2. 生成新 Key 并更新配置
3. 检查 API 调用日志,确认无异常使用
4. 审查 Git 历史,确保 Key 未被提交(如已提交,使用 git filter-branch 清除)
7. 连接故障排查
(1) 常见错误与解决
| 错误信息 | 原因 | 解决方案 |
|---|---|---|
Invalid API key |
Key 错误或已过期 | 重新生成 Key 并配置 |

| Connection refused | 端点地址错误 | 检查 Base URL |
| Rate limit exceeded | API 调用频率超限 | 降低请求频率或升级套餐 |
| Model not found | 模型 ID 错误 | 检查模型名称拼写 |
| Timeout | 网络不通 | 检查代理设置或防火墙 |
(2) 连接测试命令
# 测试 DeepSeek API
curl -s https://api.deepseek.com/v1/models \
-H "Authorization: Bearer $DEEPSEEK_API_KEY"
# 测试 OpenAI 兼容端点
curl -s https://api.openai.com/v1/models \
-H "Authorization: Bearer $OPENAI_API_KEY"
# 测试本地 Ollama
curl -s http://localhost:11434/v1/models
(3) 代理配置
如果需要通过代理访问 API:
# 设置 HTTP 代理
export HTTP_PROXY="http://proxy.example.com:8080"
export HTTPS_PROXY="http://proxy.example.com:8080"
# 或在配置文件中指定
# dsh.config.yaml
models:
deepseek:
api_key: "${DEEPSEEK_API_KEY}"
base_url: "https://api.deepseek.com/v1"
proxy: "http://proxy.example.com:8080"
❓ 常见问题
/model 查看当前模型。📖 小节
- DeepSeek API Key 通过环境变量、配置文件或 Web UI 设置三种方式配置
- OpenAI 兼容端点让 DSH 能接入任何 OpenAI API 格式的服务
- 模型路由策略可根据模式/工具自动选择最优模型
- API Key 安全管理:不硬编码、不提交 Git、使用环境变量引用
- Web UI 顶部可一键切换模型,CLI 用
/model命令切换 - 连接故障按 Key → URL → 网络 → 代理的顺序排查
📝 作业
1. ⭐ 基础题:配置 DeepSeek API Key,在 Web UI 中成功发送一条消息并获得回复,截图保存连接测试结果。
2. ⭐⭐ 进阶题:同时配置 DeepSeek 和 OpenAI 两个模型提供商,在同一个会话中切换使用两个模型,对比同一问题的回答差异。
3. ⭐⭐⭐ 挑战题:配置 Ollama 本地模型端点,编写模型路由规则——让代码编辑操作路由到 DeepSeek Coder,创意任务路由到 GPT-4o,默认使用 DeepSeek Chat。验证路由是否按预期工作。