feat: export core Hermes skills
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
---
|
||||
name: wecom-cross-session-recall
|
||||
description: 跨会话召回——从企微私信session中检索内容并发到群聊。用于Doro在群里要求"把私信里的XX发到这里"的场景。
|
||||
tags: [wecom, session, cross-chat, recall]
|
||||
---
|
||||
|
||||
# 企微跨会话召回
|
||||
|
||||
## 触发条件
|
||||
- Doro在群里说"把私信里的XX发到这里"、"你看看我们私信的聊天记录"等
|
||||
- 需要衔接群聊和私信的上下文
|
||||
|
||||
## 步骤
|
||||
|
||||
### 1. 找到私信session ID
|
||||
```bash
|
||||
python3 -c "
|
||||
import json
|
||||
with open('$HOME/.hermes/sessions/sessions.json') as f:
|
||||
data = json.load(f)
|
||||
for sid, meta in data.items():
|
||||
if 'dm:doro' in sid:
|
||||
print(f'{sid}: session_id={meta[\"session_id\"]}')
|
||||
"
|
||||
```
|
||||
|
||||
### 2. 读取session内容
|
||||
```bash
|
||||
# 搜索关键词
|
||||
grep "关键词" ~/.hermes/sessions/<session_id>.jsonl | python3 -c "
|
||||
import sys, json
|
||||
for line in sys.stdin:
|
||||
d = json.loads(line)
|
||||
role = d.get('role','?')
|
||||
content = str(d.get('content',''))
|
||||
if '关键词' in content:
|
||||
print(f'{role}: {content[:500]}')
|
||||
"
|
||||
```
|
||||
|
||||
### 3. 也可以用 session_search 工具
|
||||
- session_search 会搜索所有session,但可能匹配不精确
|
||||
- 直接grep jsonl文件更可靠
|
||||
|
||||
## 注意事项
|
||||
- 群聊session key: `agent:main:wecom:group:<chatid>:<userid>`
|
||||
- 私信session key: `agent:main:wecom:dm:<userid>`
|
||||
- 两个session完全独立,互相看不到上下文
|
||||
- 私信中无法跨群发消息(send_message工具未启用),需要在群里收到消息时才能发
|
||||
Reference in New Issue
Block a user