跳转到内容

系统架构总览

这是当前系统的完整架构记录——不是”推荐方案”,是”实际就是这么跑的”。


┌─────────────────────────────────────────────────────────┐
│ WSL2 / Ubuntu 宿主机 │
│ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Docker 容器网络 │ │
│ │ │ │
│ │ ┌──────────────────────┐ ┌──────────────────┐ │ │
│ │ │ Hermes Agent │ │ mihomo 代理 │ │ │
│ │ │ ├── CLI / TUI │ │ (Clash Meta) │ │ │
│ │ │ ├── Gateway │ │ 127.0.0.1:7890 │ │ │
│ │ │ ├── Cron 调度 │ └──────────────────┘ │ │
│ │ │ └── Skills 系统 │ │ │
│ │ └────────┬─────────────┘ │ │
│ │ │ │ │
│ │ ┌────────┴─────────────┐ │ │
│ │ │ 本地服务 │ │ │
│ │ │ ├── Hindsight Lite │ │ │
│ │ │ │ (记忆系统) │ │ │
│ │ │ ├── faster-whisper │ │ │
│ │ │ │ (语音转文字) │ │ │
│ │ │ └── LM Studio │ │ │
│ │ │ (本地模型推理) │ │ │
│ │ └──────────────────────┘ │ │
│ └──────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ NVIDIA GPU (RTX 5070 Ti · 12GB) │ │
│ │ ├── faster-whisper 推理 │ │
│ │ └── LM Studio 本地模型 │ │
│ └──────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ 微信 iLink │ │ 海外 AI │
│ 服务器 │ │ API │
│ (国内直连) │ │ (走代理) │
└──────────┘ └──────────┘

不是用一个模型包办所有事。不同任务走不同模型:

角色模型用量负责
主干DeepSeek V4 FlashDeepSeek 官方~80-90%日常对话、大部分工具调用
攻坚Claude Opus / GPT-5 / Gemini Pro各渠道~5-10%复杂推理、架构决策、代码重构
编码GPT-5.5Codex CLI按需写代码、修 bug
视觉Qwen-VL / Gemini各渠道按需图片识别
本地LM Studio 模型本地 GPU按需后台任务、离线场景
# 核心策略:
# - 简单问题 → DeepSeek(便宜、快)
# - 复杂问题 → Claude/GPT(贵但靠谱)
# - 编码任务 → Codex(代码专用)
# - 图片识别 → 视觉模型(多后端自动 fallback)
# - 本地任务 → LM Studio(不走外网)

这个路由策略不是写在配置里的固定规则——是在使用中形成的经验判断。Hermes 没有自动路由,手动切换模型。


┌─────────────┐
Hermes 容器 ──────→ mihomo:7890 ─────→ 海外 API(美国出口)
└──────┬──────┘
(不代理国内流量)

关键规则:

  • 海外 API(OpenAI、Anthropic、DeepSeek 等)→ 走代理,美国出口
  • 国内 API(SiliconFlow、微信 iLink)→ 直连,不能走代理
  • 微信网关 → 必须去掉代理环境变量启动,否则连不上 ilinkai.weixin.qq.com
手机微信 → iLink 服务器 → Hermes Gateway(容器内)→ Hermes Agent
直连,不走代理

WSL 内部: /opt/data/...
↓ 9p 协议挂载
Windows: D:\传递文件\...

关键路径:

  • /opt/data/.env — 所有 API Key 和敏感配置
  • /opt/data/config.yaml — Hermes 配置
  • /opt/data/skills/ — 技能包目录(120+)
  • /opt/data/logs/ — 所有日志
  • /opt/data/image_cache/ — 图片缓存
  • /opt/data/传递文件/ — 与 Windows 互通的目录
Hindsight Lite(SQLite)→ 持久记忆层
└── 跨会话记忆:用户偏好、环境事实、学习到的工作流
└── 不使用:临时任务状态、会话日志(用 session_search 代替)

任务频率做什么
日报简报每日RSS 采集 → 三合一简报(AI+政经+热点)
博客监控每 N 小时检查关注的博客/论坛更新
GitHub 监控按需监控指定仓库的新 commit
信息基建情报定期检查 API 中转站价格变动

所有定时任务通过 Hermes 内置 cron 调度,执行完成后结果投递到微信。


  1. MoE 不是写在代码里的 —— 是使用习惯形成的,手动切换比自动路由更可控
  2. 微信必须直连 —— 代理冲突是 gateway 挂掉的第一大原因
  3. Skill 是 AI 的 procedural memory —— 不是给人读的文档,是给 AI 读的 prompt
  4. 本地优先 —— 核心架构在本地 Docker,云服务只做锦上添花(Cloudflare Pages)
  5. 单源信任 > 算法聚合 —— 宁可信任一个高质量来源(如 Juya),不要算法聚合的二手信息