mcpField
D
doctor

doctor

github.com/yeachan-heoAgent 工作流33.7k140 次安装1 天前更新
代码仓库

关于 doctor

doctor 是用于诊断 OMX 安装与发现问题的技能。它检查配置、钩子、技能路径、插件缓存,并可选检查 Team 运行状态,随后报告证据和可行的修复方案。

主要功能

  1. 01检查安装与发现路径
  2. 02检查钩子和配置
  3. 03报告插件缓存及版本状态
  4. 04可选检查 Team 运行状态
  5. 05支持详细输出和修复预览

适用场景

  1. 01诊断 OMX 配置无法被发现的问题
  2. 02检查旧钩子或技能路径冲突
  3. 03排查 Team 运行问题
  4. 04预览符合条件的所有权修复

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/yeachan-heo/oh-my-codex --skill doctor

安装后在 Claude Code 中输入/doctor确认已加载。

详细介绍

OMX Doctor

使用此任务卡诊断安装/发现问题。共享的安全、生命周期、hook、团队、自主性和取消规则位于 templates/AGENTS.md。当设置了 CODEX_HOME 时,~/.codex 表示 ${CODEX_HOME:-~/.codex}。

运行诊断

omx doctor
omx doctor --team             # include Team runtime checks
omx doctor --verbose          # include detailed check evidence
omx doctor --force            # repair eligible repo artifact ownership issues
omx doctor --dry-run --force  # preview eligible ownership repairs

对于本地源代码检出,请先构建,然后调用 node dist/cli/omx.js doctor。保留命令输出和确切路径以供报告使用。

插件缓存和版本
PLUGIN_CACHE_ROOT="${CODEX_HOME:-$HOME/.codex}/plugins/cache"
CACHE_ENTRIES=$(find "$PLUGIN_CACHE_ROOT" -path "*/oh-my-codex/*" -mindepth 3 -maxdepth 3 -type d 2>/dev/null)
if [[ -z "$CACHE_ENTRIES" ]]; then
  echo "Installed plugin cache: none"
else
  while IFS= read -r d; do
    m=$(basename "$(dirname "$(dirname "$d")")"); v=$(basename "$d")
    printf 'Installed plugin cache: marketplace=%s version=%s path=%s\n' "$m" "$v" "$d"
  done <<<"$CACHE_ENTRIES"
fi
LATEST=$(npm view oh-my-codex version 2>/dev/null)
echo "Latest npm: $LATEST"

无缓存为 INFO(对于仅 npm/setup 安装而言属正常)。缓存版本非 local 且与 LATEST 不同,或同一 marketplace 存在多个版本,则为 WARN。插件发现不能替代 npm 安装加上 omx setup;原生/运行时接线仍归 setup 所有。

