mcpField
S
Speclock

Speclock

本地服务
sgroy10.github.io开发工具2510 周前更新

关于 Speclock

SpecLock 是一个约束引擎,用于将 CLAUDE.md、AGENTS.md、.cursorrules 等规则文件中的约束转化为编辑、命令和提交前的检查。适合使用 Claude Code、Cursor 等 AI 编码工具的开发者,其特点是进行语义冲突检测而非关键词匹配。

主要功能

  1. 01读取现有 AI 规则文件并提取约束
  2. 02在编辑和 Shell 命令执行前进行检查
  3. 03语义冲突检测,识别间接违规
  4. 04提供建议模式与强制阻断模式
  5. 05基于 HMAC 链的审计记录
  6. 06通过 MCP 工具向多款编码工具开放检查能力

适用场景

  1. 01防止 AI 编码工具修改受保护的模块,如认证或支付逻辑
  2. 02在 Git 提交和 CI 中补充约束校验
  3. 03在团队中以角色和 API Key 管理约束的修改与覆盖

MCP 相关

SpecLock 是 MCP 服务,向 Claude Code、Cursor、Codex、Windsurf 和 Cline 等客户端提供 51 个工具,客户端可在执行操作前调用它进行约束检查。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"speclock": {
"command": "npx",
"args": [
"-y",
"speclock"
]
}
}
}
启动命令npx -y speclock

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmspeclock5.5.3

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

SpecLock

规则文件告诉 AI 不要改什么。
SpecLock 负责强制执行。

阻止 Claude Code、Cursor、Codex、Windsurf 及其他 AI 编码工具越过你已写在 CLAUDE.md、AGENTS.md 和 .cursorrules 中的项目约束。

npm version npm downloads CI MIT License MCP 51 tools

安装 · 查看拦截效果 · Claude Code 插件 · 网站 · Saves Wall

为什么还要一个规则工具? 规则文件只是上下文。在漫长的编码会话中,它们可能被遗忘、稀释或覆盖。SpecLock 将这些规则转化为检查,在编辑、shell 命令和提交之前运行。

看看区别

CLAUDE.md:  Never modify the authentication system.

You:        Add social login to the login page.

Without SpecLock
Claude:     I'll update the auth flow and add an OAuth provider...

With SpecLock (strict mode)
SpecLock:   BLOCKED — conflicts with "Never modify the authentication system"
            Match: login → auth → authentication
            The action was denied before the files changed.

SpecLock 使用语义冲突检测,而非简单的关键词匹配。当“清理旧患者数据”“精简结账流程”或“临时禁用 MFA”等间接操作违反生效中的约束时,它能将其捕获。

60 秒完成设置

在你想要保护的项目中运行:

npx speclock@latest protect          # reads existing AI rule files; advisory by default
npx speclock@latest doctor           # confirms rules, hooks, and integration

当建议模式的输出符合预期后,启用拦截:

npx speclock@latest protect --strict

无需账号。SpecLock 默认在本地运行,建议模式永远不会拦截更改。

安装为 Claude Code 插件

在 Claude Code 中运行:

/plugin marketplace add sgroy10/speclock
/plugin install speclock@speclock-marketplace

然后对当前项目执行一次保护:

npx speclock@latest protect          # warnings only
npx speclock@latest protect --strict # block confirmed conflicts

该插件会自动启动 SpecLock 的 MCP 服务,并在执行前检查 Claude Code 的 Write、Edit 和 Bash 操作。它包含全部 51 个 MCP 工具,并可与现有的 CLAUDE.md 协同工作。

安装到其他编码 Agent

SpecLock 已针对多个 Agent 生态打包,但执行级别取决于各宿主所暴露的能力:

平台安装/发现路径保护级别
Claude Code上文的原生市场插件针对 Write、Edit 和 Bash 的原生操作前检查
Gemini CLI将此仓库安装为 Gemini 扩展MCP 辅助检查加项目上下文
CursorAgent Plugin / Cursor 市场包MCP 辅助检查加规则
Codexplugins/speclock 中的仓库 Codex 插件MCP 辅助检查加 $speclock-guardrails 技能
GitHub Copilot CLI将此仓库添加为插件市场MCP 辅助检查加捆绑插件上下文
ClineMCP 服务;精选市场提交进行中MCP 辅助检查
Windsurfspeclock mcp install windsurfMCP 辅助检查加规则
任何 Git 客户端或 CIspeclock protect独立于编码 Agent 的提交/CI 强制执行

