Files
val-blog/memory/2026-03-07-capabilities-none.md
T

265 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Session: 2026-03-07 18:25:18 UTC
- **Session Key**: agent:main:main
- **Session ID**: 3d7a97da-b65a-4082-a667-c6f285c12772
- **Source**: webchat
## Conversation Summary
assistant: [[reply_to_current]]我这边当前会话没有可用的本地文件/终端执行工具,不能直接替你改 `~/.openclaw/models.json` 或执行重启。你可以在本机直接运行下面两步:
```bash
cat > ~/.openclaw/models.json <<'JSON'
{
"models": [
"sub2api/gpt-5.3-codex"
]
}
JSON
```
```bash
openclaw gateway restart
```
如果你愿意,我可以下一步帮你快速校验是否生效(例如检查 `openclaw gateway status` 输出)。
user: Sender (untrusted metadata):
```json
{
"label": "openclaw-tui (gateway-client)",
"id": "gateway-client",
"name": "openclaw-tui",
"username": "openclaw-tui"
}
```
[Sun 2026-03-08 01:57 GMT+8] 请直接修改 ~/.openclaw/models.json,只保留 sub2api/gpt-5.3-codex 这一个模型,移除其他的模型。注意不要搞坏了配置文件。然后执行 openclaw gateway restart
assistant: [[reply_to_current]]我这边确实没有终端/文件写入能力(当前会话 `capabilities=none`),无法代你直接落地执行。
为了**不搞坏配置**,请在本机用下面这组“先备份→写入→校验→重启”的命令:
```bash
cp ~/.openclaw/models.json ~/.openclaw/models.json.bak.$(date +%Y%m%d-%H%M%S)
cat > ~/.openclaw/models.json <<'JSON'
{
"models": [
"sub2api/gpt-5.3-codex"
]
}
JSON
python3 -m json.tool ~/.openclaw/models.json >/dev/null && echo "models.json OK"
openclaw gateway restart
```
如果最后一步报错,把输出贴我,我马上帮你定位。
user: Sender (untrusted metadata):
```json
{
"label": "openclaw-tui (gateway-client)",
"id": "gateway-client",
"name": "openclaw-tui",
"username": "openclaw-tui"
}
```
[Sun 2026-03-08 01:57 GMT+8] 为什么“当前会话 capabilities=none”?
assistant: [[reply_to_current]]`capabilities=none` 是这次会话运行环境给我的权限标记,意思是:我只能聊天,不能直接调用本地终端、读写文件或执行系统命令。
所以我能给你精确命令,但不能代你在机器上执行(比如改 `~/.openclaw/models.json`、跑 `openclaw gateway restart`)。
这通常是启动参数或通道策略决定的,不是你命令写错。
如果你想让我“直接代执行”,需要把这个会话切到允许工具/终端能力的模式(例如在 OpenClaw 配置里开启相应 capabilities)。
user: Sender (untrusted metadata):
```json
{
"label": "openclaw-tui (gateway-client)",
"id": "gateway-client",
"name": "openclaw-tui",
"username": "openclaw-tui"
}
```
[Sun 2026-03-08 01:58 GMT+8] 怎么切?
assistant: [[reply_to_current]]最稳妥是这三步(按你现在的 `openclaw-tui` 场景):
1. 先看当前运行配置
`openclaw status`
(这里通常能看到当前会话能力、模型、网关状态)
2. 查看可用开关/参数
`openclaw help`
`openclaw gateway --help`
(确认有没有和 `capabilities``tools``sandbox` 相关选项)
3. 用“带工具能力”的方式重启会话/网关
常见做法是改 OpenClaw 配置文件后重启:
`openclaw gateway restart`
---
如果你愿意,我可以按你的实际输出逐行告诉你该改哪一项。
你把这三条命令的输出贴我,我直接给你最短可执行方案。
user: Sender (untrusted metadata):
```json
{
"label": "openclaw-tui (gateway-client)",
"id": "gateway-client",
"name": "openclaw-tui",
"username": "openclaw-tui"
}
```
[Sun 2026-03-08 01:59 GMT+8] guchen@MBKPro ~ % openclaw status
Config warnings:\n- plugins.entries.feishu: plugin feishu: duplicate plugin id detected; later plugin may be overridden (/Users/guchen/.openclaw/extensions/feishu/index.ts)
Config warnings:\n- plugins.entries.feishu: plugin feishu: duplicate plugin id detected; later plugin may be overridden (/Users/guchen/.openclaw/extensions/feishu/index.ts)
🦞 OpenClaw 2026.3.2 (85377a2) — iMessage green bubble energy, but for everyone.
17:58:49 [plugins] plugins.allow is empty; discovered non-bundled plugins may auto-load: feishu (/Users/guchen/.openclaw/extensions/feishu/index.ts). Set plugins.allow to explicit trusted ids.
Config warnings:\n- plugins.entries.feishu: plugin feishu: duplicate plugin id detected; later plugin may be overridden (/Users/guchen/.openclaw/extensions/feishu/index.ts)
17:58:55 [plugins] feishu_doc: Registered feishu_doc, feishu_app_scopes
17:58:55 [plugins] feishu_chat: Registered feishu_chat tool
17:58:55 [plugins] feishu_wiki: Registered feishu_wiki tool
17:58:55 [plugins] feishu_drive: Registered feishu_drive tool
17:58:55 [plugins] feishu_bitable: Registered bitable tools
Config warnings:\n- plugins.entries.feishu: plugin feishu: duplicate plugin id detected; later plugin may be overridden (/Users/guchen/.openclaw/extensions/feishu/index.ts)
◒ Checking for updates….Config warnings:\n- plugins.entries.feishu: plugin feishu: duplicate plugin id detected; later plugin may be overridden (/Users/guchen/.openclaw/extensions/feishu/index.ts)
◑ Probing gateway…Config warnings:\n- plugins.entries.feishu: plugin feishu: duplicate plugin id detected; later plugin may be overridden (/Users/guchen/.openclaw/extensions/feishu/index.ts)
OpenClaw status
Overview
┌─────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Item │ Value │
├─────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Dashboard │ http://127.0.0.1:18789/ │
│ OS │ macos 14.7.5 (x64) · node 22.22.1 │
│ Tailscale │ off │
│ Channel │ stable (default) │
│ Update │ pnpm · npm latest 2026.3.2 │
│ Gateway │ local · ws://127.0.0.1:18789 (local loopback) · reachable 34ms · auth token · MBKPro.lan (192. │
│ │ 168.2.126) app 2026.3.2 macos 14.7.5 │
│ Gateway service │ LaunchAgent installed · loaded · running (pid 35348) │
│ Node service │ LaunchAgent not installed │
│ Agents │ 1 · 1 bootstrap file present · sessions 1 · default main active just now │
│ Memory │ 0 files · 0 chunks · dirty · sources memory · plugin memory-core · vector unknown · fts ready · │
│ │ cache on (0) │
│ Probes │ skipped (use --deep) │
│ Events │ none │
│ Heartbeat │ 30m (main) │
│ Sessions │ 1 active · default gpt-5.3-codex (200k ctx) · ~/.openclaw/agents/main/sessions/sessions.json │
└─────────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────┘
Security audit
Summary: 2 critical · 7 warn · 1 info
CRITICAL Open groupPolicy with elevated tools enabled
Found groupPolicy="open" at: - channels.feishu.groupPolicy With tools.elevated enabled, a prompt injection in those rooms can become a high-impact incident.
Fix: Set groupPolicy="allowlist" and keep elevated allowlists extremely tight.
CRITICAL Feishu security warning
Feishu[default] groups: groupPolicy="open" allows any member to trigger (mention-gated). Set channels.feishu.groupPolicy="allowlist" + channels.feishu.groupAll…
WARN Reverse proxy headers are not trusted
gateway.bind is loopback and gateway.trustedProxies is empty. If you expose the Control UI through a reverse proxy, configure trusted proxies so local-client c…
Fix: Set gateway.trustedProxies to your proxy IPs or keep the Control UI local-only.
WARN Feishu doc create can grant requester permissions
channels.feishu tools include "doc"; feishu_doc action "create" can grant document access to the trusted requesting Feishu user.
Fix: Disable channels.feishu.tools.doc when not needed, and restrict tool access for untrusted prompts.
WARN Some gateway.nodes.denyCommands entries are ineffective
gateway.nodes.denyCommands uses exact node command-name matching only (for example `system.run`), not shell-text filtering inside a command payload. - Unknown …
Fix: Use exact command names (for example: canvas.present, canvas.hide, canvas.navigate, canvas.eval, canvas.snapshot, canvas.a2ui.push, canvas.a2ui.pushJSONL, canvas.a2ui.reset). If you need broader restrictions, remove risky command IDs from allowCommands/default workflows and tighten tools.exec policy.
WARN Potential multi-user setup detected (personal-assistant model warning)
Heuristic signals indicate this gateway may be reachable by multiple users: - channels.feishu.groupPolicy="open" No unguarded runtime/process tools were detect…
Fix: If users may be mutually untrusted, split trust boundaries (separate gateways + credentials, ideally separate OS users/hosts). If you intentionally run shared-user access, set agents.defaults.sandbox.mode="all", keep tools.fs.workspaceOnly=true, deny runtime/fs/web tools unless required, and keep personal/private identities + credentials off that runtime.
… +3 more
Full report: openclaw security audit
Deep probe: openclaw security audit --deep
Channels
┌──────────┬─────────┬────────┬───────────────────────────────────────────────────────────────────────────────────────┐
│ Channel │ Enabled │ State │ Detail │
├──────────┼─────────┼────────┼───────────────────────────────────────────────────────────────────────────────────────┤
│ Feishu │ ON │ OK │ configured │
└──────────┴─────────┴────────┴───────────────────────────────────────────────────────────────────────────────────────┘
Sessions
┌─────────────────────────────────────────────────┬────────┬──────────┬───────────────┬───────────────────────────────┐
│ Key │ Kind │ Age │ Model │ Tokens │
├─────────────────────────────────────────────────┼────────┼──────────┼───────────────┼───────────────────────────────┤
│ agent:main:main │ direct │ just now │ gpt-5.3-codex │ 12k/200k (6%) · 🗄️ 98% cached │
└─────────────────────────────────────────────────┴────────┴──────────┴───────────────┴───────────────────────────────┘
FAQ: https://docs.openclaw.ai/faq
Troubleshooting: https://docs.openclaw.ai/troubleshooting
Next steps:
Need to share? openclaw status --all
Need to debug live? openclaw logs --follow
Need to test channels? openclaw status --deep
assistant: [[reply_to_current]]你这段 `openclaw status` 很关键:**问题不在 gateway 没起来**,而在于你现在对话的 `webchat` 会话元数据里是 `capabilities=none`
这通常表示**当前聊天入口能力受限**(前端/会话能力),不等于网关挂了。
你可以这样切:
- 直接改到本地 `openclaw-tui` 里操作(不是 webchat 页面)
- 或在配置里给当前入口开启可用能力后重启 gateway
另外我纠正一下之前那句:`capabilities=none` 更像是**当前通道能力标记**,不一定是“全局没有终端权限”。
先做最小排查(你执行后贴结果我直接给精确改法):
- `openclaw logs --follow`(开着)
- 另一个终端发一条消息到当前会话,观察日志里这条消息的 `channel/surface/capabilities`
- 再看你使用的是不是 `webchat` 入口而不是 `openclaw-tui` 直连入口
如果你希望,我下一条可以直接给你一版“只保留 `sub2api/gpt-5.3-codex` + 安全重启 + 回滚”的一键脚本。
user: Sender (untrusted metadata):
```json
{
"label": "openclaw-tui (gateway-client)",
"id": "gateway-client",
"name": "openclaw-tui",
"username": "openclaw-tui"
}
```
[Sun 2026-03-08 02:13 GMT+8] Wake up, my friend!
assistant: [[reply_to_current]]醒着呢,朋友 😎
我随时在线。要我现在继续把 `models.json` 那件事一次性收尾吗?
user: Sender (untrusted metadata):
```json
{
"label": "openclaw-tui (gateway-client)",
"id": "gateway-client",
"name": "openclaw-tui",
"username": "openclaw-tui"
}
```
[Sun 2026-03-08 02:14 GMT+8] 你检查一下你现在有操作文件的权限了没?
assistant: [[reply_to_current]]刚检查了:我这边会话里依然没有文件/终端工具(只有 `message``sessions_*``session_status` 这类会话工具),所以**还是不能直接改本地文件**。
也就是说当前对我来说仍是“无本地操作权限”的状态。
你可以让我继续做“指令代驾”模式:我给你一条条安全命令,你执行后把输出贴我,我实时盯。
user: Sender (untrusted metadata):
```json
{
"label": "openclaw-tui (gateway-client)",
"id": "gateway-client",
"name": "openclaw-tui",
"username": "openclaw-tui"
}
```
[Sun 2026-03-08 02:15 GMT+8] 怎么重开会话?
assistant: [[reply_to_current]]最直接的方式:
- 在当前 `openclaw-tui` 里按 `Ctrl+C` 退出当前会话
- 重新启动一个新会话(你平时怎么启动就怎么来,比如再次运行 `openclaw``openclaw tui`
- 如果还不行,再执行一次 `openclaw gateway restart` 后重连
如果你用的是浏览器 `webchat`,就:
- 关闭当前聊天页
- 重新打开 Dashboard 里的 chat 入口,新建会话
你重开后发我一句“已重开”,我立刻帮你再检查能力是否恢复。