- 新增 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>
33 lines
953 B
Python
33 lines
953 B
Python
#!/usr/bin/env python3
|
|
"""
|
|
PostAgent Hook - 响应后处理示例
|
|
|
|
在 agent 执行完成后执行,可用于记录分析数据、触发后续流程等。
|
|
"""
|
|
import os
|
|
import sys
|
|
|
|
|
|
def main():
|
|
"""从环境变量读取参数并处理"""
|
|
response = os.environ.get('RESPONSE', '')
|
|
metadata = os.environ.get('METADATA', '')
|
|
user_identifier = os.environ.get('USER_IDENTIFIER', '')
|
|
session_id = os.environ.get('SESSION_ID', '')
|
|
|
|
# 示例:记录响应长度用于分析
|
|
if response:
|
|
response_length = len(response)
|
|
print(f"PostAgent hook: User={user_identifier}, Session={session_id}, Response Length={response_length}", file=sys.stderr)
|
|
|
|
# 这里可以添加更多逻辑,例如:
|
|
# - 发送分析数据到监控系统
|
|
# - 触发异步任务(如发送通知邮件)
|
|
# - 记录用户行为用于个性化推荐
|
|
|
|
return 0
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main())
|