摘要

本文阐述如何在本地Windows环境中搭建一套"三合一"AI Agent工作流:以DeepSeek API驱动Hermes Agent作为主控调度层,以Claude Code CLI作为高强度编码执行层。三者的分工为——Hermes负责理解意图、拆解任务、管理工具和记忆;DeepSeek提供高性价比的日常推理;Claude Code在复杂编码场景下提供深度代码生成能力。全文从零开始,包含安装、API配置、协同模式、实际使用示例四个阶段。


1. 三者分别是什么

组件 定位 角色
Hermes Agent CLI Nous Research开源的AI Agent框架 主控大脑:任务调度、工具调用、记忆管理、多Provider路由
Claude Code CLI Anthropic官方命令行编码Agent 编码专家:自主读写文件、执行Shell命令、Git操作、代码审查
DeepSeek API DeepSeek大模型云端API 推理引擎:驱动Hermes进行日常推理,成本约为Claude的1/10

协作逻辑:用户与Hermes交互(Hermes使用DeepSeek作为默认模型),当遇到复杂编码任务时,Hermes将任务委派给Claude Code CLI独立执行,完成后将结果返回给用户。

用户 ←→ Hermes Agent (DeepSeek推理)
              │
              │ 复杂编码任务
              ▼
         Claude Code CLI (Anthropic API)
              │
              ▼
         代码产物 / Diff / 审查报告

2. 安装篇

2.1 安装Claude Code CLI

前置条件:Node.js 18+。如未安装,从 https://nodejs.org 下载LTS版本安装。

# 全局安装Claude Code CLI
npm install -g @anthropic-ai/claude-code
​
# 验证安装
claude --version
# 应输出 v2.x.x 或更高版本

首次运行需完成认证:

# 启动交互式认证
claude

首次启动会弹出浏览器窗口,登录Anthropic账号完成OAuth授权。也可以使用API Key方式认证:

# 方式二:API Key认证(适用于无浏览器环境)
export ANTHROPIC_API_KEY=sk-ant-your-key-here
claude auth login --console

验证认证状态:

claude auth status --text
# 应显示已登录的账号信息

2.2 安装Hermes CLI

前置条件:Python 3.10+。建议使用git-bash(MSYS2)作为终端,避免PowerShell下的路径兼容问题。

# 官方安装脚本(自动处理虚拟环境和依赖)
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Windows用户在git-bash中执行。脚本会自动安装uv包管理器、创建Python虚拟环境、注册hermes命令到PATH。安装完成后重启终端或执行:

source ~/.bashrc

验证安装:

hermes --version
hermes doctor

hermes doctor输出环境检查报告,确认Python版本、依赖完整性、配置文件路径均正常即可。

2.3 安装验证清单

# 清单1:Claude Code可用
claude --version && echo "Claude Code: OK" || echo "Claude Code: FAIL"
​
# 清单2:Hermes可用
hermes --version && echo "Hermes: OK" || echo "Hermes: FAIL"
​
# 清单3:Claude Code认证有效
claude auth status --text 2>&1 | grep -q "Logged in" && echo "Claude Auth: OK" || echo "Claude Auth: FAIL"

3. API Key配置篇

3.1 获取API Key

服务 获取地址 Key格式特征
DeepSeek https://platform.deepseek.com sk- 开头
Anthropic Claude https://console.anthropic.com sk-ant- 开头

注册后在对应平台的"API Keys"页面创建密钥。DeepSeek支持国内人民币充值,无需海外信用卡。

3.2 配置Hermes的API Key

Hermes使用%USERPROFILE%\.hermes\.env文件管理密钥(与config.yaml分离,避免密钥泄露到版本控制):

# 定位配置文件
hermes config env-path
# 输出:C:\Users\你的用户名\.hermes\.env
​
# 编辑.env文件
notepad "$(hermes config env-path)"

.env中写入:

# DeepSeek API(Hermes默认模型使用)
DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
​
# Anthropic API(Claude Code子代理使用)
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

保存后,注册凭据到Hermes:

hermes auth add deepseek
# 交互式提示输入API Key,或自动从环境变量读取
​
hermes auth add anthropic
# 同上

验证Provider连接:

# 测试DeepSeek
hermes chat -q "回复:连接成功" --model deepseek/deepseek-chat
​
# 测试Claude(仅在需要将Claude也设为Hermes备用模型时需要)
hermes chat -q "Reply: OK" --model anthropic/claude-sonnet-4-20250514 --max-turns 1

3.3 配置Claude Code的API Key

Claude Code CLI默认使用OAuth认证(claude命令首次运行时浏览器登录)。如需使用API Key方式:

# 设置环境变量
export ANTHROPIC_API_KEY=sk-ant-your-key-here
​
# 使用API Key登录
claude auth login --console

API Key方式适用于无图形界面的服务器环境或CI/CD场景。对于桌面使用,OAuth方式更方便,无需手动管理Key。


4. 三者协同使用篇

4.1 模式一:Hermes主控 + DeepSeek日常推理

这是默认工作模式。启动Hermes后,所有对话由DeepSeek处理:

# 启动Hermes交互会话,指定DeepSeek模型
hermes --model deepseek/deepseek-chat

在会话中可以直接进行:

  • 文件读写(Hermes调用内置file工具)

  • 终端命令执行(Hermes调用内置terminal工具)

  • 网页搜索(Hermes调用web_search工具)

  • 代码生成和解释(DeepSeek直接输出)

此模式下所有工具调用由Hermes统一管理,DeepSeek负责推理决策。

4.2 模式二:在Hermes中调用Claude Code处理编码任务

当遇到DeepSeek不擅长的复杂编码任务(大型重构、多文件修改、代码审查),在Hermes会话中直接执行Claude Code命令:

使用场景示例1:代码审查

在Hermes会话中:

用户:审查 src/auth.py 的安全问题
​
Hermes执行:claude -p "Review src/auth.py for security vulnerabilities including
SQL injection, authentication bypass, and unsafe deserialization. Be thorough."
--allowedTools "Read" --max-turns 5

Claude Code以-p(print模式)运行,只读取文件不修改,输出审查报告后自动退出,结果直接展示在Hermes对话中。

使用场景示例2:功能重构

在Hermes会话中:

用户:把 src/api/ 下的路由处理函数统一加上异常处理和日志
​
Hermes执行:claude -p "Add try-catch error handling and structured logging
to all route handlers in src/api/. Use the existing logger from utils/logger.py.
Don't change business logic." --allowedTools "Read,Edit" --max-turns 15
--workdir C:/Users/Administrator/myproject

Claude Code读取所有路由文件、按规范添加异常处理、修改完成后输出变更摘要。

使用场景示例3:生成测试代码

用户:给 src/models/user.py 写完整的单元测试
​
Hermes执行:claude -p "Write comprehensive unit tests for src/models/user.py
using pytest. Cover all public methods, edge cases, and error paths.
Save to tests/test_user.py." --allowedTools "Read,Write" --max-turns 10
--workdir C:/Users/Administrator/myproject

4.3 Claude Code的两种调用模式

在实际使用中,根据任务特征选择不同模式:

模式 命令形式 适用场景 优势 劣势
Print模式(推荐) claude -p "任务描述" 一次性的明确任务 自动退出、支持结构化JSON输出、无交互对话框 不支持多轮追问
交互模式 tmux内运行claude 探索性迭代开发 支持多轮对话、Slash命令、可以中途调整方向 需要tmux支持、需要手动处理信任对话框

Print模式的关键参数:

claude -p "任务描述" \
  --allowedTools "Read,Edit,Write,Bash" \  # 限制可用工具
  --max-turns 10 \                          # 限制最大推理轮次
  --workdir /path/to/project \              # 指定工作目录
  --output-format json                      # 结构化JSON输出(含token消耗)

4.4 在Hermes中加载Claude Code Skill

Hermes内置了claude-code skill,加载后Hermes会自动识别何时应该委派给Claude Code:

# 在Hermes会话中加载skill
/skill claude-code

加载后,Hermes在系统提示词中获得Claude Code的使用指南,当用户提出编码相关任务时,Hermes会自动判断是否需要委派给Claude Code执行。

4.5 完整工作流示例

以下是一次典型的"三合一"协作流程:

用Hermes(DeepSeek推理)开发一个Python CLI工具:

