返回顶部
o

oc-doctorOC医生

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.1.0
安全检测
已通过
337
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

oc-doctor

OpenClaw Doctor

对 OpenClaw 安装进行全面健康检查。输出结构化的诊断报告,包含严重性等级和可操作的修复方案。

语言

使用用户调用此技能时所用的语言进行回复。如果通过斜杠命令调用且没有附加文本,则根据上下文推断首选语言:检查最近的对话历史、工作区文件内容(例如 AGENTS.md 中的中日韩文字内容或 cron 任务负载)以及系统区域设置。仅在未检测到语言信号时回退到英文。

前置条件

bash
command -v openclaw >/dev/null || echo CRITICAL: openclaw not found in PATH
command -v jq >/dev/null || echo CRITICAL: jq not found — install with: brew install jq (macOS) or apt install jq (Linux)

路径

在运行时自动检测所有路径。不要硬编码特定平台的位置。

bash
OPENCLAWHOME=${OPENCLAWHOME:-$HOME/.openclaw}
OPENCLAWCONFIG=$OPENCLAWHOME/openclaw.json
OPENCLAW_DIST=
if command -v openclaw &>/dev/null; then
OPENCLAWDIST=$(dirname $(readlink -f $(command -v openclaw)))/../lib/nodemodules/openclaw/dist
[ -d $OPENCLAWDIST ] || OPENCLAWDIST=
fi
SESSIONSDIR=$OPENCLAWHOME/agents/main/sessions
SESSIONSINDEX=$SESSIONSDIR/sessions.json
MODELSJSON=$OPENCLAWHOME/agents/main/agent/models.json
WORKSPACEGLOB=$OPENCLAWHOME/workspace-*
LOGSDIR=$OPENCLAWHOME/logs
BROWSERCACHE=$OPENCLAWHOME/browser
CRONDIR=$OPENCLAWHOME/cron

如果任何路径不存在,请注明并跳过该检查部分。

诊断部分

按顺序运行以下所有部分。对于每个发现,分配一个严重性等级:

  • - CRITICAL — 功能损坏,存在数据丢失风险
  • WARNING — 配置欠佳,存在潜在问题
  • INFO — 信息性,存在优化机会

1. 安装与版本

使用内置状态命令作为主要数据源:

bash
openclaw status --all 2>&1
openclaw --version 2>/dev/null

报告:版本、网关运行状态、LaunchAgent 状态、频道健康状态。

2. 配置一致性

读取 $OPENCLAW_CONFIG 并检查:

  1. 1. 默认模型有效性:agents.defaults.model.primary 是否为已知模型?与 agents.defaults.models 条目交叉验证。
  2. 备用模型:agents.defaults.model.fallbacks 中的所有模型是否都在模型列表中定义?
  3. 旧版配置文件:检查 $OPENCLAWHOME/ 中是否存在 clawdbot.json 或其他旧版文件。
  4. 备份文件积累:统计 $OPENCLAWHOME/ 中的 .bak 文件数量。超过 2 个为 WARNING。
  5. 频道配置
- Telegram:检查每个群组的 requireMention 设置。false = WARNING(机器人响应所有消息)。 - Feishu:检查 groupPolicy。open = WARNING(任何群组都可以交互)。

3. 会话维护配置

检查 openclaw.json 中的 session.maintenance 设置:

  1. 1. 维护模式:缺失或为 warn = WARNING(过期会话积累而不清理)。应为 enforce。
  2. pruneAfter:缺失或大于 30 天 = INFO。建议:7d 到 14d。
  3. maxEntries:缺失或大于 200 = INFO。默认值为 500,合理的个人值为 50-100。
  4. maxDiskBytes:缺失 = INFO。建议:设置上限如 100mb。

4. 压缩配置

检查 openclaw.json 中的 agents.defaults.compaction:

  1. 1. mode:应为 safeguard(默认,安全)。如果缺失请注明。
  2. reserveTokensFloor:缺失 = WARNING。没有此缓冲区,上下文可能在压缩触发前溢出。建议:20000。
  3. keepRecentTokens:缺失 = INFO。控制压缩期间保留的最近对话的逐字内容量。建议:8000。

