1. 服务概述一句话简介CLAUDE.md that actually works. 让 AI 编码助手指令文件结构化可执行而不仅仅是随上下文增长而被遗忘的建议。一条命令本地运行零成本。服务名称Arai版本号v0.2.3开发者/提供方taniwhaai协议类型MCP (Model Context Protocol)2. 核心功能Arai 是一个 MCP 接口用于与 Ārai 护栏系统交互允许 AI 代理在会话中动态管理强制执行规则并监控合规决策。提供以下核心功能发现指令文件自动发现项目和主目录中的指令文件CLAUDE.md、.cursorrules、.windsurfrules 等提取规则通过模式匹配祈使语言never、always、dont、must提取规则分类意图分类每个规则的意图 - 管理什么操作、应用于哪些工具、何时触发扫描代码库使用 tree-sitter 扫描代码库理解哪些工具拥有哪些目录跟踪会话状态跟踪会话状态知道是否在推送前已运行测试触发规则通过 Claude Code hooks 在正确时刻触发相关规则拒绝模式从禁止性谓词never、forbids、must_not派生的规则实际阻止工具调用合规追踪在每次 PostToolUse 后关联调用与同一会话中的 PreToolUse 触发发出合规事件3. 使用场景Arai 适用于以下场景强制执行编码规范确保 AI 助手遵循项目特定的编码规范和最佳实践阻止危险操作防止 AI 执行危险操作如强制推送到主分支、删除重要文件等合规性追踪记录每次规则触发追踪模型是否真正遵守规则审计日志提供详细的审计日志记录规则触发、工具调用、合规判决等信息规则管理动态添加、列出、检查护栏规则支持规则过期自动清理增量部署支持建议模式和拒绝模式可逐步推出护栏系统4. 接入方式4.1 服务端点Arai 是一个本地运行的 MCP 服务通过 stdio 协议与 MCP 客户端通信。所有数据存储在本地~/.arai/目录下。4.2 认证与权限Arai 完全本地运行零云端依赖不需要任何认证。数据永远在你的机器上确保完全隐私。4.3 数据格式Arai 使用本地 JSONL 日志存储审计数据~/.arai/audit/审计日志目录~/.arai/config.toml配置文件4.4 服务器配置快速安装# 安装 curl -sSf https://arai.taniwha.ai/install | sh # 初始化项目 cd your-project arai initMCP 服务器配置# 运行 MCP 服务器stdio 模式 arai mcp5. 接口定义Arai MCP 提供 3 个核心工具接口工具描述arai_add_guard注册新护栏规则如Never force-push to main、Always run tests before pushing立即生效。规则像 CLAUDE.md 指令一样解析本地存储支持可选的 reason 字段记录在审计日志中arai_list_guards列出所有当前活动的规则以主体/谓词/客体三元组形式包括其源文件。支持可选的不区分大小写的子字符串过滤代理可在行动前检查实时约束arai_recent_decisions检索最近的护栏触发deny/inject/review详细说明调用了哪个工具、匹配了哪些规则及其来源。支持按会话 ID、时间窗口如1h、7d和结果数量过滤5.1 命令行工具命令描述arai init发现、提取、分类、扫描、设置 hooksarai status显示正在执行的内容arai guardrails列出所有活动规则arai why git push --force解释哪些规则会触发dry-run不写审计arai scan重新扫描指令文件arai add Never X手动添加规则arai audit检查规则触发的本地日志arai stats聚合审计日志 - 顶级规则、合规性、token 经济学arai severity alembic block固定规则的严重性增量拒绝推出arai diff CLAUDE.md在保存编辑前预览规则集增量arai test scenarios.json针对规则重放合成 hook 场景arai lint CLAUDE.md解析文件并预览提取的规则arai mcp运行 MCP 服务器stdio用于代理编写的护栏6. 快速开始6.1 环境要求Rust 环境支持的指令文件CLAUDE.md、.cursorrules、.windsurfrules、.github/copilot-instructions.md6.2 安装步骤# 安装 curl -sSf https://arai.taniwha.ai/install | sh # 初始化项目 cd your-project arai init6.3 支持的指令文件文件工具执行方式CLAUDE.mdClaude CodeHooksblock advise~/.claude/CLAUDE.mdClaude Code全局Hooksblock advise~/.claude/projects/*/memory/*.mdClaude Code memoryHooksblock advise.cursorrules/.cursor/rulesCursorMCPadvise.windsurfrulesWindsurfMCPadvise.github/copilot-instructions.mdGitHub Copilot仅摄取7. 注意事项拒绝模式 - 实际阻止不良操作从 v0.2.3 开始Arai 不再只是建议从禁止性谓词never、forbids、must_not派生的规则发出permissionDecision: deny使 Claude Code 拒绝工具调用。建议性规则always、requires、prefers保持之前的行为。严重性推断谓词严重性Hook 行为never,forbids,must_notblockpermissionDecision: deny 原因always,requires,enforceswarnpermissionDecision: allow 上下文prefers,learned_frominformpermissionDecision: allow 上下文智能匹配Arai 不仅仅做关键词匹配它理解你的规则意图分类never hand-write migration files 只在 Write 上触发不在 Edit 上触发代码图写入migrations/versions/触发 alembic 规则即使文件未提及 alembic内容嗅探检测正在写入的文件内容中的from alembic import op会话感知never push without running tests 在测试运行后抑制时序路由域规则在工具调用时触发原则保持静默已在 CLAUDE.md 中合规追踪在每次 PostToolUse 后Arai 关联调用与同一会话中的 PreToolUse 触发并为每个规则发出Compliance事件到审计日志obeyed禁止的短语在执行的命令中不存在或所需证据存在ignored禁止的短语仍在执行的命令中。模型仍然运行了该操作unclear没有足够的信号来决定规则过期 - 自我修剪规则在行尾使用(expires YYYY-MM-DD)或(until YYYY-MM-DD)注解规则。注解在解析时从规则体中剥离并单独存储load_guardrails过滤掉过期行规则自动停止触发。- Never touch the old auth module (expires 2026-09-01) - Always rebase against release-1.8 until 2026-12-31 - Prefer the new payment SDK over the legacy one (until 2027-06-30)