需完成API协议对接、模型配置注入与上下文处理策略调整:一、配置OneAPI代理层对接Moonshot;二、修改Hermes主模型配置指向OneAPI;三、启用token裁剪与分块摘要预处理;四、配置Kimi专属Prompt Cache;五、验证超长上下文理解与Agent协同能力。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望在Hermes Agent中启用Moonshot系列模型(如Kimi K2.5、Kimi K2.6或kimi-128k)以支持超长上下文任务,则需完成API协议对接、模型配置注入与上下文处理策略调整。以下是具体实施步骤:
一、配置OneAPI代理层对接Moonshot模型
OneAPI作为统一API网关,可将Moonshot私有协议转换为标准OpenAI/v1/chat/completions接口,屏蔽请求体结构与响应解析差异,并承担密钥管理、流量分发与故障重试职责。
1、拉取OneAPI最新Docker镜像并运行容器,指定宿主机端口8080映射至容器内部服务端口。
2、编辑OneAPI配置文件config.yaml,在channels节点下新增moonshot渠道,填入Kimi平台申请的API Key与base_url: https://api.moonshot.cn/v1。
3、在models节点中定义对应模型条目,例如model_name设为kimi-k2-0711-preview,max_tokens设为131072,temperature设为0.3以保障长文本推理稳定性。
4、启动OneAPI服务后,执行curl -X POST http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{"model":"kimi-k2-0711-preview","messages":[{"role":"user","content":"test"}]}',确认返回HTTP状态码为200且响应含choices字段。
二、修改Hermes Agent主模型配置指向OneAPI
Hermes Agent默认从config.yaml顶部main_model字段读取模型服务地址,需将其指向本地OneAPI代理实例,从而实现对Moonshot模型能力的透明透传,无需改动核心代码逻辑。
1、使用VS Code打开Hermes Agent项目根目录下的config.yaml文件。
2、定位至main_model配置段,将provider字段设为openai,base_url字段修改为http://host.docker.internal:8080/v1(Docker容器内访问宿主机服务)或http://127.0.0.1:8080/v1(本地直接运行场景)。
3、将model字段设为OneAPI中定义的模型名,例如kimi-k2-0711-preview或kimi-128k,确保名称严格一致。
4、保存config.yaml后重启Hermes Agent进程,运行hermes doctor命令检查连接状态,确认输出中显示“✅ Connected to kimi-k2-0711-preview”。
三、启用token级上下文裁剪与分块摘要预处理
Kimi虽支持128K–256K上下文窗口,但原始长文档直接输入易引发响应延迟、截断或token溢出错误。Hermes Agent内置trajectory_compressor模块可对输入进行动态token裁剪,并调用LLM生成段落级摘要,保障关键信息留存率与推理稳定性。
1、在Hermes Agent配置目录下找到advanced_config.yaml,启用compressor模块:将enable_compression设为true。
2、设置max_input_tokens为120000,预留11072 tokens用于系统提示与工具调用空间。
3、配置summary_strategy为llm_chunk,启用分块摘要模式,chunk_size设为4096 tokens,overlap设为256 tokens以保留语义衔接。
4、验证压缩效果:向Agent提交一份含180K tokens的PDF解析文本,观察日志中compressor是否输出“Compressed from 180241 → 118932 tokens, retained 66% key content”。
四、配置Kimi专属上下文缓存策略(Prompt Cache)
Moonshot平台原生支持Prompt Cache机制,对重复system/user prompt组合自动命中缓存,显著降低延迟与成本。Hermes Agent需通过请求头显式启用该功能,避免被当作全新请求处理。
1、在OneAPI的moonshot渠道配置中,添加headers字段:{"Cache-Control": "public, max-age=3600"}。
2、于Hermes Agent的model配置中增加extra_headers字段,填入{"X-Moonshot-Cache": "enable"}。
3、在发送请求前,确保messages数组首条message的role为system且content为稳定不变的指令模板,例如“你是一个专业文档分析助手,请基于以下材料回答问题。”
4、调用完成后检查响应头中是否包含X-Moonshot-Cache-Hit: true,确认缓存命中生效。
五、验证超长上下文理解能力与Agent协同表现
仅连通性验证不足以确认Kimi模型在Hermes Agent中的实际可用性,必须针对真实Agent工作流进行端到端测试,覆盖多轮对话、工具调用链与跨文档信息关联等典型场景。
1、准备一份320页的IPO招股书PDF,使用Hermes内置pdf_loader工具加载并切片为12段,总token数约228000。
2、发起首轮提问:“请提取发行人近三年主营业务收入构成及增长率”,观察响应是否完整列出表格数据且未出现“内容被截断”提示。
3、发起第二轮追问:“对比2023年与2024年Q1毛利率变化,并分析原因”,确认Agent是否能准确引用前文提取的数据并调用web_search工具补充行业背景。
4、执行hermes task run --name financial_analyst --input "analyze IPO prospectus",检查task log中是否全程维持上下文连贯性,无token重置或记忆丢失现象。


















