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

15 KiB
Raw Permalink Blame History

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 或执行重启。你可以在本机直接运行下面两步:

cat > ~/.openclaw/models.json <<'JSON'
{
  "models": [
    "sub2api/gpt-5.3-codex"
  ]
}
JSON
openclaw gateway restart

如果你愿意,我可以下一步帮你快速校验是否生效(例如检查 openclaw gateway status 输出)。 user: Sender (untrusted metadata):

{
  "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),无法代你直接落地执行。
为了不搞坏配置,请在本机用下面这组“先备份→写入→校验→重启”的命令:

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):

{
  "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_currentcapabilities=none 是这次会话运行环境给我的权限标记,意思是:我只能聊天,不能直接调用本地终端、读写文件或执行系统命令。
所以我能给你精确命令,但不能代你在机器上执行(比如改 ~/.openclaw/models.json、跑 openclaw gateway restart)。

这通常是启动参数或通道策略决定的,不是你命令写错。
如果你想让我“直接代执行”,需要把这个会话切到允许工具/终端能力的模式(例如在 OpenClaw 配置里开启相应 capabilities)。 user: Sender (untrusted metadata):

{
  "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
    (确认有没有和 capabilitiestoolssandbox 相关选项)

  3. 用“带工具能力”的方式重启会话/网关
    常见做法是改 OpenClaw 配置文件后重启:
    openclaw gateway restart


如果你愿意,我可以按你的实际输出逐行告诉你该改哪一项。
你把这三条命令的输出贴我,我直接给你最短可执行方案。 user: Sender (untrusted metadata):

{
  "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):

{
  "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):

{
  "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刚检查了:我这边会话里依然没有文件/终端工具(只有 messagesessions_*session_status 这类会话工具),所以还是不能直接改本地文件
也就是说当前对我来说仍是“无本地操作权限”的状态。

你可以让我继续做“指令代驾”模式:我给你一条条安全命令,你执行后把输出贴我,我实时盯。 user: Sender (untrusted metadata):

{
  "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 退出当前会话
  • 重新启动一个新会话(你平时怎么启动就怎么来,比如再次运行 openclawopenclaw tui
  • 如果还不行,再执行一次 openclaw gateway restart 后重连

如果你用的是浏览器 webchat,就:

  • 关闭当前聊天页
  • 重新打开 Dashboard 里的 chat 入口,新建会话

你重开后发我一句“已重开”,我立刻帮你再检查能力是否恢复。