openclaw-misskey-channel
v0.1.5
Published
Misskey channel plugin for OpenClaw.
Maintainers
Readme
OpenClaw Misskey Channel
OpenClaw から Misskey を channel plugin として扱うための外部プラグインです。Misskey のメンション、返信、Misskey ネイティブチャンネル投稿を OpenClaw の inbound message として受け取り、OpenClaw 側から Misskey note、reply、channel post を送信できます。
必要環境
- Node.js 24 以上
- pnpm 10 以上
- OpenClaw
2026.4.22以上 - Misskey bot 用アクセストークン
Misskey トークンには、少なくとも note 作成、reaction 作成、アカウント確認、必要に応じて drive file upload と channel/timeline 参照に必要な権限を付与してください。
インストール
公開済み package を使う場合:
openclaw plugins install @uboar/openclaw-misskey-channelローカルで試す場合:
pnpm install
pnpm build
openclaw plugins install /path/to/openclaw-misskey-channel設定
設定は channels.misskey に書きます。host と token は必須です。host は https:// や /api を含めず、Misskey のホスト名だけを書くのが基本です。
単一アカウントの例:
{
"channels": {
"misskey": {
"host": "misskey.example",
"token": "MISSKEY_API_TOKEN",
"allowFrom": ["@[email protected]"],
"nativeChannels": [
{ "id": "9q...", "requireMention": true }
]
}
}
}複数アカウントの例:
{
"channels": {
"misskey": {
"defaultAccount": "main",
"allowFrom": ["@[email protected]"],
"accounts": {
"main": {
"host": "misskey.example",
"token": "MISSKEY_API_TOKEN"
},
"sub": {
"host": "sub.example",
"token": "MISSKEY_API_TOKEN_FOR_SUB"
}
}
}
}
}host と token は、デフォルトアカウントに限り環境変数でも指定できます。
export MISSKEY_HOST=misskey.example
export MISSKEY_TOKEN=MISSKEY_API_TOKEN主な設定項目:
allowFrom: inbound を許可する Misskey ユーザー。@user@hostまたはuser:<userId>を指定します。正規表現は/^@user@.+$/またはregex:^user:alice-[0-9]+$の形式で指定できます。allowUserIds:allowFromに追加する Misskey user id の配列です。allowAccts:allowFromに追加する acct の配列です。dmSecurity:allow、allowlist、deny。既定はallowlistです。nativeChannels: 購読する Misskey ネイティブチャンネルです。requireMention: native channel 投稿で bot 宛メンションを要求するかどうかです。既定はtrueです。visibility: 送信 note の既定公開範囲です。public、home、followers、specifiedを指定できます。localOnly: 送信 note を local only にするかどうかです。
送信先
OpenClaw の message send から使う target は次の形式です。
channel:<misskeyChannelId>: Misskey ネイティブチャンネルへ投稿します。note:<noteId>: 指定 note への返信として投稿します。user:<userId>:specifiedvisibility で指定ユーザー宛に投稿します。user:@name@host: 本文先頭に acct mention を付けて投稿します。
例:
openclaw message send --channel misskey --target channel:9q... --text "こんにちは"
openclaw message send --channel misskey --target note:abc123 --text "返信です"
openclaw message send --channel misskey --target user:@[email protected] --text "確認お願いします"動作方法
起動時にプラグインは POST /api/i で Misskey token を検証します。送信時は POST /api/notes/create を使い、添付ファイルがある場合は POST /api/drive/files/create でアップロード済み file id を扱います。
受信は Misskey Streaming API を使います。
wss://<host>/streaming?i=<token>に接続します。mainchannel を購読し、mention、reply、関連するnotificationを inbound message に変換します。nativeChannelsに指定された Misskey channel はchannelstream として購読します。- native channel 投稿は、
requireMention: trueの場合 bot 宛メンションがある投稿だけを処理します。 - OpenClaw の
messages.ackReaction/messages.ackReactionScopeに従い、処理対象の note にはPOST /api/notes/reactions/createで ack reaction を付けます。 - bot 自身の投稿は self echo として無視します。
- WebSocket 切断後は再接続し、購読を復元します。
開発
pnpm install
pnpm typecheck
pnpm test
pnpm buildpackage に含まれるファイルを確認する場合:
pnpm pack --dry-runリリース手順
- 変更内容を確認します。
pnpm typecheck
pnpm test
pnpm build
pnpm pack --dry-runpackage.jsonのversionを更新します。
pnpm version patch --no-git-tag-version必要に応じて patch を minor または major に変更します。
- もう一度検証します。
pnpm typecheck
pnpm test
pnpm build
pnpm pack --dry-run- npm に公開します。
npm publish --access public- 公開後、OpenClaw 側でインストール確認します。
openclaw plugins install openclaw-misskey-channel
openclaw plugins list- Misskey bot token を設定した状態で gateway を起動し、次を確認します。
- bot 宛メンションが OpenClaw に inbound として届くこと
channel:<id>へ送信すると Misskey channel に投稿されることnote:<id>へ送信すると返信として投稿されること
v1 の範囲
v1 は Misskey のメンション、返信、native channel 投稿、note 送信、reply、media file id 連携を対象にしています。Misskey webhook mode、approval UI、編集/削除/reaction の完全同期、allowlist 以外の federated account discovery は対象外です。
