بنقرة واحدة
doctor
诊断并修复 Kimi CLI 上的 oh-my-kimi 安装(skills、hooks、wrapper、MCP)。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
诊断并修复 Kimi CLI 上的 oh-my-kimi 安装(skills、hooks、wrapper、MCP)。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
oh-my-kimi 的目录入口,包含面向 Kimi CLI 的 agent、skill、hook 与 MCP 套件,衍生自 oh-my-* 谱系。
面向密钥、注入、authz/authn、不安全 IO、依赖与数据外泄风险的安全评审
证据驱动的追踪通道,在 Kimi 的 Agent 工具中编排互相竞争的 tracer 假设
LLM Wiki —— 跨会话持续累积的 markdown 知识库(Karpathy 模型)
面向作家的 agentic 记忆系统 —— 跟踪人物、关系、场景与主题
跑只读的深度仓库分析,返回一份带置信度排序的综合结论,附具体文件引用、清晰区分证据与推断。当用户说 'analyze'、'investigate'、'why does'、'what's causing',或在提任何改动方案之前需要跨文件的有据解释时使用。
| name | doctor |
| description | 诊断并修复 Kimi CLI 上的 oh-my-kimi 安装(skills、hooks、wrapper、MCP)。 |
| argument-hint | [--fix] [--verbose] |
对本机的 oh-my-kimi 安装做一次结构化健康检查,并为每个发现的问题给出具体的修复命令。下列情况使用:
/skill:<name> 调用提示 "skill not found",但你确信它装过。kimi-omk 启动报错。.env 块、没有自动格式化等)。kimi info 报告 Invalid TOML in configuration file …。/skill:critic)。install.sh 实际做的 7 件事 —— 按相同顺序 —— 这样某项失败就直接指向是哪一步坏了或被人手动回退:
| # | Check | What it verifies |
|---|---|---|
| 1 | Kimi CLI on PATH | kimi binary exists; version ≥ 1.37 |
| 2 | ~/.oh-my-kimi/ layout | Repo snapshot was copied (agents/, skills/, hooks/, scripts/) |
| 3 | Skill symlinks in ~/.kimi/skills/ | Each shipped skill is symlinked to ~/.oh-my-kimi/skills/<name> |
| 4 | ~/.local/bin/kimi-omk wrapper | Exists, executable, points at oh-my-kimi.yaml |
| 5 | Managed hook block in ~/.kimi/config.toml | Single # >>> oh-my-kimi >>> … # <<< oh-my-kimi <<< block; TOML parses cleanly |
| 6 | Hook scripts executable | Every ~/.oh-my-kimi/hooks/*.sh is +x |
| 7 | (Optional) MCP servers | kimi mcp list shows the recommended servers if --with-mcp ran |
通过的一行打印 ✅;任何失败打印 ❌ 加一行修复命令。
按顺序走完下面的检查。在跑任何会改 ~/.oh-my-kimi/ 之外状态的 --fix 动作前,先问用户(特别是:编辑 ~/.kimi/config.toml、删用户自有 symlink、重跑 install.sh)。
command -v kimi >/dev/null 2>&1 \
&& kimi --version
预期输出:kimi 1.37.0 或更高。低于这个版本意味着缺失(Agent 工具、SubagentStart hook、MCP)等多条 shipped skill 所依赖的原语。
修复:按 https://github.com/MoonshotAI/kimi-cli 装或升级 Kimi CLI。不要用 alias 或 shim 把 kimi 指到别的二进制 —— kimi-omk 运行时会从 PATH 解析真正的 kimi。
test -d ~/.oh-my-kimi \
&& test -f ~/.oh-my-kimi/agents/oh-my-kimi.yaml \
&& test -d ~/.oh-my-kimi/skills \
&& test -d ~/.oh-my-kimi/hooks \
&& test -x ~/.oh-my-kimi/scripts/install.sh \
&& echo "layout OK"
任一行失败:用户移动或部分删除了安装。从任意 checkout 跑 bash ~/.oh-my-kimi/scripts/install.sh,或重新 clone:
git clone https://github.com/xz1220/oh-my-kimi.git ~/.oh-my-kimi
bash ~/.oh-my-kimi/scripts/install.sh
expected=$(ls -d ~/.oh-my-kimi/skills/*/ | wc -l)
actual=$(find ~/.kimi/skills -maxdepth 1 -type l \
-lname '*.oh-my-kimi/skills/*' 2>/dev/null | wc -l)
echo "expected=$expected installed=$actual"
期望 installed == expected。不匹配通常意味着:
install.sh 看到同名的预存非 oh-my-kimi skill 而跳过了它(在安装日志里找 [oh-my-kimi] warning: skipping existing non-oh-my-kimi skill: …)。自行决定保留你的版本还是让 oh-my-kimi 占该位。~/.kimi/skills/ 或删了软链接。修复(幂等 —— 可安全重跑):
bash ~/.oh-my-kimi/scripts/install.sh
强制替换冲突 skill:
OMK_FORCE=1 bash ~/.oh-my-kimi/scripts/install.sh
查看单个坏槽位:
ls -l ~/.kimi/skills/<name> # is it a symlink? where to?
readlink ~/.kimi/skills/<name> # target path
kimi-omk wrappertest -x ~/.local/bin/kimi-omk \
&& grep -q "$HOME/.oh-my-kimi/agents/oh-my-kimi.yaml" \
~/.local/bin/kimi-omk \
&& echo "wrapper OK"
wrapper 是个 2 行 bash 脚本。若缺失或指向别处,是用户(或其他工具)把它覆盖了。
修复:重跑 install.sh。wrapper 会被安全覆盖。
同时确认 ~/.local/bin 在 PATH 上:
case ":$PATH:" in *":$HOME/.local/bin:"*) echo "PATH OK" ;;
*) echo "add $HOME/.local/bin to PATH" ;;
esac
这是修在 commit a62af4b 的安装 bug 兜的检查:Kimi 默认配置带一行 inline 数组 hooks = [],在它后面追加 [[hooks]] array-of-tables 块会产生 Invalid TOML: Key "hooks" already exists。
config=~/.kimi/config.toml
block_count=$(grep -c '^# >>> oh-my-kimi >>>$' "$config" 2>/dev/null || echo 0)
echo "managed blocks: $block_count (expect 1)"
python3 - <<PY
import sys
try:
import tomllib
except ModuleNotFoundError:
import tomli as tomllib
text = open("$config","rb").read()
try:
parsed = tomllib.loads(text.decode())
except Exception as e:
print("TOML PARSE ERROR:", e); sys.exit(1)
hooks = parsed.get("hooks")
print("hooks keytype:", type(hooks).__name__)
print("hooks count:", len(hooks) if isinstance(hooks, list) else "n/a")
PY
期望:
managed blocks: 1hooks keytype: listhooks count: ≥3(auto-format、protect-env、notify-on-stop ± stop-guard)失败模式:
managed blocks: 0 —— hooks 被剥离或未安装。跑 bash ~/.oh-my-kimi/scripts/install.sh。
managed blocks: 2+ —— 重复注入(少见;有人改动了 markers 时会发生)。跑 bash ~/.oh-my-kimi/scripts/uninstall.sh 再重装。
TOML PARSE ERROR: Key 'hooks' already exists —— Kimi 默认配置里的 inline hooks = [] 行没被清除。commit a62af4b 起的 install.sh 自动修复;升级安装:
cd ~/.oh-my-kimi && git pull
bash scripts/install.sh
不重装的一次性手工修复:
sed -i.before-fix '/^hooks = \[\]$/d' ~/.kimi/config.toml
for sh in ~/.oh-my-kimi/hooks/*.sh; do
test -x "$sh" || echo "NOT EXECUTABLE: $sh"
done
任一行打印:安装 tar 丢了执行位(少见)。修复:
chmod +x ~/.oh-my-kimi/hooks/*.sh
仅当用户用 --with-mcp 安装或期望 MCP 支持时才跑。
kimi mcp list 2>/dev/null | grep -E 'context7|chrome-devtools|sequential-thinking'
期望:通过 mcp/add-recommended-all.sh 安装时有三行(每个 server 一行)。缺失的 server 可逐个添加:
bash ~/.oh-my-kimi/mcp/add-context7.sh
bash ~/.oh-my-kimi/mcp/add-chrome-devtools.sh
bash ~/.oh-my-kimi/mcp/add-sequential-thinking.sh
Kimi CLI 的默认配置(merge_all_available_skills = true)会从以下所有根读 skill:
~/.kimi/skills/ ← canonical (oh-my-kimi installs here)
~/.claude/skills/ ← also read by Kimi
~/.codex/skills/ ← also read by Kimi
~/.config/agents/skills/
~/.agents/skills/
这意味着 ~/.kimi/skills/ 下安装的 oh-my-kimi 在 Claude Code 与 Codex CLI 会话里也自动可见,无需额外设置(前提是它们对应的 host 也用 canonical skill 布局)。如果 kimi /skill 里出现重复 skill,检查 ~/.claude/skills/<name> 或 ~/.codex/skills/<name> 是不是有旧拷贝、不是 oh-my-kimi 装的。
以一份简明 markdown 报告结束:
## oh-my-kimi doctor — <date>
| # | Check | Result |
|---|--------------------------------|--------|
| 1 | Kimi CLI on PATH | ✅ kimi 1.37.0 |
| 2 | Install dir layout | ✅ |
| 3 | Skill symlinks (36/36) | ✅ |
| 4 | kimi-omk wrapper | ✅ |
| 5 | Managed hook block + TOML | ✅ 1 block, 4 hooks |
| 6 | Hook scripts +x | ✅ |
| 7 | MCP servers | ⚠ context7 missing |
Fixes applied: <list> ← only if --fix was passed
Suggested next steps: <list>
Shell;把输出汇入报告。~/.kimi/config.toml —— 始终重跑 install.sh,它会保留用户非受管行,并做时间戳备份。--fix 时,不写任何文件。*.omk-backup-*)。