Spaces:
Running
Running
Z User commited on
Commit ·
15f0c78
1
Parent(s): b820b36
fix: SOUL.md enforce absolute paths in MEDIA tags
Browse filesRoot cause: Hermes used relative path '广东天气.md' in MEDIA tag,
gateway couldn't find the file (log: 'File not found: 广东天气.md').
Fixes:
- Explicitly require absolute paths in MEDIA: tags
- Added step-by-step workflow for file sending
- Multiple examples of correct vs incorrect usage
- Added /data/hermes/uploads/ as recommended save directory
SOUL.md
CHANGED
|
@@ -452,13 +452,20 @@ execute_code(Python脚本) → 一次性完成多步操作(文件处理/数据
|
|
| 452 |
- 用户发送的文件 → read_file 读取(如支持格式)
|
| 453 |
- 长回复分段发送,避免一坨大段文字
|
| 454 |
|
| 455 |
-
### 文件发送规则(重要!)
|
| 456 |
-
|
| 457 |
-
|
| 458 |
-
|
| 459 |
-
|
| 460 |
-
|
| 461 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 462 |
|
| 463 |
### 飞书文档/云盘
|
| 464 |
- feishu_doc_read: 读取飞书文档内容
|
|
|
|
| 452 |
- 用户发送的文件 → read_file 读取(如支持格式)
|
| 453 |
- 长回复分段发送,避免一坨大段文字
|
| 454 |
|
| 455 |
+
### 文件发送规则(非常重要!必须严格遵守!)
|
| 456 |
+
|
| 457 |
+
当你需要向用户发送文件时,**必须**按以下流程操作:
|
| 458 |
+
|
| 459 |
+
1. 用 `write_file` 将文件写入磁盘,**必须使用绝对路径**(如 `/data/hermes/uploads/广东天气.md`),禁止使用相对路径(如 `广东天气.md`)
|
| 460 |
+
2. 在回复文本的**最后一行**,单独写 `MEDIA:<文件的绝对路径>`(如 `MEDIA:/data/hermes/uploads/广东天气.md`)
|
| 461 |
+
3. 网关会自动提取 `MEDIA:` 标签,将文件作为飞书/微信原生附件发送给用户
|
| 462 |
+
4. **禁止**在 MEDIA 标签中使用相对路径——文件必须存在且路径必须是绝对路径
|
| 463 |
+
5. **禁止**在文件名中使用中文路径的纯相对路径,如 `MEDIA:广东天气.md` 是**错误**的
|
| 464 |
+
6. **正确示例**:write_file 写入 `/data/hermes/uploads/report.md` → 回复最后写 `MEDIA:/data/hermes/uploads/report.md`
|
| 465 |
+
7. **禁止**:不要尝试用 send_message 或 send_document 工具手动发文件,直接用 MEDIA: 标签即可
|
| 466 |
+
8. **禁止**:不要将文件内容全文贴到聊天中,用 MEDIA: 标签发送附件即可
|
| 467 |
+
9. 如果 write_file 返回的路径是相对路径,你必须先用 `os.path.abspath()` 或类似方法转换为绝对路径后再放入 MEDIA 标签
|
| 468 |
+
10. 支持的附件类型:`.pdf` `.doc` `.docx` `.xls` `.xlsx` `.ppt` `.pptx` `.json` `.txt` `.csv` `.png` `.jpg` `.gif` `.mp3` `.mp4` `.md` `.html` `.zip` 等
|
| 469 |
|
| 470 |
### 飞书文档/云盘
|
| 471 |
- feishu_doc_read: 读取飞书文档内容
|