[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-marketplace-hatawong-claude-recap-zh-CN":3,"guides-for-hatawong-claude-recap":367,"similar-k17fs1ymywhbng23h8z1bjjxt586n8ky-zh-CN":368},{"_creationTime":4,"_id":5,"children":6,"community":52,"display":53,"evaluation":58,"identity":252,"isFallback":236,"parentExtension":254,"providers":255,"relations":262,"repo":263,"tags":364,"workflow":365},1778688520325.5852,"k17fs1ymywhbng23h8z1bjjxt586n8ky",[7],{"_creationTime":8,"_id":9,"community":10,"display":12,"identity":17,"providers":22,"relations":43,"tags":47,"workflow":48},1778688530317.6575,"k17bmz2ym9hq2bdg77t7ne9tts86nxzj",{"reviewCount":11},0,{"description":13,"installMethods":14,"name":15,"sourceUrl":16},"为 Claude Code 提供基于主题的自动记忆——跨会话或压缩时绝不会丢失上下文。",{"claudeCode":15},"claude-recap","https://github.com/hatawong/claude-recap",{"basePath":18,"githubOwner":19,"githubRepo":15,"locale":20,"slug":15,"type":21},"","hatawong","zh-CN","plugin",{"evaluate":23,"extract":37},{"promptVersionExtension":24,"promptVersionScoring":25,"score":26,"tags":27,"targetMarket":35,"tier":36},"3.0.0","4.4.0",99,[28,29,30,31,32,33,34],"memory","persistence","hooks","context-management","local-storage","bash","nodejs","global","verified",{"commitSha":38,"license":39,"plugin":40},"HEAD","MIT",{"mcpCount":11,"provider":41,"skillCount":42},"classify",4,{"parentExtensionId":44,"repoId":45,"translatedFrom":46},"k17944zm3ehfvm4ntncyz1dzyx86nc6v","kd78y3gm1ky53msejxede6b4x986nqyc","k17b9bmvrv1a5e41w678q1yvrh86m81g",[33,31,30,32,28,34,29],{"evaluatedAt":49,"extractAt":50,"updatedAt":51},1778688364899,1778688322101,1778688530317,{"reviewCount":11},{"description":54,"installMethods":55,"name":57,"sourceUrl":16},"Claude Code 的基于主题的自动记忆",{"claudeCode":56},"hatawong/claude-recap","claude-recap-marketplace",{"_creationTime":59,"_id":60,"extensionId":5,"locale":20,"result":61,"trustSignals":234,"workflow":250},1778688520325.5854,"kn7dx0jhyq2g41k9bqwmbhgee586mrcw",{"checks":62,"evaluatedAt":208,"extensionSummary":209,"features":210,"nonGoals":216,"promptVersionExtension":220,"promptVersionScoring":25,"purpose":221,"rationale":222,"score":223,"summary":224,"tags":225,"tier":36,"useCases":229},[63,68,71,74,78,81,85,89,92,95,99,103,106,110,113,116,119,122,125,128,132,136,140,144,148,151,154,157,161,164,167,170,173,176,179,183,187,191,195,199,202,205],{"category":64,"check":65,"severity":66,"summary":67},"Practical Utility","Problem relevance","pass","描述清楚地说明了 Claude Code 在会话和压缩过程中忘记上下文的问题。",{"category":64,"check":69,"severity":66,"summary":70},"Unique selling proposition","该扩展通过提供自动主题归档、跨会话记忆和压缩恢复，提供了超越默认 LLM 行为的显著价值，这些都不是默认功能。",{"category":64,"check":72,"severity":66,"summary":73},"Production readiness","该扩展为记忆管理提供了一个完整的生命周期解决方案，从会话开始到归档和恢复，并提供了清晰的安装和卸载说明。",{"category":75,"check":76,"severity":66,"summary":77},"Scope","Single responsibility principle","该扩展专注于一个领域：通过基于主题的归档和检索来管理 Claude Code 的对话记忆。",{"category":75,"check":79,"severity":66,"summary":80},"Description quality","显示的描述准确简洁地反映了 README 中描述的扩展核心功能。",{"category":82,"check":83,"severity":66,"summary":84},"Invocation","Scoped tools","该扩展使用了狭窄的、动词-名词形式的工具，如 `/remember`、`/save-topic` 和 `/list-topics`，这些工具具有描述性且具体。",{"category":86,"check":87,"severity":66,"summary":88},"Documentation","Configuration & parameter reference","README 中清楚地记录了配置选项，包括 MEMORY_HOME 的默认值以及对其用法的解释。",{"category":75,"check":90,"severity":66,"summary":91},"Tool naming","`/remember`、`/save-topic` 和 `/list-topics` 等工具名称具有描述性，并遵循一致的动词-名词模式。",{"category":75,"check":93,"severity":66,"summary":94},"Minimal I/O surface","`/remember`（键值对）等命令的输入参数和输出（Markdown 文件、结构化 JSONL 用于内部使用）是最小化的，并且专注于指定任务。",{"category":96,"check":97,"severity":66,"summary":98},"License","License usability","该扩展在 MIT 许可证下发布，并在 README 和 LICENSE 文件中明确标明。",{"category":100,"check":101,"severity":66,"summary":102},"Maintenance","Commit recency","上次提交是在 2026 年 3 月 6 日，时间在最近 3 个月内。",{"category":100,"check":104,"severity":66,"summary":105},"Dependency Management","该扩展的依赖项很少（bash、Node.js 18+），没有需要频繁更新或漏洞检查的复杂第三方库。",{"category":107,"check":108,"severity":66,"summary":109},"Security","Secret Management","该扩展在本地运行，不处理或暴露任何秘密；其存储在 `~/.memory/` 中。",{"category":107,"check":111,"severity":66,"summary":112},"Injection","该扩展似乎将所有加载的数据视为本地文件，并且不将外部内容作为指令获取。",{"category":107,"check":114,"severity":66,"summary":115},"Transitive Supply-Chain Grenades","该扩展使用本地 Node.js 脚本和 bash hook；没有运行时获取远程代码或数据，因此不会被破坏。",{"category":107,"check":117,"severity":66,"summary":118},"Sandbox Isolation","该扩展主要在 `~/.memory/` 中进行存储操作，并使用本地脚本，避免在项目或用户主目录之外进行更改。",{"category":107,"check":120,"severity":66,"summary":121},"Sandbox escape primitives","在提供的脚本中，没有证据表明存在分离进程的产生或在拒绝的工具调用周围进行重试循环。",{"category":107,"check":123,"severity":66,"summary":124},"Data Exfiltration","该扩展在本地运行，并将数据存储在 `~/.memory/` 中，没有任何用于遥测或数据提交的出站调用。",{"category":107,"check":126,"severity":66,"summary":127},"Hidden Text Tricks","捆绑的内容（README、脚本、LICENSE）似乎没有隐藏的引导技巧或混淆字符。",{"category":129,"check":130,"severity":66,"summary":131},"Hooks","Opaque code execution","提供的脚本（`dev-register.sh`、示例 hooks）是纯 bash 和 Node.js 代码，没有混淆。",{"category":133,"check":134,"severity":66,"summary":135},"Portability","Structural Assumption","该扩展为存储（`~/.memory/`）使用了可配置路径，并且不假定用户项目结构超出 Claude Code 本身提供的范围。",{"category":137,"check":138,"severity":66,"summary":139},"Trust","Issues Attention","过去 90 天内有 3 个开放问题和 2 个已关闭问题，表明维护活跃且响应迅速。",{"category":141,"check":142,"severity":66,"summary":143},"Versioning","Release Management","该扩展具有清晰的版本控制方案，包含 GitHub release 标签和 `marketplace.json` 中的 `version` 字段。",{"category":145,"check":146,"severity":66,"summary":147},"Code Execution","Validation","该扩展对命令和参数使用了基本的输入验证，输出主要是用于本地存储的结构化 Markdown 或 JSONL。",{"category":107,"check":149,"severity":66,"summary":150},"Unguarded Destructive Operations","该扩展主要管理用于记忆存储和偏好的本地文件；没有在用户交互或明确意图之外执行破坏性操作。",{"category":145,"check":152,"severity":66,"summary":153},"Error Handling","提供的脚本似乎具有基本的错误处理，并且使用本地文件意味着错误不太可能是晦涩难懂或无法恢复的。",{"category":145,"check":155,"severity":66,"summary":156},"Logging","该扩展的操作主要通过 transcript 捕获并存储在本地 Markdown 文件中，充当审计跟踪。",{"category":158,"check":159,"severity":66,"summary":160},"Compliance","GDPR","该扩展在本地运行用户数据，不向任何第三方提交个人数据。",{"category":158,"check":162,"severity":66,"summary":163},"Target market","该扩展的功能是通用的，不与任何特定的地理或法律管辖区相关联；targetMarket 是 global。",{"category":133,"check":165,"severity":66,"summary":166},"Runtime stability","该扩展依赖于标准的 bash 和 Node.js，使其可以在类 POSIX 系统上移植，并且不假定特定的编辑器或 shell。",{"category":86,"check":168,"severity":66,"summary":169},"README","README 内容全面、结构良好，并清楚地说明了扩展的目的和功能。",{"category":75,"check":171,"severity":66,"summary":172},"Tool surface size","该扩展公开了少量工具（`/remember`、`/save-topic`、`/list-topics`），完全在目标范围内。",{"category":82,"check":174,"severity":66,"summary":175},"Overlapping near-synonym tools","公开的工具（`/remember`、`/save-topic`、`/list-topics`）具有明确且不重叠的功能。",{"category":86,"check":177,"severity":66,"summary":178},"Phantom features","README 中描述的所有功能，例如主题归档和压缩恢复，都通过提供的脚本和 hooks 实现。",{"category":180,"check":181,"severity":66,"summary":182},"Install","Installation instruction","README 提供了清晰的安装说明，包括推荐的插件系统和手动设置，以及一个复制粘贴示例。",{"category":184,"check":185,"severity":66,"summary":186},"Errors","Actionable error messages","该扩展的本地操作和清晰的脚本表明，错误将得到清晰的报告并且是可操作的。",{"category":188,"check":189,"severity":66,"summary":190},"Execution","Pinned dependencies","该扩展指定了 Node.js 18+ 并使用 bash 脚本，没有通常需要固定的复杂第三方依赖项。",{"category":75,"check":192,"severity":193,"summary":194},"Dry-run preview","not_applicable","该扩展主要专注于本地文件管理和记忆持久化，而不是需要 dry-run 模式的状态更改操作。",{"category":196,"check":197,"severity":193,"summary":198},"Protocol","Idempotent retry & timeouts","该扩展在本地文件上运行，不涉及需要幂等性或超时的网络调用或状态更改操作。",{"category":158,"check":200,"severity":66,"summary":201},"Telemetry opt-in","该扩展在本地运行，默认不发送任何遥测数据，遵循选择加入原则。",{"category":75,"check":203,"severity":66,"summary":204},"Theme declaration","marketplace README 明确声明了一个特定的策展主题：“Claude Code 的基于主题的自动记忆”。",{"category":141,"check":206,"severity":66,"summary":207},"Per-entry version metadata","此插件的 `marketplace.json` 条目指定了 `version: \"1.0.0\"`。",1778688339762,"此扩展为 Claude Code 提供了基于主题的自动记忆管理，将对话和偏好保存在本地的 Markdown 文件中。它具有自动主题归档、会话开始时注入上下文、从上下文压缩中恢复的功能，并提供了一个用于持久化偏好的 `/remember` 技能。",[211,212,213,214,215],"自动主题归档（附带摘要）","跨会话记忆注入","通过冷读取 transcript 进行上下文压缩恢复","使用 `/remember` 技能持久化偏好","在 Markdown 文件中本地存储",[217,218,219],"取代 Claude Code 的核心功能","提供基于云的存储或同步","管理 Claude Code 之外的工具或插件的记忆","3.1.0","为了防止 Claude Code 在会话之间或上下文压缩期间丢失上下文，通过自动保存和检索对话主题和用户偏好。","所有检查均通过，并获得已验证级别，表明其高质量和可信赖性。",100,"一个用于管理 Claude Code 记忆上下文的高质量扩展。",[28,226,227,29,228],"context","cli","automation",[230,231,232,233],"在多个 Claude Code 会话中维护长期项目上下文","确保 Claude Code 记住特定的偏好或指令","在上下文压缩事件后恢复关键信息","自动保存和检索对话主题",{"codeQuality":235,"collectedAt":237,"documentation":238,"maintenance":241,"security":248,"testCoverage":249},{"hasLockfile":236},false,1778688324291,{"descriptionLength":239,"readmeSize":240},44,7301,{"closedIssues90d":242,"forks":243,"hasChangelog":244,"manifestVersion":245,"openIssues90d":243,"pushedAt":246,"stars":247},2,3,true,"1.0.0",1772785245000,31,{"hasNpmPackage":236,"license":39,"smitheryVerified":236},{"hasCi":236,"hasTests":244},{"updatedAt":251},1778688520325,{"basePath":18,"githubOwner":19,"githubRepo":15,"locale":20,"slug":15,"type":253},"marketplace",null,{"evaluate":256,"extract":258},{"promptVersionExtension":220,"promptVersionScoring":25,"score":223,"tags":257,"targetMarket":35,"tier":36},[28,226,227,29,228],{"commitSha":38,"marketplace":259,"plugin":261},{"name":57,"pluginCount":260},1,{"mcpCount":11,"provider":41,"skillCount":11},{"repoId":45,"translatedFrom":44},{"_creationTime":264,"_id":45,"identity":265,"providers":266,"workflow":360},1778688317050.7341,{"githubOwner":19,"githubRepo":15,"sourceUrl":16},{"classify":267,"discover":342,"github":345},{"commitSha":38,"extensions":268},[269,284,308,318,326,334],{"basePath":18,"description":270,"displayName":57,"installMethods":271,"rationale":272,"selectedPaths":273,"source":282,"sourceLanguage":283,"type":253},"Topic-based automatic memory for Claude Code",{"claudeCode":56},"marketplace.json at .claude-plugin/marketplace.json",[274,277,279],{"path":275,"priority":276},".claude-plugin/marketplace.json","mandatory",{"path":278,"priority":276},"README.md",{"path":280,"priority":281},"LICENSE","high","rule","en",{"basePath":18,"description":285,"displayName":15,"installMethods":286,"license":39,"rationale":287,"selectedPaths":288,"source":282,"sourceLanguage":283,"type":21},"Topic-based automatic memory for Claude Code — never lose context across sessions or compactions.",{"claudeCode":15},"plugin manifest at .claude-plugin/plugin.json",[289,291,292,293,296,298,300,302,304,306],{"path":290,"priority":276},".claude-plugin/plugin.json",{"path":278,"priority":276},{"path":280,"priority":281},{"path":294,"priority":295},"skills/ignore-topic/SKILL.md","medium",{"path":297,"priority":295},"skills/list-topics/SKILL.md",{"path":299,"priority":295},"skills/remember/SKILL.md",{"path":301,"priority":295},"skills/save-topic/SKILL.md",{"path":303,"priority":281},"hooks/hooks.json",{"path":305,"priority":281},"hooks/session-start.sh",{"path":307,"priority":281},"hooks/stop.sh",{"basePath":309,"description":310,"displayName":311,"installMethods":312,"rationale":313,"selectedPaths":314,"source":282,"sourceLanguage":283,"type":317},"skills/ignore-topic","Use when the user wants to ignore, skip, or exclude specific topics from being archived. Triggers on \"ignore topic\", \"don't archive\", \"skip topic\", \"stop remembering\", \"list ignored topics\", \"remove ignore rule\".","ignore-topic",{"claudeCode":56},"SKILL.md frontmatter at skills/ignore-topic/SKILL.md",[315],{"path":316,"priority":276},"SKILL.md","skill",{"basePath":319,"description":320,"displayName":321,"installMethods":322,"rationale":323,"selectedPaths":324,"source":282,"sourceLanguage":283,"type":317},"skills/list-topics","Use when the user asks about topics discussed in the current session, wants to see a topic list, or asks what has been talked about.","list-topics",{"claudeCode":56},"SKILL.md frontmatter at skills/list-topics/SKILL.md",[325],{"path":316,"priority":276},{"basePath":327,"description":328,"displayName":329,"installMethods":330,"rationale":331,"selectedPaths":332,"source":282,"sourceLanguage":283,"type":317},"skills/remember","Use when the user wants to persistently remember something across sessions (e.g., \"always use bun\", \"never auto-commit\", \"my name is Alex\"). Also use when you detect a clear user preference or constraint worth persisting.","remember",{"claudeCode":56},"SKILL.md frontmatter at skills/remember/SKILL.md",[333],{"path":316,"priority":276},{"basePath":335,"description":336,"displayName":337,"installMethods":338,"rationale":339,"selectedPaths":340,"source":282,"sourceLanguage":283,"type":317},"skills/save-topic","Use when the user wants to save or checkpoint topic progress, persist current discussion state, or save all topics before ending a session.","save-topic",{"claudeCode":56},"SKILL.md frontmatter at skills/save-topic/SKILL.md",[341],{"path":316,"priority":276},{"sources":343},[344],"manual",{"closedIssues90d":242,"description":285,"forks":243,"license":39,"openIssues90d":243,"pushedAt":246,"readmeSize":240,"stars":247,"topics":346},[347,348,349,33,350,351,352,353,31,354,355,356,357,358,359],"agent-memory","ai-memory","anthropic","claude","claude-code","claude-code-hooks","claude-code-plugin","developer-tools","llm-tools","open-source","productivity","session-management","shell",{"classifiedAt":361,"discoverAt":362,"extractAt":363,"githubAt":363,"updatedAt":361},1778688321667,1778688317050,1778688319676,[228,227,226,28,29],{"evaluatedAt":366,"extractAt":50,"updatedAt":251},1778688340018,[],[369,394,422,452],{"_creationTime":370,"_id":371,"community":372,"display":373,"identity":379,"providers":381,"relations":386,"tags":389,"workflow":390},1778698331906.5544,"k17c7hmtjw1cxn2w61f5zpjvsd86mhwt",{"reviewCount":11},{"description":374,"installMethods":375,"name":377,"sourceUrl":378},"Alex Newman (thedotmack) 的插件",{"claudeCode":376},"thedotmack/claude-mem","thedotmack","https://github.com/thedotmack/claude-mem",{"basePath":18,"githubOwner":377,"githubRepo":380,"locale":20,"slug":380,"type":253},"claude-mem",{"evaluate":382,"extract":384},{"promptVersionExtension":220,"promptVersionScoring":25,"score":26,"tags":383,"targetMarket":35,"tier":36},[28,226,29,351,354,357],{"commitSha":38,"marketplace":385},{"name":377,"pluginCount":11},{"repoId":387,"translatedFrom":388},"kd70jnxgm695az2wtf37zbqdj986mp7k","k17cgjbmysktxzsg0ve8mbf9hd86mv0f",[351,226,354,28,29,357],{"evaluatedAt":391,"extractAt":392,"updatedAt":393},1778698085682,1778698056313,1778698331906,{"_creationTime":395,"_id":396,"community":397,"display":398,"identity":404,"providers":406,"relations":414,"tags":417,"workflow":418},1778696854815.34,"k1717xhebd5pc0zk6w3342r34d86myfe",{"reviewCount":11},{"description":399,"installMethods":400,"name":402,"sourceUrl":403},"使用 Claude Code 的智能权重削减技术，将有效上下文加倍，从而修剪臃肿的会话，保护代理团队免受压缩，并通过 MCP 工具监控令牌使用情况。",{"claudeCode":401},"Ruya-AI/cozempic","cozempic","https://github.com/Ruya-AI/cozempic",{"basePath":18,"githubOwner":405,"githubRepo":402,"locale":20,"slug":402,"type":253},"Ruya-AI",{"evaluate":407,"extract":411},{"promptVersionExtension":220,"promptVersionScoring":25,"score":223,"tags":408,"targetMarket":35,"tier":36},[226,409,351,358,410],"optimization","ai-productivity",{"commitSha":38,"marketplace":412,"plugin":413},{"name":402,"pluginCount":260},{"mcpCount":11,"provider":41,"skillCount":11},{"repoId":415,"translatedFrom":416},"kd79d77qmyh3826dwhk7ynx9xd86nmqm","k1730g2nnwga3htdfycmc8h1gd86m3cs",[410,351,226,409,358],{"evaluatedAt":419,"extractAt":420,"updatedAt":421},1778696729067,1778696712852,1778696854815,{"_creationTime":423,"_id":424,"community":425,"display":426,"identity":432,"providers":436,"relations":444,"tags":447,"workflow":448},1778693751974.8364,"k1789c0v4hwwy1w9j7hhqd9hd186nj2j",{"reviewCount":11},{"description":427,"installMethods":428,"name":430,"sourceUrl":431},"AI编码代理的上下文窗口优化。沙盒化工具输出，减少98%。支持15个平台",{"claudeCode":429},"mksglu/context-mode","context-mode","https://github.com/mksglu/context-mode",{"basePath":433,"githubOwner":434,"githubRepo":430,"locale":20,"slug":435,"type":253},".agents/plugins","mksglu","plugins",{"evaluate":437,"extract":442},{"promptVersionExtension":220,"promptVersionScoring":25,"score":223,"tags":438,"targetMarket":35,"tier":36},[226,409,439,357,440,441],"llm","code-generation","sandbox",{"commitSha":38,"marketplace":443},{"name":430,"pluginCount":11},{"repoId":445,"translatedFrom":446},"kd764b2fctbqg4b8j8y6xvmkvs86m29m","k17de181ddh1gjh0zdntr3qxyn86nqna",[440,226,439,409,357,441],{"evaluatedAt":449,"extractAt":450,"updatedAt":451},1778693535406,1778693511416,1778693751974,{"_creationTime":453,"_id":454,"community":455,"display":456,"identity":462,"providers":465,"relations":477,"tags":479,"workflow":480},1778683562157.875,"k174pnm5ch9ab6fr1etef2f2b586m74b",{"reviewCount":11},{"description":457,"installMethods":458,"name":460,"sourceUrl":461},"Persistent memory and cognitive profiling plugins for Claude Code",{"claudeCode":459},"cdeust/Cortex","cortex-plugins","https://github.com/cdeust/Cortex",{"basePath":18,"githubOwner":463,"githubRepo":464,"locale":283,"slug":464,"type":253},"cdeust","Cortex",{"evaluate":466,"extract":474},{"promptVersionExtension":220,"promptVersionScoring":25,"score":223,"tags":467,"targetMarket":35,"tier":36},[28,468,469,351,470,471,472,473],"cognitive-profiling","mcp","knowledge-graph","codebase-analysis","postgresql","pgvector",{"commitSha":38,"marketplace":475,"plugin":476},{"name":460,"pluginCount":260},{"mcpCount":11,"provider":41,"skillCount":11},{"repoId":478},"kd79gxpemvkr09a7zsb3h8kmah86nvgf",[351,471,468,470,469,28,473,472],{"evaluatedAt":481,"extractAt":482,"updatedAt":481},1778683583007,1778683562157]