[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-cli-zunoworks-gateguard-zh-CN":3,"guides-for-zunoworks-gateguard":304,"similar-k179anr9v4r9f95y1ncsxwcd2n86mbjt-zh-CN":305},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":245,"isFallback":231,"parentExtension":248,"providers":249,"relations":255,"repo":258,"tags":300,"workflow":301},1778699655796.4836,"k179anr9v4r9f95y1ncsxwcd2n86mbjt",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"Claude Code 的事实强制钩子。在编辑前让 AI 暂停并调查。",{"pypi":12},"gateguard-ai","gateguard","https://github.com/zunoworks/gateguard",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":229,"workflow":243},1778699655796.484,"kn711vdyhscse9hqeggzkvk5bh86my3y","zh-CN",{"checks":20,"evaluatedAt":198,"extensionSummary":199,"features":200,"nonGoals":205,"promptVersionExtension":209,"promptVersionScoring":210,"purpose":211,"rationale":212,"score":213,"summary":214,"tags":215,"tier":223,"useCases":224},[21,26,29,32,36,39,44,48,51,54,58,62,65,69,72,75,78,81,84,87,91,95,99,103,107,110,113,116,120,123,126,129,132,135,138,142,146,150,153,157,160,163,166,169,172,175,178,181,184,187,191,194],{"category":22,"check":23,"severity":24,"summary":25},"Practical Utility","Problem relevance","pass","描述清楚地说明了 AI 代理在没有充分调查或理解上下文的情况下进行编辑的问题。",{"category":22,"check":27,"severity":24,"summary":28},"Unique selling proposition","该扩展提供了一种新颖的“拒绝 + 强制调查 + 要求证据”方法，这与简单的自我评估提示不同，并且能明显提高代码质量。",{"category":22,"check":30,"severity":24,"summary":31},"Production readiness","该工具可以通过 pip 安装，与 Claude Code 钩子集成，并且其描述的工作流程涵盖了 AI 辅助编码修改的完整生命周期，包括破坏性操作。",{"category":33,"check":34,"severity":24,"summary":35},"Scope","Single responsibility principle","该扩展仅专注于充当 AI 代码修改的门卫，遵守单一、明确定义的职责。",{"category":33,"check":37,"severity":24,"summary":38},"Description quality","显示的描述准确地反映了该工具在编辑前强制 AI 进行调查的核心功能。",{"category":40,"check":41,"severity":42,"summary":43},"Invocation","Scoped tools","not_applicable","这是一个带有命令的 CLI 工具，而不是一个带有工具的技能。 “范围限定工具”的概念不直接适用。",{"category":45,"check":46,"severity":24,"summary":47},"Documentation","Configuration & parameter reference","`.gateguard.yml` 中的配置选项清晰显示，并且 README 中记录了带有参数和标志的 CLI 命令。",{"category":33,"check":49,"severity":24,"summary":50},"Tool naming","CLI 命令（'init'、'logs'、'reset'）和钩子命令（'gateguard-hook'）具有描述性，并遵循清晰的命名约定。",{"category":33,"check":52,"severity":24,"summary":53},"Minimal I/O surface","CLI 命令接受特定参数或基于配置文件运行，并且钩子处理设计为产生最少、结构化的输出或拒绝。",{"category":55,"check":56,"severity":24,"summary":57},"License","License usability","该扩展在 MIT 许可下获得许可，该许可具有宽松性，并在 LICENSE 文件和 pyproject.toml 中清晰说明。",{"category":59,"check":60,"severity":24,"summary":61},"Maintenance","Commit recency","最后一次提交是在 2026 年 4 月 24 日，在过去 3 个月内。",{"category":59,"check":63,"severity":24,"summary":64},"Dependency Management","主要依赖项是 `pyyaml`，开发依赖项已列出；通常遵循 Python 包管理实践。",{"category":66,"check":67,"severity":24,"summary":68},"Security","Secret Management","该工具不直接处理或暴露秘密；其目的是管理 AI 操作，而不是管理用户凭据。",{"category":66,"check":70,"severity":24,"summary":71},"Injection","该工具操作提供的命令和文件路径，其钩子机制旨在防止意外的指令执行。",{"category":66,"check":73,"severity":24,"summary":74},"Transitive Supply-Chain Grenades","该工具依赖本地 Python 依赖项和自己的脚本；它不在运行时获取外部代码或数据。",{"category":66,"check":76,"severity":24,"summary":77},"Sandbox Isolation","该工具在 Claude Code 环境内运行，并与其配置文件和状态文件进行交互，不尝试修改其定义范围之外的任意用户文件。",{"category":66,"check":79,"severity":24,"summary":80},"Sandbox escape primitives","钩子脚本设计在 Claude Code 环境内运行，并且似乎不包含逃逸此沙箱的原始方法。",{"category":66,"check":82,"severity":24,"summary":83},"Data Exfiltration","该工具的主要功能是管理 AI 操作和收集本地审计日志，没有进行数据外泄的出站调用。",{"category":66,"check":85,"severity":24,"summary":86},"Hidden Text Tricks","捆绑的代码和文档不包含任何隐藏的文本技巧或混淆，旨在误导模型。",{"category":88,"check":89,"severity":24,"summary":90},"Hooks","Opaque code execution","Python 代码以明文、可读的源代码提供，不使用 base64 负载或 `eval` 等混淆技术。",{"category":92,"check":93,"severity":24,"summary":94},"Portability","Structural Assumption","该工具对用户项目结构的初始化做出了合理假设，并与用户特定的 Claude Code 配置目录进行交互。",{"category":96,"check":97,"severity":24,"summary":98},"Trust","Issues Attention","过去 90 天内没有打开和关闭的 issue，表明这是一个新项目或近期活动很少但没有未解决的 issue。",{"category":100,"check":101,"severity":24,"summary":102},"Versioning","Release Management","项目在 pyproject.toml 和 PyPI 上声明其版本，并带有清晰的发布标签。",{"category":104,"check":105,"severity":24,"summary":106},"Code Execution","Validation","该工具使用标准的 Python 实践来解析配置和命令行参数，暗示了内部验证。",{"category":66,"check":108,"severity":24,"summary":109},"Unguarded Destructive Operations","破坏性的 Bash 命令由 `fact_force_bash_destructive` 门显式处理，该门在执行前强制进行调查。",{"category":104,"check":111,"severity":24,"summary":112},"Error Handling","Python 脚本处理 JSON 解析错误并提供默认回退；钩子逻辑设计为拒绝和报告错误，而不是崩溃。",{"category":104,"check":114,"severity":24,"summary":115},"Logging","该工具将门事件记录到 `~/.gateguard/gate_log.jsonl`，为操作提供审计跟踪。",{"category":117,"check":118,"severity":42,"summary":119},"Compliance","GDPR","该工具不处理个人数据；它管理开发环境内的 AI 操作。",{"category":117,"check":121,"severity":24,"summary":122},"Target market","该工具专为 Claude Code 和通用 Python 开发工作流程设计，未检测到特定区域限制。'global' 是合适的。",{"category":92,"check":124,"severity":24,"summary":125},"Runtime stability","该工具是一个 Python 脚本，旨在用于 Claude Code 运行的标准 POSIX 环境，没有特定于操作系统的假设。",{"category":45,"check":127,"severity":24,"summary":128},"README","README 文件内容全面，清晰说明了扩展的目的，并提供了安装、使用和工作流程的详细信息。",{"category":33,"check":130,"severity":24,"summary":131},"Tool surface size","CLI 公开了少量、集中的命令（init、logs、reset）以及钩子脚本。",{"category":40,"check":133,"severity":24,"summary":134},"Overlapping near-synonym tools","CLI 命令是独立的，没有重叠的近义词。",{"category":45,"check":136,"severity":24,"summary":137},"Phantom features","README 中提到的所有功能，如不同的门和 CLI 命令，都有相应的实现。",{"category":139,"check":140,"severity":24,"summary":141},"Install","Installation instruction","README 提供了通过 pip 的清晰安装说明和可复制的设置命令（'gateguard init'）。",{"category":143,"check":144,"severity":24,"summary":145},"Errors","Actionable error messages","该工具为配置问题、钩子故障和无效输入提供了清晰的错误消息，指导用户进行修复。",{"category":147,"check":148,"severity":24,"summary":149},"Execution","Pinned dependencies","依赖项在 pyproject.toml 中声明，Python 打包最佳实践意味着通过锁文件或标准解析进行固定。",{"category":33,"check":151,"severity":42,"summary":152},"Dry-run preview","该工具的功能是管理 AI 操作，而不是执行需要预演预览的破坏性操作。",{"category":154,"check":155,"severity":42,"summary":156},"Protocol","Idempotent retry & timeouts","该工具的核心逻辑是基于钩子的，并且在 Claude Code 环境中是事务性的；它不涉及需要这些特定协议保证的远程调用或状态更改操作。",{"category":117,"check":158,"severity":24,"summary":159},"Telemetry opt-in","该工具的日志记录是本地的，并且可以通过使用选择加入，没有遥测数据发送到外部服务。",{"category":40,"check":161,"severity":24,"summary":162},"Hierarchical discoverable arguments","CLI 命令是平坦但简单的，并且为每个命令提供了带有示例的帮助文本。",{"category":40,"check":164,"severity":24,"summary":165},"Unknown-flag handling","使用了标准的 Python argparse，通常会用信息性错误处理未知标志。",{"category":66,"check":167,"severity":24,"summary":168},"Secrets not in argv","该工具不直接处理用户秘密；其门机制专注于 AI 行为，而不是凭据管理。",{"category":40,"check":170,"severity":24,"summary":171},"Parseable --version","`gateguard --version` 以可解析的格式输出单行。",{"category":40,"check":173,"severity":24,"summary":174},"Flag precedence","配置通过 `.gateguard.yml` 和 CLI 参数管理，并且通过标准 CLI 工具行为和文档化的 init 流程暗示了明确的优先级。",{"category":40,"check":176,"severity":42,"summary":177},"Schema introspection","作为一个主要与 Claude Code 的钩子系统和本地配置交互的 CLI 工具，它不公开其自身操作的机器可读模式。",{"category":40,"check":179,"severity":24,"summary":180},"Prompt bypass","CLI 命令不涉及交互式提示；钩子机制依赖于结构化输出和配置，而不是执行期间的用户输入。",{"category":139,"check":182,"severity":24,"summary":183},"No unnecessary global install","主要安装方法是 `pip install`，这是 Python 包的标准方法，可以与虚拟环境一起使用。",{"category":139,"check":185,"severity":24,"summary":186},"Pipe-to-shell installer","安装说明使用 `pip install`，避免了不安全的管道到 shell 方法。",{"category":188,"check":189,"severity":24,"summary":190},"Output","Stream separation","CLI 工具适当地分离了标准输出（版本、日志）和诊断信息（错误）。钩子输出是结构化的 JSON。",{"category":188,"check":192,"severity":24,"summary":193},"Structured output mode","钩子机制在拒绝操作时会生成结构化的 JSON 输出，使 AI 能够处理反馈。CLI 还提供结构化日志。",{"category":195,"check":196,"severity":24,"summary":197},"Subprocess behavior","Signal handling","作为 Python 脚本，它通常会继承标准的信号处理，其短暂的操作不太可能导致持久的孤立进程。",1778699634327,"GateGuard 是一个 Python CLI 工具，它充当 Claude Code 等 AI 代理的预执行钩子。它会拦截文件编辑、写入和 bash 命令，迫使 AI 在继续之前提供具体的事实和上下文，从而提高代码质量并减少错误。",[201,202,203,204],"在文件编辑和 bash 命令之前强制 AI 进行调查","为读前编辑、事实强制编辑/写入和破坏性 bash 命令实现门禁","提供用于初始化、查看日志和重置状态的 CLI","跟踪文件读取以强制执行读前编辑策略",[206,207,208],"替换 AI 代理本身","直接管理用户凭据或秘密","执行 AI 门控工作流程之外的任意文件操作","3.0.0","4.4.0","通过防止过早或缺乏上下文的修改来增强 AI 生成代码的可靠性和质量，确保 AI 在采取行动前进行彻底调查。","该扩展是一个文档齐全、已为生产环境准备就绪的 CLI 工具，具有明确的目的和强大的安全与实现实践。唯一的“不适用”检查是由于该工具的性质（作为钩子/CLI 而非具有更广泛协议要求的服务或库）。",98,"一个健壮且安全的 CLI 工具，通过在代码修改前强制执行调查来提高 AI 编码质量。",[216,217,218,219,220,221,222],"claude","ai-agent","guardrail","python","cli","developer-tool","code-quality","verified",[225,226,227,228],"确保 AI 代理在进行更改前理解代码上下文","防止 AI 代理偏离既定的代码模式或用户指令","提高 AI 助手生成代码的质量和可靠性","审计 AI 在执行破坏性操作前的决策过程",{"codeQuality":230,"collectedAt":232,"documentation":233,"maintenance":236,"security":239,"testCoverage":241},{"hasLockfile":231},false,1778699620115,{"descriptionLength":234,"readmeSize":235},92,9336,{"closedIssues90d":8,"forks":8,"hasChangelog":231,"openIssues90d":8,"pushedAt":237,"stars":238},1777043361000,2,{"hasNpmPackage":231,"license":240,"smitheryVerified":231},"MIT",{"hasCi":242,"hasTests":242},true,{"updatedAt":244},1778699655796,{"basePath":246,"githubOwner":247,"githubRepo":13,"locale":18,"slug":13,"type":220},"","zunoworks",null,{"evaluate":250,"extract":253},{"promptVersionExtension":209,"promptVersionScoring":210,"score":213,"tags":251,"targetMarket":252,"tier":223},[216,217,218,219,220,221,222],"global",{"commitSha":254},"HEAD",{"repoId":256,"translatedFrom":257},"kd7cpymv9nv5641nqx7d2mj0p586nzwt","k17fzvw7q4e13rbrdphydzdfwx86nqag",{"_creationTime":259,"_id":256,"identity":260,"providers":261,"workflow":296},1778699613042.667,{"githubOwner":247,"githubRepo":13,"sourceUrl":14},{"classify":262,"discover":285,"github":288},{"commitSha":254,"extensions":263},[264],{"basePath":246,"installMethods":265,"rationale":266,"selectedPaths":267,"source":283,"sourceLanguage":284,"type":220},{"pypi":12},"cli ecosystem detected at /",[268,271,273,276,279,281],{"path":269,"priority":270},"pyproject.toml","mandatory",{"path":272,"priority":270},"README.md",{"path":274,"priority":275},"LICENSE","high",{"path":277,"priority":278},"src/gateguard/cli.py","medium",{"path":280,"priority":278},"src/gateguard/hook.py",{"path":282,"priority":278},"src/gateguard/read_tracker.py","rule","en",{"sources":286},[287],"manual",{"closedIssues90d":8,"description":289,"forks":8,"license":240,"openIssues90d":8,"pushedAt":237,"readmeSize":235,"stars":238,"topics":290},"A fact-forcing hook gate for Claude Code. Makes the AI pause and investigate before editing.",[291,222,292,293,294,219,295],"claude-code","developer-tools","hook","llm-safety","ai-guardrail",{"classifiedAt":297,"discoverAt":298,"extractAt":299,"githubAt":299,"updatedAt":297},1778699617498,1778699613042,1778699615911,[217,216,220,222,221,218,219],{"evaluatedAt":302,"extractAt":303,"updatedAt":244},1778699634441,1778699617694,[],[306,337,367,394,422,449],{"_creationTime":307,"_id":308,"community":309,"display":310,"identity":316,"providers":319,"relations":329,"tags":332,"workflow":333},1778697166802.8904,"k17brwp2rz821bkz2zeazsv5td86mdep",{"reviewCount":8},{"description":311,"installMethods":312,"name":314,"sourceUrl":315},"AI约束引擎 — 强制执行 CLAUDE.md、.cursorrules、AGENTS.md 规则，如同法律一般。拥有 51 个 MCP 工具，991 个测试。官方 MCP 注册表。 npx speclock protect",{"pypi":313},"speclock_ros2","speclock-ros2","https://github.com/sgroy10/speclock",{"basePath":314,"githubOwner":317,"githubRepo":318,"locale":18,"slug":314,"type":220},"sgroy10","speclock",{"evaluate":320,"extract":328},{"promptVersionExtension":209,"promptVersionScoring":210,"score":321,"tags":322,"targetMarket":252,"tier":223},100,[323,324,221,220,325,326,327],"ai-constraints","code-enforcement","security","mcp","robotics",{"commitSha":254},{"repoId":330,"translatedFrom":331},"kd73m85wtkj05xmfff4vq695hn86mgg4","k177h2k24qprbp2pjjs5tsb9r586nywg",[323,220,324,221,326,327,325],{"evaluatedAt":334,"extractAt":335,"updatedAt":336},1778697123911,1778697107735,1778697166803,{"_creationTime":338,"_id":339,"community":340,"display":341,"identity":347,"providers":351,"relations":361,"tags":363,"workflow":364},1778692456956.1392,"k175y95md19renhn0q6ve6e8ed86n081",{"reviewCount":8},{"description":342,"installMethods":343,"name":345,"sourceUrl":346},"Open-source AI agent firewall for MCP security: agent egress control, DLP, SSRF, and prompt injection defense.",{"go":344},"github.com/pipelockdev/pipelock/tools/demo-metrics","demo-metrics","https://github.com/luckyPipewrench/pipelock",{"basePath":348,"githubOwner":349,"githubRepo":350,"locale":284,"slug":345,"type":220},"tools/demo-metrics","luckyPipewrench","pipelock",{"evaluate":352,"extract":360},{"promptVersionExtension":209,"promptVersionScoring":210,"score":353,"tags":354,"targetMarket":252,"tier":223},99,[325,355,356,217,326,357,358,359],"firewall","proxy","dlp","injection-defense","command-line",{"commitSha":254},{"repoId":362},"kd728h5jcjjje6rbqwymfj9zph86m4jp",[217,359,357,355,358,326,356,325],{"evaluatedAt":365,"extractAt":366,"updatedAt":365},1778692536994,1778692456956,{"_creationTime":368,"_id":369,"community":370,"display":371,"identity":376,"providers":378,"relations":386,"tags":389,"workflow":390},1778696899121.198,"k179fy81z6pkj987dv3beqw4zs86m27b",{"reviewCount":8},{"description":372,"installMethods":373,"name":374,"sourceUrl":375},"Claude Code 的上下文清理 — 修剪臃肿的会话，保护 Agent Teams 免于上下文丢失，通过分层修剪自动防护",{"npm":374,"pypi":374},"cozempic","https://github.com/Ruya-AI/cozempic",{"basePath":246,"githubOwner":377,"githubRepo":374,"locale":18,"slug":374,"type":220},"Ruya-AI",{"evaluate":379,"extract":385},{"promptVersionExtension":209,"promptVersionScoring":210,"score":353,"tags":380,"targetMarket":252,"tier":223},[216,381,382,383,384,220,219],"session","context","pruning","optimization",{"commitSha":254},{"repoId":387,"translatedFrom":388},"kd79d77qmyh3826dwhk7ynx9xd86nmqm","k177hk154d2wjt39bm54ke8kyn86mz3n",[216,220,382,384,383,219,381],{"evaluatedAt":391,"extractAt":392,"updatedAt":393},1778696840607,1778696712852,1778696899121,{"_creationTime":395,"_id":396,"community":397,"display":398,"identity":404,"providers":407,"relations":416,"tags":418,"workflow":419},1778698535352.3315,"k171k49wrnbgw2q102k3tpdj8d86nk41",{"reviewCount":8},{"description":399,"installMethods":400,"name":402,"sourceUrl":403},"AI Elements is a component library and custom registry built on top of shadcn/ui to help you build AI-native applications faster.",{"npm":401},"ai-elements","Vercel CLI","https://github.com/vercel/ai-elements",{"basePath":405,"githubOwner":406,"githubRepo":401,"locale":284,"slug":220,"type":220},"packages/cli","vercel",{"evaluate":408,"extract":414},{"promptVersionExtension":209,"promptVersionScoring":210,"score":353,"tags":409,"targetMarket":252,"tier":223},[220,410,406,221,411,412,413],"deployment","automation","infrastructure","cloud",{"commitSha":254,"license":415},"Apache-2.0",{"repoId":417},"kd7bmemx4stzs4sg8v742f96hs86nn1h",[411,220,413,410,221,412,406],{"evaluatedAt":420,"extractAt":421,"updatedAt":420},1778698656693,1778698535352,{"_creationTime":423,"_id":424,"community":425,"display":426,"identity":432,"providers":435,"relations":443,"tags":445,"workflow":446},1778694578248.1074,"k1761s0cbnce7qwccb3zrxct5186mkxt",{"reviewCount":8},{"description":427,"installMethods":428,"name":430,"sourceUrl":431},"The fastest path to AI-powered full stack observability, even for lean teams.",{"cargo":429},"rdp","Netdata Field Encoder CLI","https://github.com/netdata/netdata",{"basePath":433,"githubOwner":434,"githubRepo":434,"locale":284,"slug":429,"type":220},"src/crates/rdp","netdata",{"evaluate":436,"extract":441},{"promptVersionExtension":209,"promptVersionScoring":210,"score":353,"tags":437,"targetMarket":252,"tier":223},[438,439,440,220,221],"observability","data-processing","encoding",{"commitSha":254,"license":442},"GPL-3.0-or-later",{"repoId":444},"kd70yp91ybn40a638h3hzz6nbd86m2cw",[220,439,221,440,438],{"evaluatedAt":447,"extractAt":448,"updatedAt":447},1778694927532,1778694578248,{"_creationTime":450,"_id":451,"community":452,"display":453,"identity":458,"providers":461,"relations":470,"tags":473,"workflow":474},1778688148010.584,"k1723dx4kptbknbxjdhajks0hs86m4xd",{"reviewCount":8},{"description":454,"installMethods":455,"name":456,"sourceUrl":457},"一个用于 Claude Code、OpenCode、Gemini 和 Codex 的元提示、上下文工程和规范驱动开发系统（作者：TÂCHES）。",{"npm":456},"get-shit-done-cc","https://github.com/gsd-build/get-shit-done",{"basePath":246,"githubOwner":459,"githubRepo":460,"locale":18,"slug":460,"type":220},"gsd-build","get-shit-done",{"evaluate":462,"extract":469},{"promptVersionExtension":209,"promptVersionScoring":210,"score":463,"tags":464,"targetMarket":252,"tier":223},97,[465,216,466,467,220,468],"ai","workflow","development","code-generation",{"commitSha":254,"license":240},{"repoId":471,"translatedFrom":472},"kd742g8972gs9150hkbr4r696986nzza","k177a2tx8trp59d6qddfgyqfhs86m99h",[465,216,220,468,467,466],{"evaluatedAt":475,"extractAt":476,"updatedAt":477},1778688110243,1778688084060,1778688148010]