Hook、AGENTS 和 skill 根目录
CODEX_DIR="${CODEX_HOME:-$HOME/.codex}"
ls -la "$CODEX_DIR/config.toml" "$CODEX_DIR/settings.json" 2>/dev/null
rg 'keyword-detector|persistent-mode|session-start|stop-continuation' "$CODEX_DIR/config.toml" "$CODEX_DIR/settings.json" 2>/dev/null || true
ls -la "$CODEX_DIR/hooks"/*.sh 2>/dev/null
ls -la "$CODEX_DIR/AGENTS.md" 2>/dev/null
grep -q "oh-my-codex Multi-Agent System" "$CODEX_DIR/AGENTS.md" 2>/dev/null && echo "Has OMX config" || echo "Missing OMX config"
ls -la "$CODEX_DIR/agents" "$CODEX_DIR/commands" "$CODEX_DIR/skills" "$HOME/.agents/skills" 2>/dev/null

将遗留 hook 引用归类为 CRITICAL(重复 hook)。脚本 keyword-detector.sh、persistent-mode.sh、session-start.sh 和 stop-continuation.sh 为 WARN。缺少 AGENTS.md 为 CRITICAL;缺少 OMX 标记为 WARN。${CODEX_HOME:-~/.codex}/skills 是规范的用户根目录。~/.agents/skills 是历史目录,重叠的目录树可能导致 skill 条目重复。遗留 agents/ 或 commands/ 下的 OMX 文件为 WARN。

使用 --team 时,保留任何 resume_blocker、slow_shutdown、delayed_status_lag、stale_leader 或 orphan_tmux_session 诊断;检查失败会设置非零退出状态。

报告约定

## OMX Doctor Report
### Summary
[HEALTHY / ISSUES FOUND]
### Checks
| Check | Status | Details |
| Plugin Version | OK/WARN/INFO | ... |
| Hook Config (config.toml / legacy settings.json) | OK/CRITICAL | ... |
| Legacy Scripts (~/.codex/hooks/) | OK/WARN | ... |
| AGENTS.md | OK/WARN/CRITICAL | ... |
| Plugin Cache | OK/WARN | ... |
| Legacy Agents / Commands | OK/WARN | ... |
| Skills (canonical / historical root) | OK/WARN | ... |
### Issues Found
1. ...
### Recommended Fixes
...

修复(在用户确认并确认每个目标均归 OMX 所有之后)

仅移除已确认的 OMX 遗留内容;保留无关的用户文件:

# If settings.json exists, remove only its legacy "hooks" section.
rm -f "$CODEX_DIR/hooks/keyword-detector.sh" "$CODEX_DIR/hooks/persistent-mode.sh" "$CODEX_DIR/hooks/session-start.sh" "$CODEX_DIR/hooks/stop-continuation.sh"
PLUGIN_CACHE_ROOT="${CODEX_HOME:-$HOME/.codex}/plugins/cache"
find "$PLUGIN_CACHE_ROOT" -path "*/oh-my-codex" -type d -prune -exec rm -rf {} +

对于较旧的 curl 安装,先检查,仅移除包含 OMX 管理文件的目录:

ls -la "$CODEX_DIR/agents" "$CODEX_DIR/commands" "$CODEX_DIR/skills" "$HOME/.agents/skills" 2>/dev/null
# Optional backups:
# mv "$CODEX_DIR/agents" "$CODEX_DIR/agents.bak"
# mv "$CODEX_DIR/commands" "$CODEX_DIR/commands.bak"
# mv "$HOME/.agents/skills" "$HOME/.agents/skills.bak"
rm -rf "$CODEX_DIR/agents" "$CODEX_DIR/commands" "$HOME/.agents/skills"

如果 AGENTS.md 缺失或过时,获取当前原始文件并将其写入 $CODEX_DIR/AGENTS.md:

WebFetch(url: "https://raw.githubusercontent.com/Yeachan-Heo/oh-my-codex/main/docs/AGENTS.md", prompt: "Return the complete raw markdown content exactly as-is")

若只为选定的 marketplace 保留最新的缓存版本:

PLUGIN_CACHE_DIR="$PLUGIN_CACHE_ROOT/$MARKETPLACE_NAME/oh-my-codex"
KEEP_VERSION=$(for d in "$PLUGIN_CACHE_DIR"/*; do [[ -d "$d" ]] && basename "$d"; done | sort -V | tail -1)
[[ -n "$KEEP_VERSION" ]] && find "$PLUGIN_CACHE_DIR" -mindepth 1 -maxdepth 1 -type d ! -name "$KEEP_VERSION" -exec rm -rf {} +

如果 AGENTS.md 缺失或过时,从当前发布源刷新它,然后重新运行 omx doctor。如果遗留 ~/.agents/skills 与规范根目录重叠,仅在检查自定义 skill 后归档/移除该目录树。修复后重启 Codex,并报告修复前后的证据。

退出条件

仅当所需路径、hook/config 检查、AGENTS 标记、插件缓存状态以及(在被请求时)Team 检查全部通过时,才以 HEALTHY 停止。否则报告 ISSUES FOUND、确切的失败证据以及最小的已确认修复;不要仅凭建议就声称已修复。

评论

支持 Markdown