MCP 辅助意味着 Agent 可以在行动前调用 SpecLock;它并不保证拦截。当某项约束必须强制执行而不受客户端影响时,请使用 speclock protect --strict 和 CI。

SpecLock 与记忆和技能职责不同:记忆召回上下文,技能提供流程,而 SpecLock 根据明确的约束验证计划的操作。 它减少约束漂移;它无法保证事实正确性,也无法让模型免于幻觉。

当前客户端支持的仓库安装:

gemini extensions install https://github.com/sgroy10/speclock
copilot plugin marketplace add sgroy10/speclock
copilot plugin install speclock@speclock-marketplace

你将获得

能力作用
操作前检查在 Claude Code 写入、编辑和 shell 命令运行前进行审查
语义约束检测同义词、委婉语、复合请求和间接违规
Git 强制执行在提交时增加第二道防护
建议和严格模式从警告开始;准备好后选择启用硬性阻止
审计追踪在防篡改的 HMAC 链中记录决策
MCP 集成向 Claude Code、Cursor、Codex、Windsurf 和 Cline 暴露 51 个工具
可分享的节省回执通过 speclock wins 展示 SpecLock 阻止了什么

公开验证

  • 10,000+ 次 npm 下载,在原生 Claude Code 插件发布之前。
  • 跨 24 个套件的 1,043 项自动化测试,包括对抗性冲突、误报案例、补丁分析、强制执行、认证和合规。
  • MIT 许可,可端到端审查。
  • 本地优先默认设置,可选远程功能明确分离。

你最常用的命令

speclock protect                      # extract constraints and install project protection
speclock protect --strict             # enable hard enforcement
speclock doctor                       # verify the complete setup
speclock check "action description"   # preview whether an action conflicts
speclock add-lock "rule"              # add a constraint explicitly
speclock list-locks                    # inspect active constraints
speclock enforce hard|advisory         # switch enforcement mode
speclock mcp install <client>          # Claude Code, Cursor, Windsurf, Cline, or Codex
speclock wins                          # create a shareable save receipt

完整参考:npx speclock@latest help

v5.8.0 新增内容

  • 用于 Cursor 兼容发现的便携式 Agent Plugin 打包。
  • Gemini CLI 扩展打包,带 MCP 启动和约束上下文。
  • 带 $speclock-guardrails 技能和固定 MCP 服务的 Codex 插件。
  • 通过仓库市场实现 GitHub Copilot CLI 兼容性。
  • 明确的各平台执行标签:原生钩子、MCP 辅助或 Git/CI。
更多链接和项目徽章

Blocked by SpecLock Smithery · 徽章画廊 · Sandeep Roy

## 问题所在

AI 编码工具现在有记忆了。Claude Code 有 CLAUDE.md。Cursor 有 .cursorrules。Mem0 也已经存在。

但没有强制执行的记忆毫无用处。

你的 AI 记得 你使用 PostgreSQL——然后因为它“看起来更好”而切换到 MongoDB。你的 AI 记得 你的认证设置——然后在“修复”一个 bug 时把它重写。你在 3 次会话前说过“永远不要碰支付逻辑”——AI 根本不在乎。

记住并不等于尊重。 现有工具都无法阻止 AI 破坏你锁定的东西。

工作原理

你设定约束。SpecLock 强制执行它们——跨会话、跨工具、跨团队。

