feat(obsidian-kb): 实现短链接解析功能

- 新增 shortlink_resolver.py 模块
  * 检测 B站短链接(b23.tv)和其他短链接服务
  * 提供友好的用户引导信息
  * 支持 Playwright 浏览器自动化解析(可选)

- 集成到 handler.py
  * 短链接自动检测和提示
  * 智能区分短链接和完整 URL

- 更新 add_video.py
  * 支持短链接解析
  * 添加 --playwright 参数启用浏览器解析

- 新增 test_shortlink.py 测试脚本
  * 测试单个短链接检测
  * 测试多个短链接检测
  * 测试混合内容场景
  * 所有测试通过

- 更新文档
  * SKILL.md: 添加短链接说明
  * AUTO_TRIGGER.md: 添加短链接章节
  * obsidian-kb-improvements.md: 标记任务2为已完成

功能特点:
- 方案A(用户引导):已实现并作为默认行为
- 方案B(浏览器自动化):提供 PlaywrightResolver 类,可选使用
- 方案C(代理池):未实现(复杂度高,收益低)

验收标准达成:
✅ 短链接能够友好处理(显示引导信息)
✅ 用户不会感到困惑
✅ 支持 b23.tv 和其他短链接服务(检测)
✅ 集成到 handler.py
✅ 测试各种短链接场景
This commit is contained in:
OpenClaw Agent
2026-02-06 21:22:45 +08:00
parent 7a1ad6088a
commit fbcc3df2cf
7 changed files with 746 additions and 77 deletions
+29 -1
View File
@@ -55,13 +55,17 @@ author: OpenClaw
### 短链接友好提示
检测到短链接时,显示引导信息:
**单个短链接:**
```
🔗 检测到短链接
⚠️ 由于反爬虫保护,短链接无法自动解析
📍 短链接: https://b23.tv/xxxxx
📱 手机用户:
1. 打开链接
1. 点击/打开链接
2. 在浏览器地址栏复制完整 URL
3. 发送给助手
@@ -72,6 +76,30 @@ author: OpenClaw
💡 提示:完整 URL 格式为:https://www.bilibili.com/video/BVxxxxx
```
**多个短链接:**
```
⚠️ 检测到短链接
[1] B站短链接: https://b23.tv/abc123
需要完整URL或BV号
[2] bit.ly: https://bit.ly/test
需要完整URL
💡 建议:
- 在浏览器打开链接后复制完整URL
- 或者直接发送BV号(仅限B站)
```
**技术说明:**
- B站短链接(b23.tv)有反爬虫保护,无法直接解析
- 本技能使用 `shortlink_resolver.py` 模块检测短链接
- 提供 Playwright 可选方案(需额外安装)
```bash
pip install playwright
playwright install chromium
```
## 命令列表
| 命令 | 描述 | 用法 |