本地部署Hermes + Claude Code + DeepSeek:三合一AI Agent工作流搭建指南
摘要
本文阐述如何在本地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框架自动决策任务分配——不需要在不同工具间手动切换、不需要在不同对话中重复上下文、不需要为每个模型单独维护配置和记忆。
更多推荐




所有评论(0)