惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
月光博客
月光博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 聂微东
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
美团技术团队
宝玉的分享
宝玉的分享
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans
Jina AI
Jina AI
D
Docker
Last Week in AI
Last Week in AI
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
fix(plugins): catalog externalized npm installs · opencla...
vincentkoc · 2026-05-03 · via Recent Commits to openclaw:main

@@ -47,6 +47,357 @@

4747

"expectedIntegrity": "sha512-lYmBrU71ox3v7dzRqaltvzTXPcMjjgYrNqpBj5HIBkXgEFkXRRG8wplXg9Fub41/FjsSPn3WAbYpdTc+k+jsHg=="

4848

}

4949

}

50+

},

51+

{

52+

"name": "@openclaw/bluebubbles",

53+

"description": "OpenClaw BlueBubbles channel plugin",

54+

"source": "official",

55+

"kind": "channel",

56+

"openclaw": {

57+

"channel": {

58+

"id": "bluebubbles",

59+

"label": "BlueBubbles",

60+

"selectionLabel": "BlueBubbles (macOS app)",

61+

"detailLabel": "BlueBubbles",

62+

"docsPath": "/channels/bluebubbles",

63+

"docsLabel": "bluebubbles",

64+

"blurb": "iMessage via the BlueBubbles mac app + REST API.",

65+

"aliases": ["bb"],

66+

"preferOver": ["imessage"],

67+

"systemImage": "bubble.left.and.text.bubble.right",

68+

"order": 75

69+

},

70+

"install": {

71+

"npmSpec": "@openclaw/bluebubbles",

72+

"defaultChoice": "npm",

73+

"minHostVersion": ">=2026.4.10"

74+

}

75+

}

76+

},

77+

{

78+

"name": "@openclaw/discord",

79+

"description": "OpenClaw Discord channel plugin",

80+

"source": "official",

81+

"kind": "channel",

82+

"openclaw": {

83+

"channel": {

84+

"id": "discord",

85+

"label": "Discord",

86+

"selectionLabel": "Discord (Bot API)",

87+

"detailLabel": "Discord Bot",

88+

"docsPath": "/channels/discord",

89+

"docsLabel": "discord",

90+

"blurb": "very well supported right now.",

91+

"systemImage": "bubble.left.and.bubble.right",

92+

"markdownCapable": true,

93+

"preferSessionLookupForAnnounceTarget": true

94+

},

95+

"install": {

96+

"npmSpec": "@openclaw/discord",

97+

"defaultChoice": "npm",

98+

"minHostVersion": ">=2026.4.10"

99+

}

100+

}

101+

},

102+

{

103+

"name": "@openclaw/feishu",

104+

"description": "OpenClaw Feishu/Lark channel plugin",

105+

"source": "official",

106+

"kind": "channel",

107+

"openclaw": {

108+

"channel": {

109+

"id": "feishu",

110+

"label": "Feishu",

111+

"selectionLabel": "Feishu/Lark (飞书)",

112+

"docsPath": "/channels/feishu",

113+

"docsLabel": "feishu",

114+

"blurb": "飞书/Lark enterprise messaging with doc/wiki/drive tools.",

115+

"aliases": ["lark"],

116+

"order": 35,

117+

"quickstartAllowFrom": true

118+

},

119+

"install": {

120+

"npmSpec": "@openclaw/feishu",

121+

"defaultChoice": "npm",

122+

"minHostVersion": ">=2026.4.25"

123+

}

124+

}

125+

},

126+

{

127+

"name": "@openclaw/matrix",

128+

"description": "OpenClaw Matrix channel plugin",

129+

"source": "official",

130+

"kind": "channel",

131+

"openclaw": {

132+

"channel": {

133+

"id": "matrix",

134+

"label": "Matrix",

135+

"selectionLabel": "Matrix (plugin)",

136+

"docsPath": "/channels/matrix",

137+

"docsLabel": "matrix",

138+

"blurb": "open protocol; install the plugin to enable.",

139+

"order": 70,

140+

"quickstartAllowFrom": true

141+

},

142+

"install": {

143+

"npmSpec": "@openclaw/matrix",

144+

"defaultChoice": "npm",

145+

"minHostVersion": ">=2026.4.10",

146+

"allowInvalidConfigRecovery": true

147+

}

148+

}

149+

},

150+

