WSL环境下的Hermes Agent无法直接调用Windows本地资源(PowerShell命令、文件系统、进程管理等),缺乏稳定、高效的跨系统通信通道。AI Agent运行在WSL Ubuntu中,但需要调度Windows侧的GitHub CLI、文件操作、Ollama推理引擎等服务,亟需一个桥接层实现双系统实时通信。
点击空白处退出提示
WSL环境下的Hermes Agent无法直接调用Windows本地资源(PowerShell命令、文件系统、进程管理等),缺乏稳定、高效的跨系统通信通道。AI Agent运行在WSL Ubuntu中,但需要调度Windows侧的GitHub CLI、文件操作、Ollama推理引擎等服务,亟需一个桥接层实现双系统实时通信。
Hermes Bridge是运行在Windows端的C++常驻服务(Daemon),通过cmd/out文件轮询机制与WSL中的Hermes Agent通信。
核心功能模块:
• exec:通过PowerShell执行Windows系统命令
• file_read/write/patch:读写Windows文件系统,支持UTF-8中文路径
• http_get/post:WinHTTP原生实现,HTTP客户端能力
• ollama:调用本地Ollama大模型推理服务
• process_start/stop:Windows进程启停管理
• ps_service_query:Windows服务查询
支持多客户端并发(5 worker线程池),具备JSON完整性检查、原子写入、崩溃自拉起等可靠性设计。
技术栈:C++17 / MSVC x64 / WinHTTP原生API / nlohmann-json(header-only)/ 自研RotatingFileLogger
负责任务:全栈开发,从需求分析、架构设计、代码实现、安全审查、测试验证到交付部署全流程。
实现亮点:
• Windows原生实现,零外部依赖(vcpkg网络不通时改用WinHTTP)
• CreateProcessW分离参数设计,防止命令注入
• workspace沙箱隔离,禁止路径遍历
• 原子写入(.tmp → rename)保证文件一致性
实现难点:
• WSL与Windows文件系统锁兼容性问题通过JSON完整性检查兜底
• 进程僵死后state.json仍存活的"僵尸进程"问题通过健康检查机制缓解






评论