- 完整的知识库框架(P0-P5 路线图) - 12篇治理文档 - 工具脚本(kb-init.sh, kb-lint-fm.py, feishu-sync.py, kb-bot) - 7个 Claude 命令 - 示例项目和测试项目(wanniu-l1) - 契约文件(meta/kb-contract.yaml) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
44 lines
1.5 KiB
Markdown
Executable File
44 lines
1.5 KiB
Markdown
Executable File
# kb-bot —— 飞书群知识库问答机器人
|
||
|
||
> 群里 @机器人 提问 → 查知识库 → 带溯源回复。**长连接,无需公网服务器。**
|
||
> 底座:lark-cli(bot 身份自管凭据,不入库)。详见 `docs/08-飞书双向前端方案.md`。
|
||
|
||
## 组件
|
||
|
||
| 文件 | 作用 |
|
||
|---|---|
|
||
| `subscribe.sh` | 起 WebSocket 长连接,把 @机器人 群消息事件落到 `events/` |
|
||
| `handle.py` | 轮询 `events/`,抽问题→调 `/kb-ask`→`lark-cli` 回复 |
|
||
| `send.sh` | 手动发消息(验证发消息通路用) |
|
||
|
||
## 分步验证
|
||
|
||
```bash
|
||
# P2-a 发消息:查群 id 后手动发一条
|
||
lark-cli im +chat-search --query "你的群名"
|
||
bash tools/kb-bot/send.sh oc_xxxxx "**kb-bot 上线测试**"
|
||
|
||
# P2-b 收消息:起长连接,去群里 @机器人 说句话,看 events/ 是否落文件
|
||
bash tools/kb-bot/subscribe.sh # 前台观察
|
||
|
||
# P2-c 闭环:另开一个终端跑消费者
|
||
python3 tools/kb-bot/handle.py --watch
|
||
```
|
||
|
||
## 常驻部署(验证通过后)
|
||
|
||
跑在任一常开机器(Mac mini / VPS 皆可,长连接不挑落点):
|
||
|
||
```bash
|
||
nohup bash tools/kb-bot/subscribe.sh > /tmp/kb-bot-sub.log 2>&1 &
|
||
nohup python3 tools/kb-bot/handle.py --watch > /tmp/kb-bot-handle.log 2>&1 &
|
||
```
|
||
|
||
稳定后再包成 launchd(macOS)/systemd(Linux) 常驻服务。
|
||
|
||
## 铁律(继承知识库)
|
||
|
||
- 机器人**只读**知识库,绝不写/删。
|
||
- 答案强制带 `source_link` 溯源;无据回「知识库暂无」,**绝不编造**(由 `/kb-ask` 保证)。
|
||
- `events/` 与 `.seen-msg-ids` 是运行时产物,已 gitignore。
|