阶段1 — 需求分析(DeepSeek)
用户:我要做一个批量重命名文件的CLI工具,支持正则匹配和预览模式
Hermes(DeepSeek)分析需求 → 给出架构设计 → 拆解为子任务
​
阶段2 — 核心编码(Claude Code)
用户:开始实现
Hermes委派给Claude Code → claude -p "Create a Python CLI tool for batch file
renaming with regex matching, --preview dry-run mode, and --recursive flag.
Use argparse, pathlib, and re modules. Structure as a single file cli.py
with a main() entry point." --allowedTools "Write" --max-turns 10
​
阶段3 — 代码审查(Claude Code)
用户:审查刚生成的代码
Hermes执行 → claude -p "Review cli.py for edge cases: empty directories,
permission errors, regex compilation failures, filename collisions."
--allowedTools "Read" --max-turns 3
​
阶段4 — 测试执行(Hermes终端工具)
用户:跑一下测试
Hermes直接使用terminal工具 → python cli.py --preview --regex "old_(.*)" "new_$1" ./test_dir/
​
阶段5 — 文档生成(DeepSeek)
用户:写个README
Hermes(DeepSeek)直接生成 → 写README.md,因为文档任务DeepSeek完全胜任

整个流程中用户只与Hermes交互,无需手动切换工具。


5. 配置优化建议

5.1 创建Hermes启动别名

~/.bashrc中添加别名,简化日常启动:

# 以DeepSeek为默认模型的Hermes
alias ha='hermes --model deepseek/deepseek-chat'
​
# 加载claude-code skill的Hermes
alias hac='hermes --model deepseek/deepseek-chat --skills claude-code'

5.2 Claude Code的项目级配置

在项目根目录创建CLAUDE.md,让Claude Code理解项目约定:

# 项目:MyProject
​
## 技术栈
- Python 3.11+, FastAPI, SQLAlchemy, pytest
- 包管理:uv
​
## 代码规范
- 类型注解必须覆盖所有公共函数
- 日志使用 loguru,格式:logger.info("module.action {}", detail)
- 异常处理:业务异常继承 AppException,外层统一捕获
- 测试文件命名:tests/test_<模块名>.py
​
## 常用命令
- 运行测试:uv run pytest -n auto
- 代码检查:uv run ruff check .
- 启动服务:uv run uvicorn src.main:app --reload

Claude Code启动时自动读取此文件,代码生成更贴合项目风格。

5.3 成本控制策略

任务类型 使用哪个模型 预估成本/次 控制方式
日常问答 DeepSeek < 0.01 RMB Hermes默认模型
文档撰写 DeepSeek 0.01-0.05 RMB Hermes默认模型
简单代码修改 DeepSeek 0.01-0.03 RMB Hermes默认模型
复杂重构/审查 Claude Code 0.05-0.30 USD --max-turns 10 --max-budget-usd 0.50
多文件大规模改动 Claude Code 0.20-1.00 USD --max-turns 20 --max-budget-usd 2.00

Claude Code的--max-turns--max-budget-usd参数是防止成本失控的关键防线。


6. 常见问题

问题 原因 解决
claude命令未找到 npm全局安装路径未在PATH中 npm config get prefix确认路径,添加到PATH
Claude Code输出被截断 终端缓冲区限制 使用--output-format json获取完整结构化输出
Hermes中执行claude超时 Claude Code在-p模式下执行时间较长 在Hermes terminal命令中增加timeout=300
DeepSeek API返回频率限制 免费/低价tier有速率限制 在platform.deepseek.com查看当前tier限制
Claude Code提示信任对话框 首次在某目录运行 Print模式(-p)自动跳过所有交互对话框
两个工具的API Key混淆 环境变量作用域问题 Hermes用.env文件,Claude Code用ANTHROPIC_API_KEY环境变量或OAuth

7. 总结

三者的分工与关系可概括为:

  • Hermes是操作系统的Agent层,提供统一界面、工具调度、记忆管理、多Provider路由

  • DeepSeek是日常推理引擎,以低成本覆盖80%的问答、文档、轻量编码场景

  • Claude Code是专业编码引擎,以高质量覆盖20%的复杂重构、审查、架构设计场景

核心收益:用户只面对一个交互界面(Hermes),由Agent框架自动决策任务分配——不需要在不同工具间手动切换、不需要在不同对话中重复上下文、不需要为每个模型单独维护配置和记忆。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