内容
# Hermes-oh-my-pi-mcp
一个小型的 Hermes 友好桥接器,用于 [oh-my-pi / omp](https://omp.sh/)。
本仓库现在包含了可用的 MCP 桥接器和针对 GitHub 读取者的完整集成说明。
## 本仓库提供的内容
它公开了两个 MCP 工具:
- `prompt` — 运行 `omp` 并一次性返回输出
- `doctor` — 验证 `omp` 和 `bun` 是否在本地可用
## 为什么存在该仓库
Hermes 与 MCP、插件和自定义工具配合良好。oh-my-pi 已经提供了一个强大的 CLI/运行时,因此该桥接器允许 Hermes 用户调用它,而无需重新实现代理堆栈。
推荐的操作模型是:
```text
用户 → Hermes → MCP 桥接器 → bun → omp → 结果
```
### Hermes vs MCP vs 技能
- **Hermes**:决定做什么
- **MCP 桥接器**:实际调用 `omp`
- **omp**:执行编码任务
- **技能**:教导 Hermes 何时优先使用 `omp` 以及何时需要回退
换句话说,技能是有帮助但非必需的;MCP 桥接器是执行层。
## 详细集成指南
请参阅完整说明:
- [docs/hermes-omp-integration.md](docs/hermes-omp-integration.md)
该指南涵盖:
- 调用结构
- 为什么 MCP 是合适的包装器
- 何时技能有帮助
- 示例 Hermes 配置
- 故障排除和使用策略
## 版本说明
- [RELEASE_NOTES.md](RELEASE_NOTES.md)
使用此文件查看每个已发布版本的更改。
## 要求
- Node.js 20+
- `omp` 已安装并在 `PATH` 中
- `bun` 已安装并在 `PATH` 中,因为 `omp` 基于 Bun
## 安装 oh-my-pi
```bash
npm install -g @oh-my-pi/pi-coding-agent
```
如果 `omp` 二进制文件失败并显示 `bun: No such file or directory`,请安装 Bun 1.3.14+ 并重试。
## 本地开发
```bash
npm install
npm test
npm run doctor
```
## 作为 MCP 服务器运行
```bash
npx hermes-oh-my-pi-mcp
```
或从源代码:
```bash
node ./src/index.js
```
## Hermes 配置示例
将以下内容添加到 Hermes MCP 配置中:
```json
{
"mcpServers": {
"oh-my-pi": {
"command": "npx",
"args": ["-y", "hermes-oh-my-pi-mcp"]
}
}
}
```
如果您想将 Hermes 指向本地检出:
```json
{
"mcpServers": {
"oh-my-pi": {
"command": "node",
"args": ["/absolute/path/to/hermes-oh-my-pi-mcp/src/index.js"]
}
}
}
```
## 验证本地设置
在此机器上,Hermes 实际上连接到 `oh-my-pi`,MCP 服务器已启用。
工作注册如下所示:
```bash
hermes mcp add oh-my-pi \
--command node \
--args /home/ubuntu/oh-my-pi-hermes-mcp/src/index.js \
--env OMP_BIN=/home/ubuntu/.local/share/mise/installs/node/24.16.0/lib/node_modules/@oh-my-pi/pi-coding-agent/dist/cli.js \
--env BUN_BIN=/home/ubuntu/.bun/bin/bun
```
该设置已通过以下方式验证:
```bash
hermes mcp test oh-my-pi
```
如果您的机器使用不同的路径,请保持相同的形状,但将绝对值替换为自己的 `OMP_BIN` 和 `BUN_BIN` 位置。
## 建议的技能策略
如果您还希望 Hermes *优先* 使用 `omp` 进行编码请求,请添加一个小型技能,规定:
1. 代码生成/重构/分析请求应首先考虑 `omp`。
2. 如果环境看起来已损坏,请先运行 `doctor`。
3. 如果 `omp` 输出不足,Hermes 应使用其自己的推理和工具进行补充。
该技能对于桥接器的工作不是必需的;它只是使使用模式保持一致。
## 备注
- 桥接器以一次性 JSON 友好模式运行 `omp` 并返回文本响应。
- 如果您的二进制文件不是 `omp`,请设置 `OMP_BIN`。
- 如果 Bun 安装在自定义位置,请设置 `BUN_BIN`。
- 长期架构和使用说明位于 `docs/hermes-omp-integration.md`。