diff --git a/skills/kb-workflow/SKILL.md b/skills/kb-workflow/SKILL.md index e00f5f3..38fc58f 100644 --- a/skills/kb-workflow/SKILL.md +++ b/skills/kb-workflow/SKILL.md @@ -16,22 +16,49 @@ description: 当收到"添加到知识库 + 链接" 或"保存到知识库 + 链 ## 环境变量 +### 执行前必须检查 + 在执行 workflow 之前,必须检查环境变量是否已经设置。 -以下是必须的环境变量,如果缺失必须询问用户获得。没有全部设置完成之前禁止进行后续操作。 + +**必须的环境变量**(缺失则报错退出): | 变量名 | 用途 | 示例 | |--------|------|------| -| `KB_BASE_PATH` | 知识库根目录 | `~/work/kb` -| `AI_API_KEY` | AI深度分析 | `sk-xxx` | -| `AI_PROVIDER` | AI提供商 | `openai`, `zhipu`, `minimax` | -| `AI_MODEL` | AI模型 | `gpt-4` | +| `AI_API_KEY` | AI深度分析 API Key | `sk-xxx` | +| `AI_PROVIDER` | AI提供商 | `zhipu`, `openai`, `minimax` | +| `AI_MODEL` | AI模型 | `glm-4.7`, `gpt-4` | +| `AI_BASE_URL` | API Base URL | `https://open.bigmodel.cn/api/coding/paas/v4` | -以下是可选的环境变量,询问用户是否要设置,允许暂时跳过 +**可选的环境变量**: | 变量名 | 用途 | 示例 | |--------|------|------| | `BILIBILI_COOKIE` | 下载会员视频 | `SESSDATA=xxx; bili_jct=xxx` | | `KB_GIT_USER` | Git提交用户名 | `Your Name` | | `KB_GIT_EMAIL` | Git提交邮箱 | `your@email.com` | +### 检查命令 + +```bash +# 检查必须的环境变量 +echo "AI_API_KEY: ${AI_API_KEY:0:10}..." +echo "AI_PROVIDER: $AI_PROVIDER" +echo "AI_MODEL: $AI_MODEL" +echo "AI_BASE_URL: $AI_BASE_URL" + +# 验证方式1: 检查变量是否存在 +if [ -z "$AI_API_KEY" ]; then + echo "❌ AI_API_KEY 未设置" + exit 1 +fi + +# 验证方式2: 执行测试调用 +python3 -c " +import os +if not os.environ.get('AI_API_KEY'): + raise RuntimeError('AI_API_KEY 未设置') +print('✅ 环境变量检查通过') +" +``` + ## Workflow 执行方式 @@ -50,9 +77,28 @@ description: 当收到"添加到知识库 + 链接" 或"保存到知识库 + 链 当触发后,按照以下步骤执行: ### 步骤 1: 环境变量检查 -立刻告知用户,启用技能kb-workflow. -参考环境变量标题下内容执行。 -如果必须的环境变量都没问题,继续执行下面的步骤。 + +**❌ 禁止跳过此步骤!必须先检查环境变量。** + +```bash +# 1. 检查必须的环境变量是否存在 +if [ -z "$AI_API_KEY" ] || [ -z "$AI_PROVIDER" ] || [ -z "$AI_MODEL" ] || [ -z "$AI_BASE_URL" ]; then + echo "❌ 错误:必须的环境变量未设置" + echo "请配置以下环境变量:" + echo " - AI_API_KEY" + echo " - AI_PROVIDER (zhipu/openai/minimax)" + echo " - AI_MODEL" + echo " - AI_BASE_URL" + exit 1 +fi + +echo "✅ 环境变量检查通过" +``` + +**如果检查不通过,必须**: +1. 报错提示用户 +2. 退出,不执行后续步骤 +3. 等待用户配置好环境变量后重新执行 ### 步骤 2: 链接解析