Skip to content

ArchAIHarness/feishu-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArchAIHarness Feishu Bot

OpenCode Node.js Feishu License: MIT

Feishu-native OpenCode assistant runtime.

feishu-bot connects Feishu messages to OpenCode sessions through an OpenCode plugin and a project skill. It lets a Feishu bot receive private or group messages, inject them into OpenCode, and send replies back through Feishu tools.

What It Provides

  • Feishu WebSocket event bridge
  • OpenCode plugin tools for sending messages, searching users, and listing chats
  • Project skill feishu-bot with strict usage rules
  • Group reply support with automatic @ resolution and quote reply
  • Docker runtime for OpenCode Web mode
  • Secret-safe example configuration

Repository Layout

.
├── AGENTS.md
├── Dockerfile
├── README.md
└── .opencode
    ├── feishu.yaml.example
    ├── opencode.json
    ├── package.json
    ├── package-lock.json
    ├── plugins/feishu-bot.js
    ├── reminders/
    └── skills/feishu-bot/SKILL.md

Quick Start

cd .opencode
npm install
cp feishu.yaml.example feishu.yaml

Edit .opencode/feishu.yaml with your Feishu app credentials:

app:
  app_id: cli_xxxxxxxxxxxxxxxx
  app_secret: your-feishu-app-secret

Then start OpenCode from the repository root:

opencode web --port 4096 --hostname 0.0.0.0

Restart OpenCode after changing .opencode/opencode.json, plugin files, skills, or Feishu config.

Docker

The Dockerfile copies feishu.yaml.example as a placeholder. For real deployments, mount the actual config at runtime:

docker run --rm -p 4096:4096 \
  -v "$PWD/.opencode/feishu.yaml:/app/.opencode/feishu.yaml:ro" \
  archaiharness/feishu-bot

Tools

Tool Purpose
feishu_send_message Send private or group messages
feishu_search_user Search users and return open_id
feishu_list_chats List bot-visible group chats
feishu_list_chat_members List members of a chat

Security

  • .opencode/feishu.yaml is ignored by git.
  • Do not commit Feishu app_secret, tokens, or private chat/user data.
  • Use .opencode/feishu.yaml.example as the only committed config template.

License

MIT


Engineered by Architects · Empowered by AI

Releases

No releases published

Packages

 
 
 

Contributors