3行命令,将 opencode 与移动端飞书连接起来
使用 opencode 做事已经有大半年,今天尝试使用飞书连接opencode, 实现在手机上直接操控opencode在电脑本地做事。
我尝试了两种方式,目前已经成功跑通了其中一种。
方案一: 独立模式,使用 @neomei/opencode-feishu (推荐)
使用这种模式是最快的,我个人也更推荐使用这一个,只需要 3,4行代码,就能够实现opencode与飞书的连接。
安装
1 | npm install -g @neomei/opencode-feishu |
扫码自动配置
1 | opencode-feishu setup |
执行上述命令将会在屏幕上生成一个二维码,使用手机端飞书扫一扫,在选择的时候不要选择已有应用,直接选择新应用,以免之前的旧应用配置不对,比如权限没配好之类的。
启动
1 | opencode-feishu start |
成功启动之后,在手机飞书上打开刚刚新的应用,发送一条消息,在电脑端可以接收到并能够返回结果给移动端,说明配置Okay了。
如果在这一步报无法连接opencode错误,那么需要做两件事情。
- 使用
opencode serve开启opencode 服务模式,服务的地址一般是:http://127.0.0.1:4096,- 将上述地址填入
C:\Users\用户名\.config\opencode\feishu.json中的opencodeUrl字段中,并保存- 重新执行启动命令
后台常驻
1 | opencode-feishu start --daemon |
如果希望该服务常驻在后台,则使用上述命令替换。
方案二:使用opencode的飞书插件 opencode-feish
使用该方案需要手动去飞书开发者后台创建一个应用获取 appId 以及 appScret, 同时要将机器人添加到该应用中。并配置对应的权限。
下面是opencode的配置详细过程:
1. 创建自建应用
- 访问:https://open.feishu.cn/ → 开发者后台 → 创建「企业自建应用」
- 应用类型:机器人 → 发布为「企业内部应用」
2. 开启机器人能力
- 应用能力 → 机器人 → 开启「启用机器人」
- 机器人名称:OpenCode助手;头像自定义
3. 开通所需要的权限
申请权限(必须)
im:message(发消息)
im:message.p2p_msg:readonly(读私聊)
im:message.group_at_msg:readonly(读群 @)
im:message:send_as_bot(机器人身份发消息)
contact:user.base:readonly(用户信息)
4. 配置事件订阅(长连接)
事件订阅 → 选择「使用长连接接收事件」(不要 Webhook)
添加事件:im.message.receive_v1(接收消息)、im.chat.member.bot.added_v1(机器人进群)
5. 发布应用 & 获取凭证
- 版本管理 → 提交审核 → 发布(企业内部)
- 凭证与基础信息 → 复制:
- App ID(cli_xxxx…)
- App Secret(长串密钥)
6. 配置opencode
1).安装对应插件
1 | npm install -g opencode-feishu |
2). 配置启动该插件
编辑 ~/.config/opencode/opencode.json 文件
1 | { |
3).配置飞书凭证
新建 ~/.config/opencode/plugins/feishu.json文件,将在飞书后台的凭证信息填写进去
1 | { |
最后重启一下opencode。
遗憾的是目前该方案我还没跑通,暂时还未定位到问题,等后续跑通了再详细说说踩坑过程。