# opencodehermes **Repository Path**: ooooinfo/opencodehermes ## Basic Information - **Project Name**: opencodehermes - **Description**: hermes 省钱大法 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-07-07 - **Last Updated**: 2026-07-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # op - OpenCode 智能路由命令 > 自动选择 OpenCode 免费模型,大幅降低 AI 编码成本 ## 📋 项目简介 `op` 是一个智能路由命令,自动判断任务类型: - **代码/技术任务** → 调用 OpenCode(使用其真正的免费模型,**不消耗你的 API 费用**) - **网络/实时信息** → 返回给 Hermes 处理 **核心价值**:通过自动选择 OpenCode 官方免费模型 + 紧凑输出 + 上下文压缩 + 结果缓存,预计可节省 **85%–100%** 的 AI 编码 Token 费用。 ## 🚀 快速开始 ### 安装 ```bash npm install -g opencodehermes ``` `opencodehermes` 会自动安装 `opencode` 作为依赖,无需单独安装。 ### 前置要求 | 平台 | 要求 | 安装方式 | |------|------|----------| | **Linux** | Node.js ≥ 18 | `apt install nodejs` | | **macOS** | Node.js ≥ 18 | `brew install node` | | **Windows** | Node.js ≥ 18, Git Bash 或 WSL | 下载安装 Node.js + Git Bash / WSL | ### 验证安装 ```bash # 测试自动免费模型检测 op "列出可用的免费模型" ``` ### Windows 安装 推荐方案: ```bash # 方案 A:Git Bash(推荐) npm install -g opencodehermes # 方案 B:WSL(完全兼容) wsl npm install -g opencodehermes ``` ## 🔧 配置 ### 1. 安装 opencode ```bash npm install -g opencode ``` ### 2. 配置 API(可选) ```bash # 查看可用提供者 opencode providers # 添加自定义提供者(如果需要) opencode providers add deepseek ``` ### 3. 验证安装 ```bash # 测试自动免费模型检测 ./op.sh "列出可用的免费模型" # 输出示例: # 🔍 正在检测 opencode 免费模型... # ✅ 检测到 6 个免费模型: opencode/deepseek-v4-flash-free opencode/hy3-free ... # ✅ 切换到免费模型: opencode/deepseek-v4-flash-free ``` ## 📖 使用示例 ### 代码/技术任务 → 自动走 OpenCode 免费模型 ```bash op "分析代码结构" op "修复这个 bug" op "优化数据库查询" op "写一个 Python 脚本" op "分析当前目录的文件" ``` ### 网络/实时信息 → 自动路由到 Hermes ```bash op "查宁波到淄博的火车票" op "今天北京的天气" op "搜索最新 AI 新闻" op "查询股票行情" ``` ### 结果缓存(默认开启) `op` 会自动缓存 OpenCode 的返回结果,**相同任务在 24 小时内再次执行时直接返回缓存,Token 消耗为 0**: ```bash # 第一次:调用模型 op "分析当前目录的代码结构" # 第二次:命中缓存,不消耗任何 Token op "分析当前目录的代码结构" # 跳过缓存,强制重新请求 op --no-cache "分析当前目录的代码结构" ``` 缓存规则: - 缓存键基于「任务 + 模型 + 工作目录 + 输入内容摘要」 - 默认有效期 24 小时 - 缓存目录:`~/.cache/opencodehermes/results/` ### 紧凑模式(默认开启) `op` 默认开启紧凑模式,自动降低输出 token: ```bash # 默认紧凑模式 op "分析 main.py 的结构" # 关闭紧凑模式(需要详细解释时使用) op --no-compact "详细解释这段代码" ``` ### Token 节省统计 每次执行 `op` 后,会自动统计本次使用的 Token 并按 Hermes 付费价估算节省金额: ```bash op "分析项目结构" # 输出示例: # 💰 本次使用约 1,250 tokens(已免费),按 Hermes 付费价估算节省 ¥0.0025 ``` 查看累计节省: ```bash op stats # 输出示例: # 📊 op 累计节省统计 # 🚀 总执行次数: 42 # 💰 累计节省 Token: 58,320 # 💴 累计节省费用: ¥0.1166 ``` 统计文件位置:`~/.cache/opencodehermes/stats.json` ### 上下文压缩 通过管道输入长内容时,`op` 会自动提取关键结构,避免把整段代码传给模型: ```bash cat src/main.py | op "审查这段代码的安全问题" ``` 压缩规则: - 短内容(≤80 行 / ≤4000 字符):原样传递 - 长内容:自动提取 `import/export`、函数/类定义、关键注释 ### 高级用法 ```bash # 静默模式(减少输出,节省上下文) op --quiet "测试" # 指定目录 op "分析代码" /path/to/project # 通过管道输入 cat main.py | op "审查这段代码" ``` ## 🧠 自动免费模型检测机制 ### 如何判断免费模型? 脚本通过以下规则自动检测 OpenCode 的真正免费模型: ```bash # 规则:opencode/ 前缀 + -free 后缀 opencode/deepseek-v4-flash-free # ✅ 真正免费 opencode/hy3-free # ✅ 真正免费 opencode/mimo-v2.5-free # ✅ 真正免费 opencode/nemotron-3-ultra-free # ✅ 真正免费 opencode/north-mini-code-free # ✅ 真正免费 opencode/big-pickle # ✅ 真正免费 # 以下走你自己的 API 密钥,不会误用 deepseek/deepseek-v4-flash # ✗ 你的 API 密钥 deepseek/deepseek-chat # ✗ 你的 API 密钥 ``` 每次运行都会重新检测可用模型,确保使用当时可用的免费模型。 ### 备用机制 如果 OpenCode 所有免费模型都不可用,自动返回给 Hermes 处理: ``` op "分析代码" ↓ 🔍 正在检测 opencode 免费模型... ❌ 没有可用的 opencode 免费模型 ↓ 自动返回 Hermes 处理 ``` ## 📁 文件结构 ``` opencodehermes/ ├── op.sh # 主命令(智能路由脚本) ├── hermes-opencode-wrapper.sh # OpenCode 包装器(自动检测免费模型) ├── OP_COMMAND.md # 使用文档 ├── OPENCODE_HERMES.md # 集成说明 ├── SKILL.md # Hermes Skill 文件 ├── op.sh.bak # 原始版本备份 └── README.md # 本文件 ``` ## 💰 费用对比 | 模型 | 费用 | 预计节省 | 说明 | |------|------|----------|------| | `opencode/deepseek-v4-flash-free` | **免费** | **100%** | OpenCode 官方免费 | | `deepseek/deepseek-v4-flash` | **你的 API 费用** | 0% | ❌ 不需要 | | `nvidia/deepseek-ai/deepseek-v4-flash` | **NVIDIA API 费用** | 0% | ❌ 不需要 | | Hermes `deepseek-v4-flash` | **¥2/M tokens** | 0% | ❌ 不需要 | > 对于日常以代码/技术任务为主的开发者,**85%–100% 的任务成本可被消除**(免费模型 + 缓存),结合紧凑模式和上下文压缩,整体 Token 成本预计可降低同等比例。 ## ❓ 常见问题 ### Q: op 用的是什么模型? A: 自动检测 OpenCode 官方免费模型,目前主要是 `opencode/deepseek-v4-flash-free`。 ### Q: 会用到我的 API 密钥吗? A: **不会**。脚本只选择 `opencode/*-free` 的模型,不走你的 API 密钥。 ### Q: Windows 怎么跑? A: 推荐用 Git Bash。或者用 WSL(Windows Subsystem for Linux)获得完全兼容的体验。 ### Q: 没有 opencode 能用吗? A: **可以。** 安装 `opencodehermes` 时会自动安装 `opencode` 作为依赖,无需手动单独安装。如果你已经全局安装了 `opencode`,也会优先复用。 ### Q: 所有免费模型都挂了怎么办? A: 脚本会自动返回给 Hermes 处理,不会丢失任务。 ### Q: 怎么指定用某个特定免费模型? A: 目前自动选择,如果你需要强制指定,可以直接用 opencode: ```bash opencode run "任务" --model opencode/hy3-free ``` ## 🔄 更新日志 ### v2.5.0 - ✅ 新增 Token 节省统计:每次执行后显示本次节省 tokens - ✅ 新增 `op stats` 命令:查看累计执行次数和节省费用 - ✅ 统计数据保存到 `~/.cache/opencodehermes/stats.json` ### v2.4.0 - ✅ 新增结果缓存:相同任务 24 小时内命中缓存,Token 消耗为 0 - ✅ 新增 `--no-cache` 参数:跳过缓存,强制重新请求 - ✅ 整体 Token 节省预期从 85%–98% 提升到 **85%–100%** ### v2.3.0 - ✅ 新增紧凑模式(默认开启):自动附加简洁回答指令,降低输出 token - ✅ 新增上下文压缩:管道输入长内容时自动提取关键结构 - ✅ 整体 Token 节省预期从 80%–95% 提升到 **85%–98%** ### v2.2.0 - ✅ 发布为 npm 包 `opencodehermes` - ✅ 自动安装 `opencode` 依赖,无需手动单独安装 - ✅ 支持 macOS / Linux / Windows (Git Bash / WSL) - ✅ 脚本自动解析本地或全局 `opencode` 二进制 ### v2.0.0 - ✅ 动态检测免费模型(不再硬编码) - ✅ 只使用真正的 opencode 免费模型 - ✅ 支持 --quiet 静默模式 - ✅ 性能优化:子进程减少 90% ### v1.0.0 - ✅ 智能路由(代码→OpenCode,查询→Hermes) - ✅ 自动模型切换 - ✅ 备用模型机制 ## 📄 许可证 MIT