From c2f7148f9807e455e81ffc2675b93e8a159c09f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E6=BD=AE?= Date: Tue, 31 Mar 2026 14:37:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=8E=AF=E5=A2=83=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E5=88=B0pre=20prompt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- agent/plugin_hook_loader.py | 8 +++++++- skills/schedule-job/scripts/schedule_manager.py | 2 +- skills_developing/user-context-loader/README.md | 4 ++-- skills_developing/user-context-loader/hooks/pre_prompt.py | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/agent/plugin_hook_loader.py b/agent/plugin_hook_loader.py index 8fd37fe..c1629f3 100644 --- a/agent/plugin_hook_loader.py +++ b/agent/plugin_hook_loader.py @@ -165,12 +165,18 @@ async def _execute_command(skill_path: str, command: str, hook_type: str, config try: # 设置环境变量,传递给子进程 env = os.environ.copy() - env['BOT_ID'] = getattr(config, 'bot_id', '') + env['ASSISTANT_ID'] = getattr(config, 'bot_id', '') env['USER_IDENTIFIER'] = getattr(config, 'user_identifier', '') + env['TRACE_ID'] = getattr(config, 'trace_id', '') env['SESSION_ID'] = getattr(config, 'session_id', '') env['LANGUAGE'] = getattr(config, 'language', '') env['HOOK_TYPE'] = hook_type + # 合并 config 中的自定义 shell 环境变量 + shell_env = getattr(config, 'shell_env', None) + if shell_env: + env.update(shell_env) + # 对于 PreSave,传递 content if hook_type == 'PreSave': env['CONTENT'] = kwargs.get('content', '') diff --git a/skills/schedule-job/scripts/schedule_manager.py b/skills/schedule-job/scripts/schedule_manager.py index 0aba21c..c5a3fc7 100644 --- a/skills/schedule-job/scripts/schedule_manager.py +++ b/skills/schedule-job/scripts/schedule_manager.py @@ -4,7 +4,7 @@ 用于增删改查用户的定时任务,数据存储在 tasks.yaml 文件中。 环境变量: - BOT_ID: 当前 bot ID + ASSISTANT_ID: 当前 bot ID USER_IDENTIFIER: 当前用户标识 """ diff --git a/skills_developing/user-context-loader/README.md b/skills_developing/user-context-loader/README.md index 2ebf88b..9177f2a 100644 --- a/skills_developing/user-context-loader/README.md +++ b/skills_developing/user-context-loader/README.md @@ -80,7 +80,7 @@ Hook 脚本通过子进程执行,通过环境变量接收参数,通过 stdou | 环境变量 | 说明 | 适用于 | |---------|------|--------| -| `BOT_ID` | Bot ID | 所有 hook | +| `ASSISTANT_ID` | Bot ID | 所有 hook | | `USER_IDENTIFIER` | 用户标识 | 所有 hook | | `SESSION_ID` | 会话 ID | 所有 hook | | `LANGUAGE` | 语言代码 | 所有 hook | @@ -99,7 +99,7 @@ import sys def main(): user_identifier = os.environ.get('USER_IDENTIFIER', '') - bot_id = os.environ.get('BOT_ID', '') + bot_id = os.environ.get('ASSISTANT_ID', '') # 输出要注入到 prompt 中的内容 print(f"## User Context\n\n用户: {user_identifier}") diff --git a/skills_developing/user-context-loader/hooks/pre_prompt.py b/skills_developing/user-context-loader/hooks/pre_prompt.py index e8fea63..c19b855 100644 --- a/skills_developing/user-context-loader/hooks/pre_prompt.py +++ b/skills_developing/user-context-loader/hooks/pre_prompt.py @@ -11,7 +11,7 @@ import sys def main(): """从环境变量读取参数并输出注入内容""" user_identifier = os.environ.get('USER_IDENTIFIER', '') - bot_id = os.environ.get('BOT_ID', '') + bot_id = os.environ.get('ASSISTANT_ID', '') # 示例:根据 user_identifier 查询用户上下文 # 这里只是演示,实际应该从数据库或其他服务获取