mirror of https://github.com/openclaw/openclaw.git
docs: update docs for unreleased channel and gateway changes
Cover Teams member-info action, Teams/Matrix sender-allowlist context filtering, macOS MagicDNS discovery preference, and trusted-proxy mixed token config hardening.
This commit is contained in:
parent
e039c72a76
commit
5c9408d3ca
|
|
@ -587,6 +587,7 @@ Current behavior:
|
|||
- Matrix room history is pending-only: OpenClaw buffers room messages that did not trigger a reply yet, then snapshots that window when a mention or other trigger arrives.
|
||||
- The current trigger message is not included in `InboundHistory`; it stays in the main inbound body for that turn.
|
||||
- Retries of the same Matrix event reuse the original history snapshot instead of drifting forward to newer room messages.
|
||||
- Fetched room context (including reply and thread context lookups) is filtered by sender allowlists (`groupAllowFrom`), so non-allowlisted messages are excluded from agent context.
|
||||
|
||||
## DM and room policy example
|
||||
|
||||
|
|
|
|||
|
|
@ -286,10 +286,22 @@ This is often easier than hand-editing JSON manifests.
|
|||
6. **Run the gateway**
|
||||
- The Teams channel starts automatically when the plugin is installed and `msteams` config exists with credentials.
|
||||
|
||||
## Member info action
|
||||
|
||||
OpenClaw exposes a Graph-backed `member-info` action for Microsoft Teams so agents and automations can resolve channel member details (display name, email, role) directly from Microsoft Graph.
|
||||
|
||||
Requirements:
|
||||
|
||||
- `Member.Read.Group` RSC permission (already in the recommended manifest)
|
||||
- For cross-team lookups: `User.Read.All` Graph Application permission with admin consent
|
||||
|
||||
The action is gated by `channels.msteams.actions.memberInfo` (default: enabled when Graph credentials are available).
|
||||
|
||||
## History context
|
||||
|
||||
- `channels.msteams.historyLimit` controls how many recent channel/group messages are wrapped into the prompt.
|
||||
- Falls back to `messages.groupChat.historyLimit`. Set `0` to disable (default 50).
|
||||
- Fetched thread history is filtered by sender allowlists (`allowFrom` / `groupAllowFrom`), so thread context seeding only includes messages from allowed senders.
|
||||
- DM history can be limited with `channels.msteams.dmHistoryLimit` (user turns). Per-user overrides: `channels.msteams.dms["<user_id>"].historyLimit`.
|
||||
|
||||
## Current Teams RSC Permissions (Manifest)
|
||||
|
|
@ -476,6 +488,7 @@ Key settings (see `/gateway/configuration` for shared channel patterns):
|
|||
- `channels.msteams.teams.<teamId>.channels.<conversationId>.toolsBySender`: per-channel per-sender tool policy overrides (`"*"` wildcard supported).
|
||||
- `toolsBySender` keys should use explicit prefixes:
|
||||
`id:`, `e164:`, `username:`, `name:` (legacy unprefixed keys still map to `id:` only).
|
||||
- `channels.msteams.actions.memberInfo`: enable or disable the Graph-backed member info action (default: enabled when Graph credentials are available).
|
||||
- `channels.msteams.sharePointSiteId`: SharePoint site ID for file uploads in group chats/channels (see [Sending files in group chats](#sending-files-in-group-chats)).
|
||||
|
||||
## Routing & Sessions
|
||||
|
|
|
|||
|
|
@ -93,6 +93,8 @@ For London/Vienna style setups, Bonjour won’t help. The recommended “direct
|
|||
|
||||
If the gateway can detect it is running under Tailscale, it publishes `tailnetDns` as an optional hint for clients (including wide-area beacons).
|
||||
|
||||
The macOS app now prefers MagicDNS names over raw Tailscale IPs for gateway discovery. This improves reliability when tailnet IPs change (for example after node restarts or CGNAT reassignment), because MagicDNS names resolve to the current IP automatically.
|
||||
|
||||
### 3) Manual / SSH target
|
||||
|
||||
When there is no direct route (or direct is disabled), clients can always connect via SSH by forwarding the loopback gateway port.
|
||||
|
|
|
|||
|
|
@ -254,6 +254,17 @@ location / {
|
|||
}
|
||||
```
|
||||
|
||||
## Mixed token configuration
|
||||
|
||||
OpenClaw rejects ambiguous configurations where both a `gateway.auth.token` (or `OPENCLAW_GATEWAY_TOKEN`) and `trusted-proxy` mode are active at the same time. Mixed token configs can cause loopback requests to silently authenticate on the wrong auth path.
|
||||
|
||||
If you see a `mixed_trusted_proxy_token` error on startup:
|
||||
|
||||
- Remove the shared token when using trusted-proxy mode, or
|
||||
- Switch `gateway.auth.mode` to `"token"` if you intend token-based auth.
|
||||
|
||||
Loopback trusted-proxy auth also fails closed: same-host callers must supply the configured identity headers through a trusted proxy instead of being silently authenticated.
|
||||
|
||||
## Security Checklist
|
||||
|
||||
Before enabling trusted-proxy auth, verify:
|
||||
|
|
@ -263,6 +274,7 @@ Before enabling trusted-proxy auth, verify:
|
|||
- [ ] **Proxy strips headers**: Your proxy overwrites (not appends) `x-forwarded-*` headers from clients
|
||||
- [ ] **TLS termination**: Your proxy handles TLS; users connect via HTTPS
|
||||
- [ ] **allowUsers is set** (recommended): Restrict to known users rather than allowing anyone authenticated
|
||||
- [ ] **No mixed token config**: Do not set both `gateway.auth.token` and `gateway.auth.mode: "trusted-proxy"`
|
||||
|
||||
## Security Audit
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ capabilities to the agent as a node.
|
|||
a local process.
|
||||
The app starts the local **node host service** so the remote Gateway can reach this Mac.
|
||||
The app does not spawn the Gateway as a child process.
|
||||
Gateway discovery now prefers Tailscale MagicDNS names over raw tailnet IPs,
|
||||
so the Mac app recovers more reliably when tailnet IPs change.
|
||||
|
||||
## Launchd control
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue