fix(kb-workflow): 环境变量检查改为必须报错退出

- 必须的环境变量:AI_API_KEY, AI_PROVIDER, AI_MODEL, AI_BASE_URL
- 如果未设置,报错并退出,不执行后续步骤
- 删除 KB_BASE_PATH(已改为从 ~/work/knowledge-base 获取)
This commit is contained in:
2026-02-13 14:37:09 +08:00
parent bdc84ec75c
commit 9e2220404f
+55 -9
View File
@@ -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: 链接解析