{

151+

"name": "@openclaw/mattermost",

152+

"description": "OpenClaw Mattermost channel plugin",

153+

"source": "official",

154+

"kind": "channel",

155+

"openclaw": {

156+

"channel": {

157+

"id": "mattermost",

158+

"label": "Mattermost",

159+

"selectionLabel": "Mattermost (plugin)",

160+

"docsPath": "/channels/mattermost",

161+

"docsLabel": "mattermost",

162+

"blurb": "self-hosted Slack-style chat; install the plugin to enable.",

163+

"order": 65

164+

},

165+

"install": {

166+

"npmSpec": "@openclaw/mattermost",

167+

"defaultChoice": "npm",

168+

"minHostVersion": ">=2026.4.10"

169+

}

170+

}

171+

},

172+

{

173+

"name": "@openclaw/msteams",

174+

"description": "OpenClaw Microsoft Teams channel plugin",

175+

"source": "official",

176+

"kind": "channel",

177+

"openclaw": {

178+

"channel": {

179+

"id": "msteams",

180+

"label": "Microsoft Teams",

181+

"selectionLabel": "Microsoft Teams (Teams SDK)",

182+

"docsPath": "/channels/msteams",

183+

"docsLabel": "msteams",

184+

"blurb": "Teams SDK; enterprise support.",

185+

"aliases": ["teams"],

186+

"order": 60

187+

},

188+

"install": {

189+

"npmSpec": "@openclaw/msteams",

190+

"defaultChoice": "npm",

191+

"minHostVersion": ">=2026.4.10"

192+

}

193+

}

194+

},

195+

{

196+

"name": "@openclaw/nextcloud-talk",

197+

"description": "OpenClaw Nextcloud Talk channel plugin",

198+

"source": "official",

199+

"kind": "channel",

200+

"openclaw": {

201+

"channel": {

202+

"id": "nextcloud-talk",

203+

"label": "Nextcloud Talk",

204+

"selectionLabel": "Nextcloud Talk (self-hosted)",

205+

"docsPath": "/channels/nextcloud-talk",

206+

"docsLabel": "nextcloud-talk",

207+

"blurb": "Self-hosted chat via Nextcloud Talk webhook bots.",

208+

"aliases": ["nc-talk", "nc"],

209+

"order": 65,

210+

"quickstartAllowFrom": true

211+

},

212+

"install": {

213+

"npmSpec": "@openclaw/nextcloud-talk",

214+

"defaultChoice": "npm",

215+

"minHostVersion": ">=2026.4.10"

216+

}

217+

}

218+

},

219+

{

220+

"name": "@openclaw/nostr",

221+

"description": "OpenClaw Nostr channel plugin for NIP-04 encrypted DMs",

222+

"source": "official",

223+

"kind": "channel",

224+

"openclaw": {

225+

"channel": {

226+

"id": "nostr",

227+

"label": "Nostr",

228+

"selectionLabel": "Nostr (NIP-04 DMs)",

229+

"docsPath": "/channels/nostr",

230+

"docsLabel": "nostr",

231+

"blurb": "Decentralized protocol; encrypted DMs via NIP-04.",

232+

"order": 55,

233+

"quickstartAllowFrom": true

234+

},

235+

"install": {

236+

"npmSpec": "@openclaw/nostr",

237+

"defaultChoice": "npm",

238+

"minHostVersion": ">=2026.4.10"

239+

}

240+

}

241+

},

242+

{

243+

"name": "@openclaw/qqbot",

244+

"description": "OpenClaw QQ Bot channel plugin",

245+

"source": "official",

246+

"kind": "channel",

247+

"openclaw": {

248+

"channel": {

249+

"id": "qqbot",

250+

"label": "QQ Bot",

251+

"selectionLabel": "QQ Bot (Official API)",

252+

"detailLabel": "QQ Bot",

253+

"docsPath": "/channels/qqbot",

254+

"docsLabel": "qqbot",

255+

"blurb": "connect to QQ via official QQ Bot API with group chat and direct message support.",

256+

"systemImage": "bubble.left.and.bubble.right"

257+

},

258+

"install": {

259+

"npmSpec": "@openclaw/qqbot",

260+

"defaultChoice": "npm",

261+

"minHostVersion": ">=2026.4.10"

262+

}

263+

}

264+

},

265+

{

266+

"name": "@openclaw/synology-chat",

267+

"description": "Synology Chat channel plugin for OpenClaw",

268+

"source": "official",

269+

"kind": "channel",

270+

"openclaw": {

271+

"channel": {

272+

"id": "synology-chat",

273+

"label": "Synology Chat",

274+

"selectionLabel": "Synology Chat (Webhook)",

275+

"docsPath": "/channels/synology-chat",

276+

"docsLabel": "synology-chat",

277+

"blurb": "Connect your Synology NAS Chat to OpenClaw with full agent capabilities.",

278+

"order": 90

279+

},

280+

"install": {

281+

"npmSpec": "@openclaw/synology-chat",

282+

"defaultChoice": "npm",

283+

"minHostVersion": ">=2026.4.10"

284+

}

285+

}

286+

},