5. 模型对齐

使用内置会话列表,然后与配置交叉引用:

bash
openclaw sessions 2>&1

同时以编程方式读取 sessions.json 检查:

  1. 1. 会话模型漂移:列出任何 model 字段与配置默认值不同的会话。特别检查频道会话(telegram:,feishu:)。
  2. contextTokens 与模型 contextWindow:将每个会话的 contextTokens 与其模型的实际 contextWindow(来自 models.json 或内置注册表)进行比较。不匹配 = WARNING(例如,在 200k 模型上使用 272k contextTokens 可能导致溢出)。
  3. 向前兼容补丁:通过在 $OPENCLAWDIST/*.js 中搜索非常量(例如不在官方 XHIGHMODELREFS 中的模型 ID 或自定义的 resolveForwardCompatModel 添加)来检查分发文件是否已被本地修补。
  4. 思考配置:读取思考配置文件(通过 grep -rl XHIGHMODELREFS $OPENCLAWDIST/ 查找)并验证当前默认模型是否包含在 XHIGHMODELREFS 中(如果它应支持 xhigh 思考)。
  5. models.json 覆盖:读取 $MODELS_JSON 并检查内联模型定义是否与 openclaw.json 一致。

6. 会话健康

使用内置清理预演作为主要数据源:

bash
openclaw sessions cleanup --dry-run --fix-missing 2>&1

然后补充文件系统检查:

  1. 1. 孤立 JSONL 文件:目录中存在但未在 sessions.json 中引用的文件。计算总大小。
  2. 僵尸会话条目:sessions.json 中指向不存在的 JSONL 文件的条目。
  3. 空 JSONL 文件:被引用但大小为 0 字节的文件。
  4. 已删除文件积累:可清理的 .deleted. 文件。计算总大小。
  5. Cron 会话积累:统计键中包含 :cron: 的会话。将父任务与 :run: 子会话分开。数量较大(>20)表示清理未正常工作。

7. Cron 健康

读取 $CRON_DIR/jobs.json 并检查:

  1. 1. 重复的已启用任务:具有相同 name + schedule + enabled: true 的任务。标记为 WARNING 并建议去重。
  2. 已禁用任务积累:统计 enabled: false 的任务。超过 10 个 = INFO(如果用户确认不需要,建议清理)。
  3. 临时文件积累:统计 $CRONDIR 中的 jobs.json.*.tmp 文件。这些是废弃的原子写入产物。任何数量 > 0 且没有进程持有它们(lsof)= 可安全删除。
  4. Cron 运行目录:检查 $CRONDIR/runs/ 中积累的运行日志。统计数量和总大小。
  5. 过期的已启用任务:已启用任务其 state.lastRunAtMs 根据其调度比预期更旧(例如,一个每日任务超过 3 天未运行)。

8. 安全审计

检查 openclaw.json:

  1. 1. Feishu groupPolicy:open 表示任何 Feishu 群组都可以交互 = CRITICAL。
  2. Feishu/Telegram allowFrom:[*] 表示无限制 = WARNING。
  3. Telegram requireMention:群组中为 false = WARNING(机器人响应每条消息)。
  4. 网关认证模式:从配置中读取 gateway.auth.mode。token 为良好,none = CRITICAL。
  5. 非 gitignore 文件中暴露的密钥:检查 $OPENCLAWHOME/ 是否包含可能被意外同步的文件(例如,检查 $OPENCLAWHOME/ 中是否存在 .git 目录)。
  6. models.json 中的 API 密钥:注意 API 密钥是否以明文形式存储在 models.json 中(这是预期的但值得注意)。

9. 资源使用

bash

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 oc-doctor-1776172562 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 oc-doctor-1776172562 技能

通过命令行安装

skillhub install oc-doctor-1776172562

下载

⬇ 下载 oc-doctor v1.1.0(免费)

文件大小: 22.54 KB | 发布时间: 2026-4-15 13:03

v1.1.0 最新 2026-4-15 13:03
Unify skill name to oc-doctor across all platforms

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部