- 新增 agent/plugin_hook_loader.py:支持通过 .claude-plugin/plugin.json 配置 hooks 和 mcpServers - 修改 agent/prompt_loader.py:集成 PrePrompt hooks,优先读取 skill MCP 配置 - 修改 routes/chat.py:添加 PostAgent 和 PreSave hooks - 修改 routes/skill_manager.py:优先从 plugin.json 读取 name/description,fallback 到 SKILL.md - 删除旧的 agent/skill_hook_loader.py - 新增示例 skill user-context-loader,演示完整的 hooks 用法 Hook 类型: - PrePrompt: 在 system_prompt 加载时注入内容 - PostAgent: 在 agent 执行后处理 - PreSave: 在消息保存前处理 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
35 lines
894 B
Python
35 lines
894 B
Python
#!/usr/bin/env python3
|
|
"""
|
|
PrePrompt Hook - 用户上下文加载器示例
|
|
|
|
在 system_prompt 加载时执行,可以动态注入用户相关信息到 prompt 中。
|
|
"""
|
|
import os
|
|
import sys
|
|
|
|
|
|
def main():
|
|
"""从环境变量读取参数并输出注入内容"""
|
|
user_identifier = os.environ.get('USER_IDENTIFIER', '')
|
|
bot_id = os.environ.get('BOT_ID', '')
|
|
|
|
# 示例:根据 user_identifier 查询用户上下文
|
|
# 这里只是演示,实际应该从数据库或其他服务获取
|
|
if user_identifier:
|
|
context_info = f"""## User Context
|
|
|
|
用户标识: {user_identifier}
|
|
Bot ID: {bot_id}
|
|
|
|
> 此内容由 user-context-loader skill 的 PrePrompt hook 注入。
|
|
> 实际使用时,可以在这里查询用户的位置、偏好、历史记录等信息。
|
|
"""
|
|
print(context_info)
|
|
return 0
|
|
|
|
return 0
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main())
|