初始化demo

This commit is contained in:
杜宇轩
2026-09-11 15:45:13 +08:00
commit fdc58229af
25 changed files with 644 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
import logging
from typing import Any
from strands.hooks import BeforeToolCallEvent, HookProvicer, HookRegistry
logger = logging.getLogger("agent_demo.hooks")
class ToolLoggingHook(HookProvicer):
"""A hook that logs tool calls and their results."""
def register(self, registry: HookRegistry, **kwargs: Any) -> None:
registry.add_callback(BeforeToolCallEvent, self._on_before_tool)
def _on_before_tool(self, event: BeforeToolCallEvent) -> None:
tool_use = getattr(event, "tool_use", None) or {}
name = tool_use.get("name") if isinstance(tool_use, dict) else None
logger.info("[hook] about to call tool: %s", name or "<unknown>")
def default_hooks() -> list:
"""Hooks registered on every agent by default. Add consent/audit hooks here."""
return [ToolLoggingHook()]