Skills、MCP 与 Hooks
用 SKILL.md 创建 Skills,用 qoder mcp add 接入 MCP 服务器(stdio / sse / http / ws 与作用域),用 Hooks 在关键节点拦截执行流。
Skills
Skill 是包含 SKILL.md 的文件夹,教 Qoder CLI 做某件具体的事:按团队标准评审 PR、按你偏好的格式生成提交信息等。特点:智能调用(模型根据用户请求和 Skill 描述自主决定何时使用)、模块化(每个 Skill 专注解决一类任务)、灵活扩展(支持用户级和项目级)。创建:在用户级 ~/.qoder/skills/<名称>/(所有项目可用)或项目级 .qoder/skills/(与团队共享)建目录,写 SKILL.md,以 --- 之间的 YAML 元数据开头,必须含 name 和 description,其后是 Markdown 指令。/skills 管理当前工作区的 Skill 命令。
MCP
Qoder CLI 可以连接 MCP 服务器使用外部工具和数据源,添加后其工具在交互和非交互模式下对智能体可用。快速开始:
qoder mcp add playwright -- npx -y @playwright/mcp@latest-- 之后的命令就是 Qoder CLI 要启动的服务器进程;stdio 服务器随 CLI 自动启动,CLI 已在运行时用 /mcp reload 重新发现服务器和工具,新会话启动时会自动发现。传输类型用 -t:stdio(本地命令,默认)、sse、http、ws(WebSocket)。作用域用 -s:user(本机账号跨项目可用)、local(仅本机当前项目,默认)、project(写入项目配置,可提交)。/mcp 管理服务器。
Hooks
Hooks 让你在 Qoder CLI 的关键节点拦截智能体的主执行流,同时与 CLI 本身解耦:常见用途包括在工具执行前阻止危险操作等。通过 JSON 配置文件定义,不需要改代码,编辑配置即刻生效。配置从三个文件加载并合并(同一事件的 hooks 不互相覆盖):~/.qoder/settings.json(用户级)、<project>/.qoder/settings.json(项目级,可提交共享)、<project>/.qoder/settings.local.json(项目本地,建议加入 .gitignore)。示例:用 PreToolUse 加 Bash 匹配器运行脚本,脚本读取 stdin 的 JSON(tool_input.command),发现 rm -rf 就向 stderr 输出原因并以退出码 2 阻断:
{
"hooks": {
"PreToolUse": [
{ "matcher": "Bash", "hooks": [{ "type": "command", "command": "~/.qoder/hooks/block-rm.sh" }] }
]
}
}事件包括 SessionStart、SessionEnd、UserPromptSubmit、PreToolUse、PostToolUse、PostToolUseFailure、PermissionRequest、PermissionDenied、Stop、StopFailure、SubagentStart、SubagentStop、PreCompact、PostCompact 等,部分事件可以阻断;各事件的匹配字段、输入字段和可阻断性见官方 Hooks 页。