MicahAI/Claude-Kaptn

GitHub: MicahAI/Claude-Kaptn

Kaptn 是一个 Claude Code 插件,通过自定义规则引擎自动管理 AI agent 的工具调用权限,提供会话级限额、循环检测和完整审计追踪。

Stars: 0 | Forks: 0

# Kaptn **Claude Code 工具批准的 AutoPilot。** Kaptn 依托于 Claude Code 的 PreToolUse hook,并根据*你的*规则决定每一次工具调用——批准 常规操作,阻止危险行为,上报异常情况——同时提供单次会话 预算、失控循环制动,以及记录你的 AI agent 所作所为的完整审计追踪。 ``` Claude wants to run: rm -rf build/ Kaptn: deny (rule=block-file-deletes) Claude wants to run: git status Kaptn: allow (rule=allow-safe-commands) ← no prompt, logged Claude wants to call: mcp__some_server__tool (301st time this session) Kaptn: ask (limit_exceeded: max_per_session 300/300) ``` ## 为什么需要 AI 编程 agent 要么对每个权限都烦扰你,要么毫无权限限制地运行。 Kaptn 提供了折中方案:这是一个策略层,会自动批准你信任的操作, 强制停止你不信任的操作,按会话对其余操作进行速率限制,并 编写一份你能真正用来回答问题的审计日志——*昨天哪些会话 运行了哪些命令,以及是谁批准了它们?* ## 安装(30秒) 在 Claude Code 中: ``` /plugin marketplace add MicahAI/Claude-Kaptn /plugin install kaptn@claude-kaptn ``` 要求:PATH 中有 Python 3.10+。仅此而已——不需要服务器,不需要 pip 安装,也不需要编辑设置。新会话会被立即接管; 状态和配置存放在 `~/.kaptn/` 中。 然后,在任何会话中: - `/kaptn:status` — 规则、实时的单次会话用量与上限对比、审计摘要 - `/kaptn:log` — 近期决策 - `/kaptn:reset` — 清除限制和循环暂停 ## 规则 `~/.kaptn/kaptn.config.json`(首次运行时会以合理的默认值创建)。 每次工具调用都会被归类到一个类别中——`file_read`、 `file_write`、`file_delete`、`command_safe`、`command_unsafe`、`search`、 `tool_call`、`unknown`——这是根据工具的真实名称和输入得出的(Bash 命令会按管道段进行解析;最危险的段决定结果,且 `sudo` 永远是不安全的)。规则按以下顺序匹配: ``` { "id": "allow-file-writes", "category": "file_write", "action": "approve", "conditions": { "exclude_patterns": ["**/.env*", "**/secrets/**"] }, "limits": { "max_per_session": 500 } } ``` - **动作**:`approve`、`deny`、`escalate`(转入 Claude Code 的常规权限提示)。 - **带覆盖的拒绝**:规则 `deny` 会以*询问*的形式呈现,用户可以 覆盖;添加 `"hard_deny": true` 可直接阻止。循环检测 的拒绝总是进行强制阻断——这就是防失控刹车。 - **限制是针对每个 Claude 会话的**:`max_per_session`、`max_per_minute`、 `max_consecutive`。每次对话都有其独立的额度。 - **Fail-open**:如果 Kaptn 无法运行(Python 版本过旧、状态损坏),它 会静默地转入 Claude Code 的常规权限流程。Kaptn 只会 *减少*提示,绝不会扩大无人值守运行的范围。 配置更改会在下一次工具调用时生效——无需重启。 ## 审计追踪 每一个决策——允许、拒绝、询问、循环刹车——都被记录在 SQLite (`~/.kaptn/kaptn_audit.db`)中,包含时间戳、会话、类别、确切的 命令或路径、匹配的规则,以及当时的限制状态。 ``` scripts/kaptn-ctl log -n 50 # or /kaptn:log in a session ``` ## 进阶:daemon 模式 如需长时间运行的决策服务器(实时 HTTP 状态端点、launchd 集成),请安装该软件包并使用完整的 CLI: ``` python3 -m venv .venv && .venv/bin/pip install -e . .venv/bin/kaptn help ``` `kaptn claude install` 会注册一个基于设置的 hook,与 localhost 上的 `kaptn claude serve` 进行通信;`kaptn status` / `kaptn stop` / `kaptn reset` 可用于管理任一模式。详见 [docs/CLAUDE_CODE.md](docs/CLAUDE_CODE.md)。 ## 出处 提取自 [MicahAI/Kaptn](https://github.com/MicahAI/Kaptn),该项目还可以通过 Chrome DevTools Protocol 远程控制 Windsurf/Cascade。 此仓库是仅针对 Claude 的版本:相同的规则引擎,被打包为 一流的 Claude Code 插件。 ## 许可证 MIT
标签:AI编程辅助, Claude Code, Homebrew安装, TCP/UDP协议, 审计日志, 工具调用授权, 自动化控制, 逆向工具