Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -519,7 +519,10 @@ DINGTALK_STREAM_ENABLED=false

# 飞书应用机器人配置(用于 Stream Bot / 云文档模式,不会直接开启群 Webhook 推送)
FEISHU_APP_ID=xxxx
FEISHU_APP_SECRET=xxxx # 飞书应用 Secret,仅应用/Stream Bot/云文档模式使用;群通知推送请使用 FEISHU_WEBHOOK_URL
FEISHU_APP_SECRET=*** # 飞书应用 Secret,仅应用/Stream Bot/云文档模式使用;群通知推送请使用 FEISHU_WEBHOOK_URL
# 飞书用户 open_id,用于 SDK 私聊推送(配置后分析报告会直接发给你个人,无需建群)
# 获取方式:在飞书中给应用机器人发一条消息,查看机器人日志中的 open_id(格式:ou_xxxxxxxxxx)
# FEISHU_USER_ID=ou_xxxxxxxxxx
# 启用长连接模式
FEISHU_STREAM_ENABLED=false
# 飞书群机器人 Webhook 安全配置(仅 Webhook 推送模式使用)
Expand Down
1 change: 1 addition & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/).

<!-- 新条目格式:- [类型] 描述(类型取值:新功能/改进/修复/文档/测试/chore)-->
<!-- 每条独立一行追加到本段末尾,无需分类标题,合并时冲突最小 -->
- [新功能] 飞书通知支持 SDK 私聊推送:配置 `FEISHU_USER_ID` 后,分析报告可直接发送到个人私聊,无需创建群机器人 Webhook。
- [改进] 放宽 LiteLLM 依赖约束,保留 `>=1.80.10` 最低版本并显式排除 PyPI 事故版本 `1.82.7` / `1.82.8`,允许安装后续 1.x 修复版本。
- [改进] 补齐通知渠道 P0 基线、Actions 映射与 `--check-notify` 只读诊断,完善 AstrBot 配置入口和通知回归快照。
- [chore] 清理仓库根目录:移除误入库的 `.codex`、`review.md` 跟踪记录,将 smoke 测试入口迁移到 `scripts/`、环境检查脚本迁移为 `scripts/check_env.py`,并将 LiteLLM YAML 示例迁移到 `docs/examples/`。
Expand Down
16 changes: 16 additions & 0 deletions docs/bot/feishu-bot-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,22 @@ FEISHU_APP_SECRET=...
- 当前运行环境出口 IP 是否在白名单里

## 建议的最小可用配置
### 私聊推送(推荐个人用户)

如果你不想建群、不想配 Webhook,只想让分析报告直接发到你的飞书私聊:

1. 创建飞书应用(不是群机器人),获取 App ID 和 Secret
2. 在 `.env` 中配置:

```env
FEISHU_APP_ID=cli_xxx
FEISHU_APP_SECRET=xxx
FEISHU_USER_ID=ou_xxxxxxxxxx # 你的 open_id
```

获取 `FEISHU_USER_ID` 的方式:在飞书中给你的应用机器人发一条消息,查看机器人日志中的 `open_id`(格式:`ou_xxxxxxxxxx`)。

配置后,分析报告会像聊天消息一样直接发到你的私聊窗口。

### 无额外安全限制

Expand Down
2 changes: 2 additions & 0 deletions src/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -705,6 +705,7 @@ class Config:
feishu_webhook_url: Optional[str] = None
feishu_webhook_secret: Optional[str] = None # 自定义机器人签名密钥(可选)
feishu_webhook_keyword: Optional[str] = None # 自定义机器人关键词(可选)
feishu_user_id: Optional[str] = None # 飞书用户 open_id,用于 SDK 私聊推送

# Telegram 配置(需要同时配置 Bot Token 和 Chat ID)
telegram_bot_token: Optional[str] = None # Bot Token(@BotFather 获取)
Expand Down Expand Up @@ -1428,6 +1429,7 @@ def _load_from_env(cls) -> 'Config':
feishu_webhook_url=os.getenv('FEISHU_WEBHOOK_URL'),
feishu_webhook_secret=os.getenv('FEISHU_WEBHOOK_SECRET'),
feishu_webhook_keyword=os.getenv('FEISHU_WEBHOOK_KEYWORD'),
feishu_user_id=os.getenv('FEISHU_USER_ID'),
telegram_bot_token=os.getenv('TELEGRAM_BOT_TOKEN'),
telegram_chat_id=os.getenv('TELEGRAM_CHAT_ID'),
telegram_message_thread_id=os.getenv('TELEGRAM_MESSAGE_THREAD_ID'),
Expand Down
Loading