speclock lock "Never modify auth files"           → auto-guards src/auth/*.ts
speclock lock "Database must stay PostgreSQL"      → catches "migrate to MongoDB"
speclock lock "Never delete patient records"       → catches "clean up old data"
speclock lock "Don't touch the payment flow"       → catches "streamline checkout"

语义引擎不做关键词匹配。它能理解:

  • “clean up old data” = 删除(委婉语检测)
  • “streamline checkout” = 修改支付流程(同义词 + 概念映射)
  • “temporarily disable logging” = 禁用日志(临时规避检测)
  • “Update UI and also drop the users table” = 隐藏违规(复合句拆分)

而且它知道什么是安全的:

  • 当锁定规则说“绝不禁用审计日志”时,“Enable audit logging” → 无冲突(意图一致)

按平台快速开始

Bolt.new / Aider / 任何 npm 平台
npx speclock setup --goal "Build my app" --template nextjs

创建 SPECLOCK.md,将规则注入 package.json,生成 .speclock/context/latest.md。AI 会自动读取这些文件。

Claude Code

使用上述命令安装插件。如果只想使用 MCP 而不需要插件钩子,请将以下内容添加到 .mcp.json:

{
  "mcpServers": {
    "speclock": {
      "command": "npx",
      "args": ["--yes", "[email protected]", "serve", "--project", "."]
    }
  }
}
Cursor / Windsurf / Cline

配置相同——添加到 .cursor/mcp.json 或等效文件。

Lovable(无需安装)
  1. 前往 Settings → Connectors → New MCP server
  2. 输入 URL:https://speclock-mcp-production.up.railway.app/mcp
  3. 将 项目说明 粘贴到 Knowledge 中

为什么选择 SpecLock 而不是其他方案?

Claude MemoryMem0.cursorrulesSpecLock
记住上下文是是手动是
阻止 AI 破坏东西否否否是
语义冲突检测否否否是——经过对抗性测试覆盖
防篡改审计追踪否否否HMAC-SHA256 链
硬性强制执行(AI 无法继续)否否否是
SOC 2 / HIPAA 合规导出否否否是
加密存储(AES-256-GCM)否否否是
RBAC + API key 认证否否否4 种角色
Policy-as-Code DSL否否否YAML 规则
适用于 Bolt.new、Lovable 等否否否是

其他工具只是记住。SpecLock 强制执行。


语义引擎

不是关键词匹配——而是语义分析,可选地结合 Gemini Flash 混合模式处理灰色地带和跨领域情况。仓库包含对抗性、误报、问题框架、补丁网关和 diff 分析测试套件。

类别检测率示例
直接违规100%"Delete the auth module" 与锁定项 "Never modify auth"
委婉攻击100%"Clean up old patient data" = 删除
临时规避100%"Temporarily disable MFA" = 禁用 MFA
稀释攻击100%违规行为被埋藏在多部分请求中
复合句100%"Update UI and also drop users table"
同义词替换100%"Sunset the API" = 移除 API
支付品牌名称(11 个网关)100%"Add Razorpay" / "Implement PayU" 与 "Must use Stripe"
薪资/工资单跨词汇100%"Optimize salary" 与 "Payroll records locked"
安全系统绕过100%"Disable safety interlock" = 绕过安全机制
未知领域(通过 Gemini)100%游戏、生物技术、航空航天、音乐、法律
安全操作(真负例)0% FP"Change the font" 正确通过 auth 锁定

底层机制: 65+ 同义词组 · 80+ 委婉语映射 · 领域概念图(金融科技、电子商务、IoT、医疗健康、SaaS、支付、游戏、电信、政府)· 意图分类器 · 复合句拆分器 · 临时规避检测器 · 动词时态归一化 · UI 外观检测 · 安全意图模式 · 被动语态解析——全部使用纯 JavaScript。Gemini Flash 混合模式处理灰色地带情况($0.01/1000 次检查)。


硬性执行

两种模式:

Advisory (default):  AI gets a warning, decides what to do
Hard mode:           AI is BLOCKED — MCP returns isError, AI cannot proceed
speclock enforce hard   # Enable hard mode — violations above threshold are blocked
  • 可配置阈值——默认 70%。仅 HIGH 置信度冲突会阻断。
  • 带原因覆盖——speclock override <lockId> "JIRA-1234: approved by CTO"(记录到审计追踪)
  • 自动升级——锁定被覆盖 3 次以上 → 自动标记以供审查

企业级安全

API 密钥认证 + RBAC
speclock auth create-key --role developer --name "CI Bot"
# → sk_speclock_a1b2c3... (shown once, stored as SHA-256 hash)
角色读取写入锁定覆盖管理
viewer是———
developer是—需附原因—
architect是是是—
admin是是是是
AES-256-GCM 加密
export SPECLOCK_ENCRYPTION_KEY="your-secret"
speclock encrypt   # Encrypts brain.json + events.log at rest

PBKDF2 密钥派生(100K 次迭代)。认证加密。符合 HIPAA 2026 标准。

HMAC 审计链

每个事件都会获得一个 HMAC-SHA256 哈希,链接到前一个事件。修改任何内容——链就会断裂。

$ speclock audit-verify

✓ Audit chain VALID — 247 events, 0 broken links, no tampering detected.
合规导出
speclock export --format soc2    # SOC 2 Type II report (JSON)
speclock export --format hipaa   # HIPAA PHI protection report
speclock export --format csv     # All events for auditor spreadsheets

策略即代码

用于组织范围执行的声明式 YAML 规则:

# .speclock/policy.yml
rules:
  - name: "HIPAA PHI Protection"
    match:
      files: ["**/patient/**", "**/medical/**"]
      actions: [delete, modify, export]
    enforce: block
    severity: critical

  - name: "No direct DB mutations"
    match:
      files: ["**/models/**"]
      actions: [delete]
    enforce: warn
    severity: high

在项目之间导入和导出策略。在整个组织内共享约束模板。


REST API v2

实时约束检查、补丁审查和自主系统:

# Patch Gateway (v5.1)
POST /api/v2/gateway/review        { description, files, useLLM }

# AI Patch Firewall (v5.2)
POST /api/v2/gateway/review-diff   { description, files, diff, options }
POST /api/v2/gateway/parse-diff    { diff }

# Typed constraint checking
POST /api/v2/check-typed    { metric, value, entity }
POST /api/v2/check-batch    { checks: [...] }

# SSE streaming (real-time violations)
GET  /api/v2/stream

# Spec Compiler
POST /api/v2/compiler/compile  { text, autoApply }

# Code Graph
GET  /api/v2/graph/blast-radius?file=src/core/memory.js
GET  /api/v2/graph/lock-map
POST /api/v2/graph/build

51 个 MCP 工具

记忆——目标、锁定、决策、笔记、部署事实
工具功能
speclock_init在项目中初始化 SpecLock
speclock_get_context完整上下文包(核心工具)
speclock_set_goal设置项目目标
speclock_add_lock添加约束 + 自动守护文件
speclock_remove_lock软删除锁定
speclock_add_decision记录架构决策
speclock_add_note添加固定笔记
speclock_set_deploy_facts记录部署配置
执行——冲突检测、硬性阻断、覆盖 | 工具 | 功能 | |------|-------------| | `speclock_check_conflict` | 针对所有锁进行语义冲突检查 | | `speclock_set_enforcement` | 切换建议/强制模式 | | `speclock_override_lock` | 带原因地覆盖(记录审计) | | `speclock_override_history` | 查看覆盖审计记录 | | `speclock_semantic_audit` | 根据锁分析 git diff | | `speclock_detect_drift` | 扫描约束违规 | | `speclock_audit` | 提交前审计暂存文件 |
跟踪与会话 — 变更、事件、会话连续性
工具功能
speclock_session_briefing开始会话 + 完整简报
speclock_session_summary结束会话 + 记录摘要
speclock_log_change记录带文件的变更
speclock_get_changes最近的已跟踪变更
speclock_get_events完整事件日志(可筛选)
speclock_checkpoint用于回滚的 git tag
speclock_repo_status分支、提交、diff 摘要
智能 — 建议、健康、模板、报告
工具功能
speclock_suggest_locksAI 驱动的锁建议
speclock_health健康评分 + 多 Agent 时间线
speclock_apply_template应用约束模板
speclock_report违规统计 + 最常被测试的锁
企业 — 审计、合规、策略、遥测
工具功能
speclock_verify_audit验证 HMAC 链完整性
speclock_export_complianceSOC 2 / HIPAA / CSV 报告
speclock_policy_evaluate评估策略规则
speclock_policy_manage策略规则的 CRUD
speclock_telemetry选择加入的分析
类型化约束 — 数值、范围、状态、时间 (v5.0)
工具功能
speclock_add_typed_lock添加类型化约束(数值/范围/状态/时间)
speclock_check_typed根据类型化约束检查建议值
speclock_list_typed_locks列出所有类型化约束
speclock_update_threshold更新类型化锁阈值
规范编译器与代码图 — NL→约束、依赖分析 (v5.0)
工具功能
speclock_compile_spec将自然语言编译为结构化约束
speclock_build_graph构建/刷新代码依赖图
speclock_blast_radius计算文件变更的影响半径
speclock_map_locks将锁映射到实际代码文件
补丁网关与 AI 补丁防火墙 — 变更审查、diff 分析 (v5.1/v5.2)
工具功能
speclock_review_patch对建议变更给出 ALLOW/WARN/BLOCK 判定
speclock_review_patch_diff原生 diff 审查,带信号评分 + 统一判定
speclock_parse_diff将统一 diff 解析为结构化变更(调试/检查)
通用规则同步与事件重放 — 跨工具同步、会话重放 (v5.3)
工具功能
speclock_sync_rules将约束同步到 Cursor、Claude、Copilot、Windsurf、Gemini、Aider、AGENTS.md
speclock_list_sync_formats列出所有可用的同步格式
speclock_replay重放会话的活动 — AI 尝试了什么,以及什么被拦截了
speclock_list_sessions列出可用于重放的会话
speclock_drift_score0-100 项目完整性指标 — AI 偏离意图的程度
speclock_coverage锁覆盖率审计 — 找出未受保护的代码区域
speclock_strengthen给锁评分并建议更强的版本

CLI

# Setup
speclock setup --goal "Build my app" --template nextjs

# Constraints
speclock lock "Never modify auth files" --tags auth,security
speclock lock remove <id>
speclock check "Add social login"              # Test before doing

# Enforcement
speclock enforce hard                          # Block violations
speclock override <lockId> "JIRA-1234"         # Override with reason

# Audit & Compliance
speclock audit-verify                          # Verify HMAC chain
speclock export --format soc2                  # Compliance report
speclock audit-semantic                        # Semantic pre-commit

# Git
speclock hook install                          # Pre-commit hook
speclock audit                                 # Audit staged files

# Templates
speclock template apply safe-defaults          # Vibe coding seatbelt (5 locks)
speclock template apply solo-founder           # Indie builder essentials (3 locks)
speclock template apply hipaa                  # HIPAA healthcare (8 locks)
speclock template apply api-stability          # API contract protection (6 locks)
speclock template apply nextjs                 # Next.js constraints
speclock template apply security-hardened      # Security hardening

# Sync to AI tools
speclock sync --all                            # Sync to ALL tools
speclock sync --format cursor                  # Cursor only
speclock sync --format claude                  # Claude Code only
speclock sync --preview windsurf               # Preview without writing

# Incident Replay
speclock replay                                # Replay last session
speclock replay --list                         # List sessions
speclock replay --session <id>                 # Replay specific session

# Project Health
speclock drift                                 # Drift Score (0-100)
speclock drift --days 7                        # Last 7 days only
speclock coverage                              # Lock Coverage Audit
speclock strengthen                            # Grade and improve locks

# Share & Stats
speclock wins                                  # Shareable "Save Receipt" (screenshot it!)
speclock wrapped                               # All-time + monthly recap (alias: recap)
speclock stats                                 # Your local usage dashboard
speclock badge                                 # Print README badges (6 variants + live badge)

# Auth
speclock auth create-key --role developer
speclock auth rotate-key <keyId>

# Policy
speclock policy init                           # Create policy.yml
speclock policy evaluate --files "src/auth/*"  # Test against rules

完整命令参考:npx speclock help


自动防护

当你锁定某项内容时,SpecLock 会查找相关文件,并在 AI 打开这些文件时注入其可见的警告:

speclock lock "Never modify auth files"
→ Auto-guarded 2 files:
  🔒 src/components/Auth.tsx
  🔒 src/contexts/AuthContext.tsx

AI 打开该文件后会看到:

// ============================================================
// SPECLOCK-GUARD — DO NOT MODIFY THIS FILE
// LOCKED: Never modify auth files
// ONLY "unlock" or "remove the lock" is permission to edit.
// ============================================================

架构

┌──────────────────────────────────────────────────┐
│     AI Tool (Claude Code, Cursor, Bolt.new...)    │
└────────────┬──────────────────┬──────────────────┘
             │                  │
   MCP Protocol (51 tools)    npm File-Based
             │              (SPECLOCK.md + CLI)
             │                  │
┌────────────▼──────────────────▼──────────────────┐
│            SpecLock Core Engine                    │
│                                                    │
│  Semantic Engine ─── 65+ synonym groups            │
│  HMAC Audit ──────── SHA-256 hash chain            │
│  Enforcer ────────── advisory / hard block         │
│  Auth + RBAC ─────── 4 roles, API keys             │
│  AES-256-GCM ─────── encrypted at rest             │
│  Policy DSL ──────── YAML rules                    │
│  Compliance ──────── SOC 2, HIPAA, CSV             │
│  SSO ─────────────── Okta, Azure AD, Auth0         │
└──────────────────────┬───────────────────────────┘
                       │
                 .speclock/
                 ├── brain.json        (project memory)
                 ├── events.log        (HMAC audit trail)
                 ├── policy.yml        (policy rules)
                 ├── auth.json         (API keys — gitignored)
                 └── context/
                     └── latest.md     (AI-readable context)

3 个 npm 依赖。 语义引擎零运行时依赖。纯 JavaScript。


配置

变量默认值描述
SPECLOCK_API_KEY—用于认证访问的 API 密钥
SPECLOCK_ENCRYPTION_KEY—启用静态 AES-256-GCM 加密
SPECLOCK_NO_PROXYfalse设为 true 以启用仅启发式模式(约 250ms)。跳过 Gemini 代理(约 2s)
SPECLOCK_LLM_KEY—你自己的大模型 API 密钥(Gemini/OpenAI/Anthropic)
GEMINI_API_KEY—用于混合冲突检测的 Google Gemini API 密钥
SPECLOCK_TELEMETRYfalse选择加入的匿名使用分析

提示: 仅启发式引擎即可在约 250ms 内达到 95%+ 准确率。Gemini 代理增加了跨领域覆盖,但需要约 2s。为获得最快响应,请设置 SPECLOCK_NO_PROXY=true。


测试结果

发布前门禁会在每次 npm 发布前运行全部 24 个套件。如果任何测试失败,发布将被阻止。

套件测试数通过率覆盖内容
真实世界测试者111100%5 位开发者,30+ 个锁定,多样化领域
对抗性冲突46100%委婉语、时间规避、复合句
阶段 4(多领域)91100%金融科技、电子商务、IoT、医疗保健、SaaS
Sam(企业 HIPAA)124100%HIPAA 锁定、PHI、加密、RBAC
认证与加密114100%API 密钥、RBAC、AES-256 加密
John(独立开发者历程)86100%8 个会话的 Bolt.new 构建,包含 5 个锁定
差异化原生审查76100%接口破坏、模式变更、API 影响
补丁网关57100%ALLOW/WARN/BLOCK 判定、爆炸半径
合规导出50100%SOC 2、HIPAA、CSV 格式
强制执行40100%硬性/建议模式、覆盖
审计链35100%HMAC-SHA256 链完整性
代码图33100%导入解析、爆炸半径、锁定映射
规范编译器24100%自然语言→约束解析、自动应用
类型化约束13100%数值、范围、状态、时间验证
Claude 回归9100%Vue 检测、安全意图、补丁网关
问题表述9100%“如果我们……”和“这会有多难……”
REST API v29100%类型化约束端点、SSE
PII/导出检测8100%SSN、电子邮件导出、数据访问违规
Guardian(保护)47100%零配置规则文件提取
总计1043100%24 个套件,15+ 个领域

可复现的项目测试门禁: 在 v5.8.0 上,全部 1,043 个仓库测试均通过。这些是项目维护的自动化场景,而非第三方认证;你可以自行运行 npm test。

测试覆盖:金融科技、电子商务、IoT、医疗保健、SaaS、游戏、生物技术、航空航天、支付、薪资、机器人、自主系统、电信、保险、政府。检测到全部 11 个印度支付网关。对 UI/外观操作零误报。


模拟开发者历程

John 场景 — 在 Bolt.new 上的独立开发者

8 个会话构建一个电子商务应用。5 个锁定(认证、Firebase、Supabase、物流、Stripe)。每一次直接违规都被捕获。每一次委婉攻击都被捕获(“清理认证”、“现代化数据库”、“精简无服务器”)。对安全操作(产品页面、购物车、深色模式)零误报。86/86 测试通过。

Sam 场景 — 构建 HIPAA 医院 ERP 的高级工程师

10 个会话,包含 8 个 HIPAA 锁定。每一次违规都被捕获——暴露 PHI、移除加密、禁用审计、降级 MFA、绕过 FHIR。捕获了委婉的 HIPAA 攻击(“简化数据流”、“现代化认证”)。完整的认证 + RBAC + 加密 + 合规导出工作流已验证。124/124 测试通过。


定价

层级价格你获得的内容
免费$010 个锁、冲突检测、MCP、命令行
Pro$19/月无限锁、HMAC 审计、合规导出
Enterprise$99/月+ RBAC、加密、SSO、策略即代码

更新日志

过往版本的功能导览。上方的快速开始和新功能部分涵盖了 v5.7.0–v5.8.0——本节保留了 v5.0–v5.5 中发布功能的详细信息。

v5.4 — Drift Score、Lock Coverage、Lock Strengthener

Drift Score。 你的 AI 构建的项目偏离了原始意图多少?只有 SpecLock 能回答这个问题——因为只有 SpecLock 知道意图是什么,与实际完成的是什么。

$ speclock drift

Drift Score: 23/100 (B) — minor drift
Trend: improving | Period: 30 days | Active locks: 8

Signal Breakdown:
  Violations:      6/30  (4 violations in 12 checks)
  Overrides:       5/20  (1 override)
  Reverts:         3/15  (1 revert detected)
  Lock churn:      0/15  (0 removed, 3 added)
  Goal stability:  0/10  (1 goal change)
  Session gaps:    9/10  (3/5 unsummarized)

README badge: ![Drift Score](https://img.shields.io/badge/drift_score-23%2F100-brightgreen.svg)

Lock Coverage Audit。 SpecLock 扫描你的代码库并告诉你哪些是未受保护的:

$ speclock coverage

Lock Coverage: 60% (B) — partially protected

  [COVERED] CRITICAL authentication   2 file(s)
  [EXPOSED] CRITICAL payments         1 file(s)
  [COVERED] CRITICAL secrets          0 file(s)
  [COVERED] HIGH     api-routes       2 file(s)

Suggested Locks (ready to apply):
  1. [CRITICAL] payments (1 file at risk)
     speclock lock "Never modify payment processing or billing without permission"

就像安全扫描器,但针对的是 AI 约束缺口。

Lock Strengthener。 你的锁可能过于模糊。SpecLock 会对每一个进行评分并给出改进建议:

$ speclock strengthen

Lock Strength: 72/100 (B) — 3 strong, 1 weak

[WEAK  ] 45/100 (D)  "don't touch auth"
          Issue: Too vague — short locks miss edge cases
          Issue: No specific scope
          Suggested: "Never modify, refactor, or delete auth..."

[STRONG] 90/100 (A)  "Never expose API keys in client-side code, logs, or error messages"
v5.3 — Universal Rules Sync、Incident Replay、Safety Templates

Universal Rules Sync。 一条命令即可将你的 SpecLock 约束同步到所有 AI 编码工具:

speclock sync --all
SpecLock Sync Complete
  ✓ Cursor             → .cursor/rules/speclock.mdc
  ✓ Claude Code        → CLAUDE.md
  ✓ AGENTS.md          → AGENTS.md (Linux Foundation standard)
  ✓ Windsurf           → .windsurf/rules/speclock.md
  ✓ GitHub Copilot     → .github/copilot-instructions.md
  ✓ Gemini             → GEMINI.md
  ✓ Aider              → .aider.conf.yml

7 file(s) synced.

在 SpecLock 中定义一次约束,同步到所有地方。--format cursor 用于单一格式,--preview 用于试运行,--list 用于查看支持的格式。

Incident Replay。 你的 AI 编码会话的飞行记录器:

speclock replay

Session: ses_a1b2c3 (claude-code, 47 min)
────────────────────────────────────────────
14:02  [ALLOW]   Create user profile component
14:08  [ALLOW]   Add form validation
14:15  [WARN]    Simplify authentication flow
                 → matched lock: "Never modify auth"
14:23  [BLOCK]   Clean up old user records
                 → euphemism detected: "clean up" = deletion
14:31  [ALLOW]   Update landing page hero section

Score: 5 events | 3 allowed | 1 warned | 1 BLOCKED

speclock replay --list 列出会话;--session <id> 重放特定会话。

Safety Templates。 预构建的约束包:

speclock template apply safe-defaults   # 5 locks — "Vibe Coding Seatbelt"
speclock template apply solo-founder    # 3 locks — auth, payments, data
speclock template apply hipaa           # 8 locks — HIPAA healthcare
speclock template apply api-stability   # 6 locks — API contract protection

Safe Defaults 防止 5 种最常见的 AI 灾难:数据库删除、认证移除、密钥泄露、错误处理移除、日志禁用。

v5.2 — AI Patch Firewall

审查实际差异,而不仅仅是描述。捕获意图审查遗漏的问题:

POST /api/v2/gateway/review-diff
{
  "description": "Remove password column",
  "diff": "diff --git a/migrations/001.sql ..."
}

→ { verdict: "BLOCK",
    reviewMode: "unified",
    intentVerdict: "ALLOW",     ← description alone looks safe
    diffVerdict: "BLOCK",       ← diff reveals destructive schema change
    signals: {
      schemaChange: { score: 12, isDestructive: true },
      interfaceBreak: { score: 10 },
      protectedSymbolEdit: { score: 8 },
      dependencyDrift: { score: 5 },
      publicApiImpact: { score: 0 }
    },
    recommendation: { action: "require_approval" } }

信号检测: 接口破坏、锁定区域中的受保护符号编辑、依赖漂移、schema/迁移破坏性变更、公共 API 路由变更。硬升级: 对破坏性 schema 变更、移除的 API 路由、受保护符号编辑自动 BLOCK。统一审查: 合并意图(35%)+ 差异(65%),采用更强的裁决。

v5.1 — Patch Gateway

一次 API 调用即可管控每一次变更。接收描述 + 文件列表,返回 ALLOW/WARN/BLOCK:

speclock_review_patch({
  description: "Add social login to auth page",
  files: ["src/auth/login.js"]
})

→ { verdict: "BLOCK", riskScore: 85,
    reasons: [{ type: "semantic_conflict", lock: "Never modify auth" }],
    blastRadius: { impactPercent: 28.3 },
    summary: "BLOCKED. 1 constraint conflict. 12 files affected." }

将语义冲突检测 + 锁到文件的映射 + 爆炸半径 + 类型化约束感知组合成单一风险评分(0-100)。

v5.0 — Spec Compiler、Code Graph、类型化约束、Python SDK 和 ROS2

Spec Compiler。 粘贴 PRD、README 或架构文档——SpecLock 自动提取所有约束:

Input:  "We're building a fintech app. Use React and FastAPI.
         Never touch the auth module. Response time must stay
         under 200ms. Payments go through Stripe."

Output: 2 text locks:
          - "Never touch the auth module"
          - "Payments go through Stripe — don't change provider"
        1 typed lock:
          - response_time_ms <= 200 (numerical)
        2 decisions:
          - "Use React for frontend"
          - "Use FastAPI for backend"

默认使用 Gemini Flash(每 1000 次编译 $0.01)。

Code Graph。 你的代码库的实时依赖图。解析 JS/TS/Python 导入。

$ speclock blast-radius src/core/memory.js

Direct Dependents:  8 files
Transitive Impact:  14 files (33% of codebase)
Max Depth:          4 hops

锁到文件的映射自动将锁映射到源文件;模块检测将文件分组为逻辑模块。

类型化约束。 针对自主系统、IoT、机器人技术的实时值和状态检查:

// Numerical: speed must be <= 2.0 m/s
{ constraintType: "numerical", metric: "speed_mps", operator: "<=", value: 2.0 }

// Range: temperature must stay between 20-25°C
{ constraintType: "range", metric: "temperature_c", min: 20, max: 25 }

// State: never go from armed → disarmed without approval
{ constraintType: "state", metric: "system_mode", forbidden: [{ from: "armed", to: "disarmed" }] }

// Temporal: heartbeat must occur every 30 seconds
{ constraintType: "temporal", metric: "heartbeat_s", operator: "<=", value: 30 }

Python SDK 和 ROS2。

pip install speclock-sdk
from speclock import SpecLock

sl = SpecLock(project_root=".")
result = sl.check_text("Switch database to MongoDB")
result = sl.check_typed(metric="speed_mps", value=3.5)
result = sl.check(action="Increase speed", speed_mps=3.5)

使用与 Node.js MCP 服务相同的 .speclock/brain.json。ROS2 Guardian Node 订阅 /joint_states、/cmd_vel、/speclock/state_transition;将违规发布到 /speclock/violations;通过 /speclock/emergency_stop 触发紧急停止。


展示你的支持

如果 SpecLock 让你的项目免于凌晨 3 点的事故,请将此徽章添加到你的 README:

[![Protected by SpecLock](https://img.shields.io/badge/Protected_by-SpecLock-FF6B2C?style=flat&logo=lock)](https://github.com/sgroy10/speclock)

或在终端中运行 speclock badge 查看所有变体。完整图库:sgroy10.github.io/speclock/badge.html · 完整文档:BADGES.md。

每一次采用都帮助另一位开发者发现 SpecLock,并阻止他们的 AI 破坏他们的项目。谢谢。

帮助传播

想帮助 SpecLock 触达更多开发者?你需要发布的所有内容——推文、LinkedIn 草稿、Reddit 模板、Show HN 文案、Discord 消息、一句话简介、电梯演讲——都已在 VIRAL-KIT.md 中预先撰写并经过事实核查。复制、粘贴、发送。毫不费力。


贡献

欢迎在 GitHub 上提交 Issue 和 PR。

许可证

MIT

作者

SpecLock 由 Sandeep Roy 创建并维护。

Sandeep Roy 是 SpecLock 的唯一开发者——这是一个 AI 约束引擎,可在各 AI 编码会话中强制执行项目规则。全部 51 个 MCP 工具、语义冲突检测引擎、企业级安全功能(SOC 2、HIPAA、RBAC、加密)以及发布前测试门禁均由 Sandeep Roy 设计和构建。


SpecLock v5.8.0 — 跨平台操作护栏,具备原生 Claude Code 强制执行、MCP 集成、1,043 项核心测试和 51 个 MCP 工具。由 Sandeep Roy 开发。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。