# 安装指南 本文档详细说明如何安装和配置 hermes-feishu 插件。 ## 前置条件 - **Python 3.10+** - **Hermes Agent** 已安装并正常运行 - **飞书开放平台** 账号 ## 第一步:创建飞书应用 ### 1.1 登录飞书开放平台 访问 [飞书开放平台](https://open.feishu.cn/app) 并登录。 ### 1.2 创建应用 1. 点击「创建企业自建应用」 2. 填写应用名称(如 `Hermes AI`)和描述 3. 记录 **App ID** 和 **App Secret**(在「凭证与基础信息」页面) ### 1.3 配置权限 在「权限管理」页面,搜索并开通以下权限: | 权限 | 权限标识 | | --- | --- | | 获取与发送单聊、群组消息 | `im:message` | | 以应用的身份发消息 | `im:message:send_as_bot` | | 读取消息中的消息体内容 | `im:message:readonly` | ### 1.4 发布应用 1. 在「版本管理与发布」页面创建版本 2. 提交审核(企业内部应用通常自动通过) 3. 确认发布 ## 第二步:配置事件订阅 如果你的 Hermes 飞书通道使用 Webhook 模式接收消息,确保事件订阅配置正确: 1. 在飞书应用「事件与回调」页面,配置请求地址 (Request URL) 指向 Hermes Gateway 2. 添加事件订阅:`接收消息 im.message.receive_v1` ## 第三步:安装插件 ```bash hermes plugins install arkseek/hermes-feishu ``` Hermes 会自动克隆仓库到 `~/.hermes/plugins/hermes-feishu/` 并加载插件。
其他安装方式(开发模式) ### 从源码安装(开发模式) ```bash git clone https://github.com/arkseek/hermes-feishu.git cd hermes-feishu pip install -e . ```
## 第四步:配置环境变量 ### 4.1 获取凭证 在飞书开放平台 → 应用管理 → 凭证与基础信息 中获取: - **App ID**(格式如 `cli_xxxxxxxxxxxx`) - **App Secret** ### 4.2 配置 Hermes 环境变量(必须) **⚠️ 重要:凭证必须配置在 `~/.hermes/.env` 文件中,否则插件工具不会加载。** 在 `~/.hermes/.env` 中添加: ```env FEISHU_APP_ID=cli_xxxxxxxxxxxx FEISHU_APP_SECRET=xxxxxxxxxxxxxxxxxxxxxxxx ``` Hermes 启动时会自动加载 `.env` 文件中的变量。插件通过检查这些环境变量来判断凭证是否已配置。
其他配置方式(不推荐) 也可以将环境变量配置在 shell 配置文件中: **Linux/macOS(~/.bashrc 或 ~/.zshrc):** ```bash export FEISHU_APP_ID="cli_xxxxxxxxxxxx" export FEISHU_APP_SECRET="xxxxxxxxxxxxxxxxxxxxxxxx" ``` **Windows(PowerShell):** ```powershell [System.Environment]::SetEnvironmentVariable('FEISHU_APP_ID', 'cli_xxxxxxxxxxxx', 'User') [System.Environment]::SetEnvironmentVariable('FEISHU_APP_SECRET', 'xxxxxxxxxxxxxxxxxxxxxxxx', 'User') ```
## 第五步:启动验证 ### 5.1 重启 Hermes ```bash hermes gateway restart ``` ### 5.2 验证插件加载 在飞书中向机器人发送: ``` /plugins ``` 确认输出中包含 `hermes-feishu` 插件,且 `send_feishu_card` 和 `send_feishu_table` 工具可用。 ### 5.3 测试表格渲染 在飞书中发送: ``` 帮我用表格展示一周天气数据 ``` LLM 应该会调用 `send_feishu_table` 或 `send_feishu_card` 工具,你会在飞书中看到带颜色的卡片消息,表格使用飞书 Table 组件渲染。 ## 故障排查 ### 插件未加载 **症状**:`/plugins` 不显示 hermes-feishu **排查**: 1. 确认插件已安装:`ls ~/.hermes/plugins/hermes-feishu/` 2. 确认 `plugin.yaml` 存在且格式正确 3. 确认依赖已安装(lark-oapi),可查看 Hermes 日志 ### 工具不可用 **症状**:LLM 不使用卡片工具,直接输出 Markdown 表格 **排查**: 1. **检查凭证配置**:`cat ~/.hermes/.env | grep FEISHU` — 确保配置在 `~/.hermes/.env` 中 2. **确认环境变量生效**:启动 Hermes 后查看日志,搜索 `FEISHU_APP_ID` 3. 查看 Hermes 日志中是否有插件相关错误 4. 确认平台配置为 `feishu`(不是 `lark` 或其他) 5. **重启 Hermes**:`hermes gateway restart` 确保 `.env` 被重新加载 ### 发送失败 **症状**:工具被调用但消息未发送 **排查**: 1. 确认 App ID 和 Secret 正确 2. 确认应用已发布 3. 确认应用有 `im:message` 权限 4. 确认机器人已添加到目标群聊 5. 查看 Hermes 日志中的具体错误信息 ### 表格不显示 **症状**:收到卡片但没有表格 **排查**: 1. 确认 Markdown 表格语法正确(需要表头行 + 分隔行 + 数据行) 2. 飞书 Table 组件有列数限制(建议不超过 20 列) 3. 检查卡片 JSON 是否正确构建(启用 debug 日志查看) ### 常见错误信息 | 错误 | 原因 | 解决方案 | | --- | --- | --- | | `Feishu credentials not configured` | 环境变量未设置 | 设置 FEISHU_APP_ID 和 FEISHU_APP_SECRET | | `lark-oapi package not installed` | 依赖缺失 | `pip install lark-oapi` 或检查 Hermes 插件依赖安装 | | `Feishu API error: code=99991668` | 机器人不在群聊中 | 将机器人添加到群聊 | | `Feishu API error: code=99991663` | 消息发送频率过高 | 等待后重试 | | `Feishu API error: code=99991672` | 应用权限不足 | 在飞书开放平台开通 im:message 权限 | ## 卸载 ```bash hermes plugins uninstall hermes-feishu ``` 然后运行 `hermes gateway restart` 即可。