Some checks failed
CI / install-check (push) Has been cancelled
CI / checks (bunx tsc -p tsconfig.json --noEmit false, bun, build) (push) Has been cancelled
CI / checks (pnpm build && pnpm lint, node, lint) (push) Has been cancelled
CI / checks (pnpm canvas:a2ui:bundle && bunx vitest run, bun, test) (push) Has been cancelled
CI / checks (pnpm canvas:a2ui:bundle && pnpm test, node, test) (push) Has been cancelled
CI / checks (pnpm format, node, format) (push) Has been cancelled
CI / checks (pnpm protocol:check, node, protocol) (push) Has been cancelled
CI / checks (pnpm tsgo, node, tsgo) (push) Has been cancelled
CI / secrets (push) Has been cancelled
CI / checks-windows (pnpm build && pnpm lint, node, build & lint) (push) Has been cancelled
CI / checks-windows (pnpm canvas:a2ui:bundle && pnpm test, node, test) (push) Has been cancelled
CI / checks-windows (pnpm protocol:check, node, protocol) (push) Has been cancelled
CI / checks-macos (pnpm test, test) (push) Has been cancelled
CI / macos-app (set -euo pipefail
for attempt in 1 2 3; do
if swift build --package-path apps/macos --configuration release; then
exit 0
fi
echo "swift build failed (attempt $attempt/3). Retrying…"
sleep $((attempt * 20))
done
exit 1
, build) (push) Has been cancelled
CI / macos-app (set -euo pipefail
for attempt in 1 2 3; do
if swift test --package-path apps/macos --parallel --enable-code-coverage --show-codecov-path; then
exit 0
fi
echo "swift test failed (attempt $attempt/3). Retrying…"
sleep $((attempt … (push) Has been cancelled
CI / macos-app (swiftlint --config .swiftlint.yml
swiftformat --lint apps/macos/Sources --config .swiftformat
, lint) (push) Has been cancelled
CI / ios (push) Has been cancelled
CI / android (./gradlew --no-daemon :app:assembleDebug, build) (push) Has been cancelled
CI / android (./gradlew --no-daemon :app:testDebugUnitTest, test) (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
- Support multiple Matrix accounts in parallel via sharedClients Map
- Account-specific client connections with proper isolation
- Each account gets its own SDK client instance
- Proper cleanup on stop/restart
- Resolves account from bindings configuration
This allows running multiple Matrix bots/accounts from a single OpenClaw instance,
each with their own rooms and credentials.
Configuration example:
matrix:
accounts:
main:
homeserver: matrix.example.com
userId: @bot1:example.com
secondary:
homeserver: matrix.other.com
userId: @bot2:other.com
Co-authored-by: Claudia <claudia.keller0001@gmail.com>
36 lines
895 B
JSON
36 lines
895 B
JSON
{
|
|
"name": "@openclaw/matrix",
|
|
"version": "2026.1.30",
|
|
"description": "OpenClaw Matrix channel plugin",
|
|
"type": "module",
|
|
"dependencies": {
|
|
"@matrix-org/matrix-sdk-crypto-nodejs": "^0.4.0",
|
|
"@vector-im/matrix-bot-sdk": "0.8.0-element.3",
|
|
"markdown-it": "14.1.0",
|
|
"music-metadata": "^11.11.1",
|
|
"zod": "^4.3.6"
|
|
},
|
|
"devDependencies": {
|
|
"openclaw": "workspace:*"
|
|
},
|
|
"openclaw": {
|
|
"extensions": [
|
|
"./index.ts"
|
|
],
|
|
"channel": {
|
|
"id": "matrix",
|
|
"label": "Matrix",
|
|
"selectionLabel": "Matrix (plugin)",
|
|
"docsPath": "/channels/matrix",
|
|
"docsLabel": "matrix",
|
|
"blurb": "open protocol; install the plugin to enable.",
|
|
"order": 70,
|
|
"quickstartAllowFrom": true
|
|
},
|
|
"install": {
|
|
"npmSpec": "@openclaw/matrix",
|
|
"localPath": "extensions/matrix",
|
|
"defaultChoice": "npm"
|
|
}
|
|
}
|
|
}
|