con un clic
hermes-vision-debug
Hermes Vision 故障排查与 MiniMax 启用指南
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Hermes Vision 故障排查与 MiniMax 启用指南
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
高德地图综合服务,支持POI搜索、路径规划、旅游规划、周边搜索和热力图数据可视化
Knowledge comic creator supporting multiple art styles and tones. Creates original educational comics with detailed panel layouts and sequential image generation. Use when user asks to create "知识漫画", "教育漫画", "biography comic", "tutorial comic", or "Logicomix-style comic".
Generate professional infographics with 21 layout types and 21 visual styles. Analyzes content, recommends layout×style combinations, and generates publication-ready infographics. Use when user asks to create "infographic", "visual summary", "信息图", "可视化", or "高密度信息大图".
Darwin Skill (达尔文.skill): autonomous skill optimizer inspired by Karpathy's autoresearch. Evaluates SKILL.md files using an 8-dimension rubric (structure + effectiveness), runs hill-climbing with git version control, validates improvements through test prompts, and generates visual result cards. Use when user mentions "优化skill", "skill评分", "自动优化", "auto optimize", "skill质量检查", "达尔文", "darwin", "帮我改改skill", "skill怎么样", "提升skill质量", "skill review", "skill打分".
从 DESIGN.md 生成预览图并截图的工作流 - 解决 Playwright 浏览器路径问题和 YAML 解析
Cron jobs auto-deliver final responses to configured targets — send_message to the same target gets deduplicated and skipped. Print report content directly as final response instead.
| name | hermes-vision-debug |
| description | Hermes Vision 故障排查与 MiniMax 启用指南 |
| tags | ["vision","debug","minimax","auxiliary"] |
# 1. 检查 Vision 是否可用
cd /opt/hermes && .venv/bin/python -c "
from tools.vision_tools import check_vision_requirements
print(f'Vision 可用: {check_vision_requirements()}')
"
# 2. 检查配置
cd /opt/hermes && .venv/bin/python -c "
from hermes_cli.config import load_config
from agent.credential_pool import read_credential_pool
cfg = load_config()
print('Auxiliary Vision:', cfg.get('auxiliary', {}).get('vision', {}))
print('Credential Pool:', list(read_credential_pool().keys()))
"
# 3. 检查 vision 后端解析
cd /opt/hermes && .venv/bin/python -c "
from agent.auxiliary_client import resolve_vision_provider_client
provider, client, model = resolve_vision_provider_client()
print(f'Provider: {provider}, Client: {client}, Model: {model}')
"
症状: Vision 返回 False
排查:
env | grep -i minimax 或 env | grep -i openrouter解决: 配置相应的 API Key
症状: resolve_vision_provider_client 返回 None/False
原因: auxiliary_client.py 的 vision 后端没有 MiniMax
代码位置: /opt/hermes/agent/auxiliary_client.py
在 _VISION_AUTO_PROVIDER_ORDER (约第 1926 行) 添加 "minimax-cn"
if provider == "minimax-cn":
return _try_minimax_cn(vision=True)
VLM 端点: https://api.minimaxi.com/v1/coding_plan/vlm
模型: video-01
重要: MiniMax Vision 使用非标准 API 格式:
{"model": "video-01", "prompt": "描述图片", "image_url": "data:image/png;base64,..."}
这需要在 vision_tools.py 或 async_call_llm 中额外适配调用格式。
症状: read_credential_pool('minimax-cn') 返回空列表,尽管 .env 文件中有 API Key
原因: credential_pool.py 没有加载 .env 文件
修复 - 在 /opt/hermes/agent/credential_pool.py 顶部添加(约第 1-5 行):
from dotenv import load_dotenv
load_dotenv() # 加载 /opt/data/.env
症状: Vision 调用返回 401 令牌过期,但 API Key 实际有效
原因: auth.json 中存在旧的/腐败的凭证记录,且 access_token 被错误重复(如 xxx...xxx...xxx)
排查:
cd /opt/hermes && source .venv/bin/activate && python -c "
from agent.credential_pool import read_credential_pool
pool = read_credential_pool()
for p, creds in pool.items():
if 'glm' in p.lower() or 'zhipu' in p.lower():
print(f'{p}:')
for c in creds:
token = c.get('access_token', 'N/A')
print(f' - {c.get(\"label\")}: {token}')
"
检查 auth.json:
cat /opt/data/auth.json | python -c "import json,sys; d=json.load(sys.stdin); print(json.dumps(d.get('credential_pool',{}).get('zai',[]), indent=2))"
修复:
import json
with open('/opt/data/auth.json', 'r') as f:
data = json.load(f)
for provider in ['zai', 'zhipuai']:
if provider in data['credential_pool']:
for cred in data['credential_pool'][provider]:
cred['access_token'] = ''
cred['last_status'] = None
cred['last_error_code'] = None
cred['last_error_message'] = None
with open('/opt/data/auth.json', 'w') as f:
json.dump(data, f, indent=2)
症状: 已修复上述所有问题,但 vision 调用仍然失败(api_key 显示 no-key-required)
原因: Python 进程启动时加载环境变量,后续修改 .env 不会自动刷新
解决: 必须重启 Hermes 容器
docker restart hermes
重启后验证:
cd /opt/hermes && source .venv/bin/activate && python -c "
from agent.auxiliary_client import resolve_vision_provider_client
provider, client, model = resolve_vision_provider_client()
print(f'Provider: {provider}')
print(f'Client api_key: {client.api_key}')
"
api_key 应该显示实际的 key 而不是 "no-key-required"
症状:
/v1/messages → 404/anthropic/messages → 404/v1/text/chat → 404原因: MiniMax 图像理解使用独立的 VLM 端点,不是标准 Messages API
解决: 使用 /v1/coding_plan/vlm 端点
url = "https://api.minimaxi.com/v1/coding_plan/vlm"
payload = {
"prompt": "描述图片",
"image_url": "data:image/png;base64,xxx" # 必须是完整 data URL
}
| Provider | Vision Model | 支持 Vision |
|---|---|---|
| minimax-cn | MiniMax-M2.5 | ❌ 需确认模型名 |
| minimax | MiniMax-M2.5 | ❌ 需确认模型名 |
| openrouter | google/gemini-2-flash-preview | ✅ |
| nous | (免费 vision 模型) | ❓ |
重要: MiniMax-M2.7 不支持 vision。需要使用带 vision 的模型名(如有)。
修复后运行:
cd /opt/hermes && .venv/bin/python -c "
from agent.auxiliary_client import resolve_vision_provider_client
provider, client, model = resolve_vision_provider_client(provider='minimax-cn')
print(f'Provider: {provider}, Client: {client is not None}, Model: {model}')
"
应该输出: Provider: minimax-cn, Client: True, Model: MiniMax-M2.7