llm-wiki wiki · entities 2026-06-12

claude-code 的官方插件机制通过 --plugin-dir、marketplace install 或本地插件目录加载。一个插件通常由 .claude-plugin/plugin.jsonhooks/skills/.mcp.json、scripts/config 等根级目录组成。Hook + Skill + MCP server 是最常见的三条扩展通道。

本页以 powermem 的 Claude Code 插件为参考实现;2026-06-12 重新核验 PowerMem 仓库时,最新 tag 为 v1.1.3apps/claude-code-plugin/ 仍包含 .claude-plugin/hooks/skills/config/.mcp.json

插件结构

路径 作用
.claude-plugin/plugin.json 插件 manifest:name、description、version、author、repository 等
hooks/ Claude Code lifecycle hook 的配置、wrapper 和二进制/脚本
skills/ Slash command / skill 入口,每个目录提供一个能力
.mcp.json MCP server 配置,允许插件暴露或连接 MCP 工具
scripts/ / config/ 初始化、启动、停止、配置和诊断辅助

PowerMem 的 manifest 当前声明 memory-powermem,description 是给 Claude Code 增加 add/search/update/delete memory 能力,并指向 OceanBase / PowerMem 仓库。

Hook 事件模型

Claude Code hook 不是只覆盖 4 个事件。当前常见事件族包括:

事件 插件用途
SessionStart 初始化上下文、检查服务状态、准备本地环境
UserPromptSubmit 在用户 prompt 进入模型前检索记忆并注入 additional context
PreToolUse 工具调用前做授权、审计或上下文记录
PostToolUse 工具调用后采集结果、记录文件/命令行为
Stop turn 结束后异步写记忆、flush 状态
PreCompact / PostCompact 上下文压缩前后保存/恢复重要信息

PowerMem 的关键路径是 UserPromptSubmit hook:自动搜索相关记忆,并把结果注入到 Claude Code 的上下文。它用 Go 原生二进制 powermem-hook 加 shell/PowerShell wrapper,避免要求用户的 Claude Code 进程直接依赖 Python 环境。

Skill 格式

Skill 是 Markdown + scripts 的能力包。对 Claude Code 来说,skill 既是用户可见的 slash command,也是给模型看的工作流说明。PowerMem 当前提供:

这和 Codex skills 的哲学一致:SKILL.md/Markdown 是能力说明,脚本负责可执行动作,宿主 Agent 决定何时调用。

.mcp.json 与双模式

HTTP 模式适合本地 server 已经运行、hook 只需快速 REST 调用的场景;MCP 模式适合把 memory 能力作为工具暴露给 Agent,让 Agent 主动调用 add/search/update/delete。

claude-mem 的对照

维度 PowerMem Claude Code 插件 claude-mem
定位 PowerMem 后端的 Claude Code connector 独立 Claude Code memory 插件
后端 PowerMem server / SDK / OceanBase/SeekDB 等存储 自带 memory pipeline / worker / vector store
hook 重点 UserPromptSubmit 检索注入 + skill 主动管理 跨会话采集、压缩、检索、注入
安装形态 Claude Code plugin / marketplace / --plugin-dir npm/本地插件式安装
适合场景 已决定用 PowerMem 作为统一 memory backend 只想给 Claude Code 快速加长期记忆

选型判断