287+

{

288+

"name": "@openclaw/tlon",

289+

"description": "OpenClaw Tlon/Urbit channel plugin",

290+

"source": "official",

291+

"kind": "channel",

292+

"openclaw": {

293+

"channel": {

294+

"id": "tlon",

295+

"label": "Tlon",

296+

"selectionLabel": "Tlon (Urbit)",

297+

"docsPath": "/channels/tlon",

298+

"docsLabel": "tlon",

299+

"blurb": "decentralized messaging on Urbit; install the plugin to enable.",

300+

"order": 90,

301+

"quickstartAllowFrom": true

302+

},

303+

"install": {

304+

"npmSpec": "@openclaw/tlon",

305+

"defaultChoice": "npm",

306+

"minHostVersion": ">=2026.4.10"

307+

}

308+

}

309+

},

310+

{

311+

"name": "@openclaw/twitch",

312+

"description": "OpenClaw Twitch channel plugin",

313+

"source": "official",

314+

"kind": "channel",

315+

"openclaw": {

316+

"channel": {

317+

"id": "twitch",

318+

"label": "Twitch",

319+

"selectionLabel": "Twitch (Chat)",

320+

"docsPath": "/channels/twitch",

321+

"blurb": "Twitch chat integration",

322+

"aliases": ["twitch-chat"]

323+

},

324+

"install": {

325+

"npmSpec": "@openclaw/twitch",

326+

"defaultChoice": "npm",

327+

"minHostVersion": ">=2026.4.10"

328+

}

329+

}

330+

},

331+

{

332+

"name": "@openclaw/whatsapp",

333+

"description": "OpenClaw WhatsApp channel plugin",

334+

"source": "official",

335+

"kind": "channel",

336+

"openclaw": {

337+

"channel": {

338+

"id": "whatsapp",

339+

"label": "WhatsApp",

340+

"selectionLabel": "WhatsApp (QR link)",

341+

"detailLabel": "WhatsApp Web",

342+

"docsPath": "/channels/whatsapp",

343+

"docsLabel": "whatsapp",

344+

"blurb": "works with your own number; recommend a separate phone + eSIM.",

345+

"systemImage": "message"

346+

},

347+

"install": {

348+

"npmSpec": "@openclaw/whatsapp",

349+

"defaultChoice": "npm",

350+

"minHostVersion": ">=2026.4.25"

351+

}

352+

}

353+

},

354+

{

355+

"name": "@openclaw/zalo",

356+

"description": "OpenClaw Zalo channel plugin",

357+

"source": "official",

358+

"kind": "channel",

359+

"openclaw": {

360+

"channel": {

361+

"id": "zalo",

362+

"label": "Zalo",

363+

"selectionLabel": "Zalo (Bot API)",

364+

"docsPath": "/channels/zalo",

365+

"docsLabel": "zalo",

366+

"blurb": "Vietnam-focused messaging platform with Bot API.",

367+

"aliases": ["zl"],

368+

"order": 80,

369+

"quickstartAllowFrom": true

370+

},

371+

"install": {

372+

"npmSpec": "@openclaw/zalo",

373+

"defaultChoice": "npm",

374+

"minHostVersion": ">=2026.4.10"

375+

}

376+

}

377+

},

378+

{

379+

"name": "@openclaw/zalouser",

380+

"description": "OpenClaw Zalo Personal Account plugin via native zca-js integration",

381+

"source": "official",

382+

"kind": "channel",

383+

"openclaw": {

384+

"channel": {

385+

"id": "zalouser",

386+

"label": "Zalo Personal",

387+

"selectionLabel": "Zalo (Personal Account)",

388+

"docsPath": "/channels/zalouser",

389+

"docsLabel": "zalouser",

390+

"blurb": "Zalo personal account via QR code login.",

391+

"aliases": ["zlu"],

392+

"order": 85,

393+

"quickstartAllowFrom": false

394+

},

395+

"install": {

396+

"npmSpec": "@openclaw/zalouser",

397+

"defaultChoice": "npm",

398+

"minHostVersion": ">=2026.4.10"

399+

}

400+

}

50401

}

51402

]

52403

}