[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-plugin-culminationAI-claude-sounds-zh-CN":3,"guides-for-culminationAI-claude-sounds":297,"similar-k177x420rt91wyxp9zzfrxvt7s86m3b3-zh-CN":298},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":246,"isFallback":233,"parentExtension":250,"providers":251,"relations":257,"repo":260,"tags":293,"workflow":294},1778685748405.3774,"k177x420rt91wyxp9zzfrxvt7s86m3b3",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"您的 Claude Code 不应寂静无声。精心挑选的 10 个关键事件的声音。拖放 mp3 文件即可自定义。",{"claudeCode":12},"claude-sounds","Claude Sounds","https://github.com/culminationAI/claude-sounds",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":231,"workflow":244},1778685748405.3777,"kn77pr5smcbat6fzsncwcgzkzh86nnf9","zh-CN",{"checks":20,"evaluatedAt":199,"extensionSummary":200,"features":201,"nonGoals":207,"practices":211,"prerequisites":212,"promptVersionExtension":213,"promptVersionScoring":214,"purpose":215,"rationale":216,"score":217,"summary":218,"tags":219,"tier":225,"useCases":226,"workflow":230},[21,26,29,32,36,39,43,47,50,53,57,61,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,196],{"category":22,"check":23,"severity":24,"summary":25},"实用性","问题相关性","pass","描述清楚地说明了 Claude Code 环境寂静的问题以及通过为关键事件添加精心策划的声音来解决该问题。",{"category":22,"check":27,"severity":24,"summary":28},"独特卖点","该插件通过提供精心策划的音效来提供独特的价值，这些音效可以增强除基本 LLM 交互之外的用户体验，并提供自定义选项。",{"category":22,"check":30,"severity":24,"summary":31},"生产就绪性","该插件为其声明的用例提供了完整的生命周期，包括安装说明、声音映射、自定义选项以及未来增强功能的清晰路线图。",{"category":33,"check":34,"severity":24,"summary":35},"范围","单一职责原则","该插件专注于一个领域：为 Claude Code 事件提供音频反馈。",{"category":33,"check":37,"severity":24,"summary":38},"描述质量","显示的描述准确地反映了 README 和源文件中描述的插件功能。",{"category":40,"check":41,"severity":24,"summary":42},"调用","作用域工具","钩子使用清晰的匹配器限定到特定事件类型，并且 `play.sh` 脚本是用于播放声音的专用命令。",{"category":44,"check":45,"severity":24,"summary":46},"文档","配置和参数参考","README 详细说明了安装过程、声音映射、自定义，并提供了声音来源。没有提及隐式参数或配置文件。",{"category":33,"check":48,"severity":24,"summary":49},"工具命名","钩子根据它们触发的事件进行清晰命名，并且底层脚本是专用实用程序。",{"category":33,"check":51,"severity":24,"summary":52},"最小 I/O 表面","钩子命令是具有预定义参数的特定 shell 命令，并且输出由声音播放实用程序隐式处理。",{"category":54,"check":55,"severity":24,"summary":56},"许可证","许可证可用性","该插件根据 MIT 许可证分发，这是一个允许的开源许可证，并在 LICENSE 文件和 README 中明确说明。",{"category":58,"check":59,"severity":24,"summary":60},"维护","提交时效性","最后一次提交是在 2026 年 3 月 26 日，这在过去 3 个月内。",{"category":58,"check":62,"severity":63,"summary":64},"依赖管理","not_applicable","该扩展似乎没有任何第三方依赖项。",{"category":66,"check":67,"severity":63,"summary":68},"安全","秘密管理","该插件不处理任何秘密。",{"category":66,"check":70,"severity":24,"summary":71},"注入","该插件使用 shell 脚本根据预定义的模式播放声音，并且没有迹象表明将不受信任的第三方数据加载为指令。",{"category":66,"check":73,"severity":24,"summary":74},"传递供应链手榴弹","该插件使用本地脚本和声音文件；没有运行时下载或远程执行代码。",{"category":66,"check":76,"severity":24,"summary":77},"沙箱隔离","脚本仅与插件目录内的声音文件交互，并使用标准的 shell 命令进行播放，不接触外部文件或路径。",{"category":66,"check":79,"severity":24,"summary":80},"沙箱逃逸原语","脚本很简单，并且不使用分离的进程或在被拒绝的调用周围进行重试循环。",{"category":66,"check":82,"severity":24,"summary":83},"数据泄露","该插件仅播放本地声音文件，不发送任何数据出站。",{"category":66,"check":85,"severity":24,"summary":86},"隐藏文本技巧","捆绑的内容不包含隐藏的转向技巧，并且所有描述都干净利落。",{"category":88,"check":89,"severity":24,"summary":90},"钩子","不透明代码执行","钩子脚本是纯 bash 文件，没有被混淆或动态加载。",{"category":92,"check":93,"severity":24,"summary":94},"可移植性","结构假设","该插件使用相对路径来查找其声音文件和脚本，使其可以跨不同的用户项目结构进行移植。",{"category":96,"check":97,"severity":24,"summary":98},"信任","问题关注","在过去 90 天内没有未解决的问题，表明维护活跃或近期没有问题。",{"category":100,"check":101,"severity":24,"summary":102},"版本控制","发布管理","该插件在其清单和 README 中声明了 semver 版本 (0.2.0)。",{"category":104,"check":105,"severity":24,"summary":106},"代码执行","验证","钩子脚本使用基本的模式匹配来选择声音，并且 `play.sh` 脚本可能正在处理基本执行，而无需复杂的参数验证需求。",{"category":66,"check":108,"severity":63,"summary":109},"无防护的破坏性操作","该插件是只读的，不执行任何破坏性操作。",{"category":104,"check":111,"severity":24,"summary":112},"错误处理","bash 脚本应能优雅地处理错误（通过退出非零），并且声音播放命令不太可能导致级联故障。",{"category":104,"check":114,"severity":63,"summary":115},"日志记录","该插件是只读的，不执行需要审计日志记录的操作。",{"category":117,"check":118,"severity":63,"summary":119},"合规性","GDPR","该插件不处理个人数据。",{"category":117,"check":121,"severity":24,"summary":122},"目标市场","该插件普遍适用，没有地域限制；targetMarket 设置为 global。",{"category":92,"check":124,"severity":24,"summary":125},"运行时稳定性","该插件使用标准的 shell 命令和相对路径，确保在 macOS、Linux 和 Windows 之间的兼容性（如所述）。",{"category":44,"check":127,"severity":24,"summary":128},"README","存在 README 文件，清楚地说明了扩展的目的，并提供了安装和自定义说明。",{"category":33,"check":130,"severity":24,"summary":131},"工具表面大小","该插件公开了 10 个不同的事件钩子，这在推荐范围内。",{"category":40,"check":133,"severity":24,"summary":134},"重叠的近义词工具","每个钩子都对应一个不同的事件类型，并且没有近义词。",{"category":44,"check":136,"severity":24,"summary":137},"伪功能","README 中提到的所有功能，例如声音映射和自定义，都已实现并得到插件结构的支持。",{"category":139,"check":140,"severity":24,"summary":141},"安装","安装说明","README 提供了清晰的安装说明，包含可复制粘贴的命令和关于重启 Claude Code 的说明。",{"category":143,"check":144,"severity":24,"summary":145},"错误","可操作的错误消息","bash 脚本应在声音播放失败时提供基本的错误消息，并且文档没有暗示复杂的错误路径。",{"category":147,"check":148,"severity":63,"summary":149},"执行","固定的依赖项","该插件不使用任何第三方依赖项。",{"category":33,"check":151,"severity":63,"summary":152},"干运行预览","该插件仅用于音频反馈，不执行状态更改操作或发送出站数据。",{"category":154,"check":155,"severity":63,"summary":156},"协议","幂等重试和超时","该插件的操作是本地声音播放，不涉及需要幂等性或超时设置的远程调用或状态更改操作。",{"category":117,"check":158,"severity":24,"summary":159},"遥测选择加入","该插件似乎不收集或发送任何遥测数据。",{"category":40,"check":161,"severity":24,"summary":162},"名称冲突","该插件的钩子是独立的，似乎不会与内置的 Claude Code 命令或其他扩展发生冲突。",{"category":40,"check":164,"severity":24,"summary":165},"钩子关闭机制","README 提到了通过拖放 mp3 文件来自定义声音的可能性，这暗示了可以管理钩子，尽管没有明确的“钩子关闭”切换。鉴于它是一个仅声音插件，这是可以接受的。",{"category":40,"check":167,"severity":24,"summary":168},"钩子匹配器紧密度","钩子匹配器针对特定的事件类型（例如，“Write”、“Read”、“Bash”），而不是像所有钩子的“.*”这样过于宽泛的模式。",{"category":66,"check":170,"severity":24,"summary":171},"钩子安全","钩子执行本地脚本来播放声音，不执行破坏性操作或网络调用。",{"category":88,"check":173,"severity":63,"summary":174},"静默提示重写","该插件没有 `UserPromptSubmit` 钩子。",{"category":66,"check":176,"severity":63,"summary":177},"权限钩子","该插件不实现任何 `PermissionRequest` 钩子。",{"category":117,"check":179,"severity":24,"summary":180},"钩子隐私","钩子用于本地声音播放，不涉及将数据发送到任何网络服务。",{"category":104,"check":182,"severity":24,"summary":183},"钩子依赖","钩子定义在一个可读的 JSON 文件中，并调用一个简单的、在存储库内的 bash 脚本。",{"category":44,"check":185,"severity":24,"summary":186},"功能透明度","README 通过将事件映射到声音模式，清楚地解释了钩子的功能。",{"category":188,"check":189,"severity":24,"summary":190},"约定","布局约定一致性","该插件遵循预期的结构，包含 `.claude-plugin/plugin.json` 和单独目录中的钩子，并且 README 描述了安装过程。",{"category":188,"check":192,"severity":63,"summary":193},"插件状态","该插件似乎没有任何需要管理在 `${CLAUDE_PLUGIN_DATA}` 下的持久状态。",{"category":66,"check":195,"severity":63,"summary":68},"钥匙串存储的秘密",{"category":139,"check":197,"severity":24,"summary":198},"干净卸载","该插件仅在本地播放声音，不启动后台守护进程或安装系统级组件，从而确保干净卸载。",1778685727938,"该插件通过为写作、阅读、网络搜索、代理活动和用户提示等各种事件播放精心策划的音效来增强 Claude Code 体验。它包含 21 个声音文件，并随机选择以增加多样性，并允许用户通过将自己的 MP3 文件拖放到指定目录来自定义声音。",[202,203,204,205,206],"为 10 个关键 Claude Code 事件播放精心策划的音效。","随机选择声音以增加多样性。","允许通过拖放用户 MP3 文件进行自定义。","为每个事件提供清晰的声音映射。","跨平台兼容性（macOS、Linux、Windows）。",[208,209,210],"修改 Claude Code 的核心功能。","提供复杂的声音处理工具。","与外部通信平台集成。",[],[],"3.0.0","4.4.0","通过为关键操作提供听觉反馈，使 Claude Code 环境更具吸引力和响应性，从而增强用户体验和意识。","该插件在所有检查中都表现出高质量，没有关键或警告发现。为数不多的信息性发现与该插件的简单功能无关。",99,"一个执行良好的插件，通过为 Claude Code 事件提供可配置的音效来增强用户体验。",[220,221,222,223,224],"audio","sounds","hooks","feedback","customization","verified",[227,228,229],"通过背景任务的听觉提示增强开发者的专注度。","使用自定义声音主题个性化 Claude Code 环境。","通过独特的声音提高对代理活动和通知的意识。",[],{"codeQuality":232,"collectedAt":234,"documentation":235,"maintenance":238,"security":241,"testCoverage":243},{"hasLockfile":233},false,1778685705644,{"descriptionLength":236,"readmeSize":237},106,1852,{"closedIssues90d":8,"forks":8,"hasChangelog":233,"manifestVersion":239,"openIssues90d":8,"pushedAt":240,"stars":8},"0.2.0",1774501692000,{"hasNpmPackage":233,"license":242,"smitheryVerified":233},"MIT",{"hasCi":233,"hasTests":233},{"updatedAt":245},1778685748405,{"basePath":247,"githubOwner":248,"githubRepo":12,"locale":18,"slug":12,"type":249},"","culminationAI","plugin",null,{"evaluate":252,"extract":255},{"promptVersionExtension":213,"promptVersionScoring":214,"score":217,"tags":253,"targetMarket":254,"tier":225},[220,221,222,223,224],"global",{"commitSha":256,"license":242},"HEAD",{"repoId":258,"translatedFrom":259},"kd7ep5caaygy834qwa9555j0ds86ndjh","k17brs9a63dq8xst00dnqhhr1186n5zm",{"_creationTime":261,"_id":258,"identity":262,"providers":263,"workflow":289},1778685700658.7747,{"githubOwner":248,"githubRepo":12,"sourceUrl":14},{"classify":264,"discover":283,"github":286},{"commitSha":256,"extensions":265},[266],{"basePath":247,"description":267,"displayName":12,"installMethods":268,"license":242,"rationale":269,"selectedPaths":270,"source":281,"sourceLanguage":282,"type":249},"Your Claude Code shouldn't be silent. Carefully selected sounds for 10 key events. Drop mp3s to customize.",{"claudeCode":12},"plugin manifest at .claude-plugin/plugin.json",[271,274,276,279],{"path":272,"priority":273},".claude-plugin/plugin.json","mandatory",{"path":275,"priority":273},"README.md",{"path":277,"priority":278},"LICENSE","high",{"path":280,"priority":278},"hooks/hooks.json","rule","en",{"sources":284},[285],"manual",{"closedIssues90d":8,"description":287,"forks":8,"license":242,"openIssues90d":8,"pushedAt":240,"readmeSize":237,"stars":8,"topics":288},"Your Claude Code shouldn't be silent. Carefully selected sounds for 10 key events.",[],{"classifiedAt":290,"discoverAt":291,"extractAt":292,"githubAt":292,"updatedAt":290},1778685704730,1778685700658,1778685702962,[220,224,223,222,221],{"evaluatedAt":295,"extractAt":296,"updatedAt":245},1778685728051,1778685704898,[],[299,329,357,383,415,439],{"_creationTime":300,"_id":301,"community":302,"display":303,"identity":308,"providers":310,"relations":321,"tags":324,"workflow":325},1778699562111.8264,"k174a28y9e8kpqfrx634vc3whd86ntx2",{"reviewCount":8},{"description":304,"installMethods":305,"name":306,"sourceUrl":307},"734 个用于 Claude Code 的安全钩子 — 在自主 AI 编码会话期间防止文件删除、凭证泄露、git 灾难和令牌浪费",{"claudeCode":306},"cc-safe-setup","https://github.com/yurukusa/cc-safe-setup",{"basePath":247,"githubOwner":309,"githubRepo":306,"locale":18,"slug":306,"type":249},"yurukusa",{"evaluate":311,"extract":317},{"promptVersionExtension":213,"promptVersionScoring":214,"score":217,"tags":312,"targetMarket":254,"tier":225},[313,222,314,315,316],"security","safety","code-quality","cli",{"commitSha":256,"license":242,"plugin":318},{"mcpCount":8,"provider":319,"skillCount":320},"classify",1,{"repoId":322,"translatedFrom":323},"kd75r9w9e5zg6a7p0g22f0n1td86nsat","k178wjnjd4vs7xhw95cq04689n86nhkt",[316,315,222,314,313],{"evaluatedAt":326,"extractAt":327,"updatedAt":328},1778699475909,1778699381979,1778699562111,{"_creationTime":330,"_id":331,"community":332,"display":333,"identity":338,"providers":339,"relations":348,"tags":352,"workflow":353},1778699488319.683,"k1712kg39gcnk95dyy7jynvfvh86mt6a",{"reviewCount":8},{"description":334,"installMethods":335,"name":336,"sourceUrl":337},"为 Claude Code 的自动化运行提供生产环境安全钩子。包括上下文监控、语法检查、分支保护、活动日志记录等。",{"claudeCode":336},"claude-code-hooks","https://github.com/yurukusa/claude-code-hooks",{"basePath":247,"githubOwner":309,"githubRepo":336,"locale":18,"slug":336,"type":249},{"evaluate":340,"extract":345},{"promptVersionExtension":213,"promptVersionScoring":214,"score":217,"tags":341,"targetMarket":254,"tier":225},[314,222,342,343,316,344,313],"autonomous","production","monitoring",{"commitSha":256,"license":242,"plugin":346},{"mcpCount":8,"provider":319,"skillCount":347},2,{"parentExtensionId":349,"repoId":350,"translatedFrom":351},"k179rvzf2x5tsmmwbvpyv0mgxn86mkc8","kd7eh26xf9ft5m4mhhe34kedv586nq7c","k17cm6081dkz91ebw27jqh38q586nfry",[342,316,222,344,343,314,313],{"evaluatedAt":354,"extractAt":355,"updatedAt":356},1778699440255,1778699408572,1778699488319,{"_creationTime":358,"_id":359,"community":360,"display":361,"identity":366,"providers":370,"relations":377,"tags":379,"workflow":380},1778692488329.0122,"k1706nwc7f8zp4gh4th2smsax186n2ez",{"reviewCount":8},{"description":362,"installMethods":363,"name":364,"sourceUrl":365},"TDD workflow enforcement with auto-test hook",{"claudeCode":364},"tdd","https://github.com/luiseiman/claude-kit",{"basePath":367,"githubOwner":368,"githubRepo":369,"locale":282,"slug":364,"type":249},"stacks/tdd","luiseiman","claude-kit",{"evaluate":371,"extract":376},{"promptVersionExtension":213,"promptVersionScoring":214,"score":217,"tags":372,"targetMarket":254,"tier":225},[364,373,374,375,222],"testing","workflow","automation",{"commitSha":256},{"repoId":378},"kd79wqc8an5wh20cc2znr8tyb586mxwx",[375,222,364,373,374],{"evaluatedAt":381,"extractAt":382,"updatedAt":381},1778692847867,1778692488329,{"_creationTime":384,"_id":385,"community":386,"display":387,"identity":392,"providers":394,"relations":406,"tags":410,"workflow":411},1778688530317.6575,"k17bmz2ym9hq2bdg77t7ne9tts86nxzj",{"reviewCount":8},{"description":388,"installMethods":389,"name":390,"sourceUrl":391},"为 Claude Code 提供基于主题的自动记忆——跨会话或压缩时绝不会丢失上下文。",{"claudeCode":390},"claude-recap","https://github.com/hatawong/claude-recap",{"basePath":247,"githubOwner":393,"githubRepo":390,"locale":18,"slug":390,"type":249},"hatawong",{"evaluate":395,"extract":403},{"promptVersionExtension":213,"promptVersionScoring":214,"score":217,"tags":396,"targetMarket":254,"tier":225},[397,398,222,399,400,401,402],"memory","persistence","context-management","local-storage","bash","nodejs",{"commitSha":256,"license":242,"plugin":404},{"mcpCount":8,"provider":319,"skillCount":405},4,{"parentExtensionId":407,"repoId":408,"translatedFrom":409},"k17944zm3ehfvm4ntncyz1dzyx86nc6v","kd78y3gm1ky53msejxede6b4x986nqyc","k17b9bmvrv1a5e41w678q1yvrh86m81g",[401,399,222,400,397,402,398],{"evaluatedAt":412,"extractAt":413,"updatedAt":414},1778688364899,1778688322101,1778688530317,{"_creationTime":416,"_id":417,"community":418,"display":419,"identity":425,"providers":429,"relations":433,"tags":435,"workflow":436},1778685949178.7913,"k178893jhzrwa53g69xtvqwt8h86n6p8",{"reviewCount":8},{"description":420,"installMethods":421,"name":423,"sourceUrl":424},"Essential safety hooks to prevent destructive operations in Claude Code. From cc-safe-setup (655+ hooks).",{"claudeCode":422},"hooks-safety","Hooks Safety","https://github.com/davepoon/buildwithclaude",{"basePath":426,"githubOwner":427,"githubRepo":428,"locale":282,"slug":422,"type":249},"plugins/hooks-safety","davepoon","buildwithclaude",{"evaluate":430,"extract":432},{"promptVersionExtension":213,"promptVersionScoring":214,"score":217,"tags":431,"targetMarket":254,"tier":225},[313,222,314,401,316],{"commitSha":256,"license":242},{"repoId":434},"kd719kw54vhmcscq7ckdp59fg586mnt6",[401,316,222,314,313],{"evaluatedAt":437,"extractAt":438,"updatedAt":437},1778687676247,1778685949178,{"_creationTime":440,"_id":441,"community":442,"display":443,"identity":447,"providers":449,"relations":455,"tags":457,"workflow":458},1778685949178.7827,"k170rwjrvqfk6ds7k236jggbx986n0cx",{"reviewCount":8},{"description":444,"installMethods":445,"name":446,"sourceUrl":424},"Automation Hooks - Event-driven automation hooks",{"claudeCode":446},"hooks-automation",{"basePath":448,"githubOwner":427,"githubRepo":428,"locale":282,"slug":446,"type":249},"plugins/hooks-automation",{"evaluate":450,"extract":454},{"promptVersionExtension":213,"promptVersionScoring":214,"score":217,"tags":451,"targetMarket":254,"tier":225},[375,222,452,453],"event-driven","developer-tools",{"commitSha":256,"license":242},{"parentExtensionId":456,"repoId":434},"k17dg0d5d8g0a5nhm59gm0tkwx86nbt4",[375,453,452,222],{"evaluatedAt":459,"extractAt":438,"updatedAt":459},1778686849622]