📄 SKILL.md

⬇️ 下载文件

name: file-output-server
description: 生成目标格式文件(文档、Excel、图片等)并通过static-file-server.service提供完整下载链接。支持wolai文档同步、图片表格提取、Markdown文档生成等,自动保存到服务器目录并返回可访问的URL。

文件输出服务器

生成目标格式文件并通过static-file-server.service提供完整下载链接。

功能特点

  • 📝 多格式支持:Markdown、Excel、CSV、PDF、图片等
  • 🔗 自动链接生成:保存文件后自动拼接完整访问URL
  • 🌐 HTTP服务:通过static-file-server.service(端口8081)提供文件访问
  • 📂 统一管理:所有文件保存在/data/ai-output目录
  • 即时访问:文件生成后立即可通过链接访问

服务器配置

Static File Server信息

  • 服务名称:static-file-server.service
  • 监听端口:8081
  • 工作目录:/data/ai-output
  • 访问格式:http://服务器IP:8081/文件名

核心功能

1. 文档生成 + 链接返回

自动生成Markdown/文档并返回下载链接:

# 生成文档
python3 scripts/save_document.py \
  --title "文档标题" \
  --content "文档内容..." \
  --format markdown \
  --filename "custom_name.md"

# 输出示例:
# ✅ 文档已保存: /data/ai-output/custom_name.md
# 🔗 访问链接: http://服务器IP:8081/custom_name.md

2. Excel表格生成 + 链接返回

从图片提取表格或生成Excel文件:

# 从图片提取表格
python3 scripts/save_excel.py \
  --image "/path/to/image.jpg" \
  --output "table_data.xlsx"

# 输出示例:
# ✅ Excel已保存: /data/ai-output/table_data.xlsx
# 🔗 访问链接: http://服务器IP:8081/table_data.xlsx

3. Wolai同步 + 本地备份 + 链接返回

同步到Wolai同时保存本地备份并提供链接:

python3 scripts/save_to_wolai.py \
  --token "YOUR_WOLAI_TOKEN" \
  --page-id "PAGE_ID" \
  --conversation-file "conversation.json" \
  --backup-local

# 输出示例:
# ✅ 已同步到Wolai: https://www.wolai.com/abc123
# ✅ 本地备份: /data/ai-output/wolai_backup_20260304.md
# 🔗 本地链接: http://服务器IP:8081/wolai_backup_20260304.md

使用场景

场景1:生成Markdown文档

# AI生成文档后保存并返回链接
from file_output_server import DocumentGenerator

doc = DocumentGenerator()
result = doc.save_markdown(
    title="山西135平米顶层装修清单",
    content="# 装修清单\n\n## 客厅\n- 沙发\n- 茶几\n...",
    filename="renovation_checklist.md"
)

print(result['link'])  # http://服务器IP:8081/renovation_checklist.md

场景2:从图片提取表格

from file_output_server import ExcelGenerator

excel = ExcelGenerator()
result = excel.extract_from_image(
    image_path="/path/to/table.jpg",
    output_name="financial_report.xlsx"
)

print(result['link'])  # http://服务器IP:8081/financial_report.xlsx

场景3:Wolai同步 + 双重输出

from file_output_server import WolaiSync

sync = WolaiSync()
result = sync.sync_and_backup(
    token="YOUR_TOKEN",
    page_id="PAGE_ID",
    conversation_data=conversation_json,
    backup_format="markdown"
)

print(result['wolai_link'])  # https://www.wolai.com/abc123
print(result['local_link'])  # http://服务器IP:8081/backup_20260304.md

命令行工具

save_document.py - 保存文档

python3 scripts/save_document.py \
  --title "文档标题" \
  --content "文档内容" \
  --format markdown \
  --filename "document.md" \
  --category "docs"  # 可选,创建子目录

save_excel.py - 保存Excel

python3 scripts/save_excel.py \
  --image "/path/to/image.jpg" \
  --output "table.xlsx" \
  --preview  # 可选,预览识别结果

save_to_wolai.py - Wolai同步

python3 scripts/save_to_wolai.py \
  --token "YOUR_TOKEN" \
  --page-id "PAGE_ID" \
  --conversation-file "conversation.json" \
  --backup-local \
  --format markdown

list_files.py - 列出文件

python3 scripts/list_files.py \
  --category "docs"  # 可选,列出特定类别

get_link.py - 获取链接

python3 scripts/get_link.py --filename "document.md"
# 输出: http://服务器IP:8081/document.md

文件组织

建议的目录结构:

/data/ai-output/
├── docs/                    # 文档类
│   ├── renovation_20260304.md
│   └── meeting_notes_20260304.md
├── excel/                   # Excel表格
│   ├── financial_report.xlsx
│   └── data_table.xlsx
├── wolai_backup/            # Wolai备份
│   ├── backup_20260304_001.md
│   └── backup_20260304_002.md
└── images/                  # 图片
    ├── screenshot_001.png
    └── chart_001.png

API返回格式

所有保存操作返回统一格式:

{
  "success": true,
  "filename": "document.md",
  "path": "/data/ai-output/document.md",
  "link": "http://服务器IP:8081/document.md",
  "size": 2048,
  "created_at": "2026-03-04T18:00:00Z",
  "wolai_link": "https://www.wolai.com/abc123"  // 可选
}

与AI助手集成

在对话中使用

当用户需要保存对话产物时:

  1. AI生成内容
  2. 调用保存函数
  3. 返回链接给用户

示例对话:

用户:帮我整理一份装修清单
AI:好的,我已经整理完成...
    📄 文档已生成:装修清单.md
    🔗 下载链接:http://服务器IP:8081/renovation_20260304.md

自动触发规则

可以配置规则,当检测到特定内容时自动保存:

  • 长篇文档(>1000字)
  • 表格数据
  • 代码片段
  • 会议记录

配置选项

编辑 config.json

{
  "server": {
    "host": "0.0.0.0",
    "port": 8081,
    "root_dir": "/data/ai-output"
  },
  "file_naming": {
    "timestamp": true,
    "date_prefix": true,
    "sanitize": true
  },
  "wolai": {
    "auto_backup": true,
    "backup_format": "markdown"
  }
}

安全考虑

  1. 访问控制:static-file-server默认无认证,建议:

    • 仅内网访问
    • 或添加Nginx反向代理+认证
  2. 文件清理:建议定期清理旧文件:

    # 删除7天前的文件
    find /data/ai-output -mtime +7 -delete
    
  3. 敏感信息:不要保存包含敏感信息的文件

故障排查

文件无法访问

检查static-file-server状态:

systemctl status static-file-server.service

链接无法访问

  1. 检查防火墙:firewall-cmd --list-ports
  2. 检查文件权限:ls -la /data/ai-output/
  3. 检查文件是否存在:ls /data/ai-output/filename

Wolai同步失败

  1. 检查API Token是否有效
  2. 检查页面ID是否正确
  3. 查看错误日志

依赖要求

  • Python 3.7+
  • Wolai API Token(如需Wolai同步)
  • Tesseract OCR(如需图片表格提取)

示例:完整工作流

# 1. 生成装修清单文档
python3 scripts/save_document.py \
  --title "山西135平米顶层装修清单" \
  --content "$(cat renovation.md)" \
  --format markdown \
  --filename "renovation_20260304.md" \
  --category "docs"

# 输出:
# ✅ 文档已保存: /data/ai-output/docs/renovation_20260304.md
# 🔗 访问链接: http://服务器IP:8081/docs/renovation_20260304.md

# 2. 同步到Wolai(可选)
python3 scripts/save_to_wolai.py \
  --token "$WOLAI_TOKEN" \
  --page-id "$PAGE_ID" \
  --conversation-file conversation.json \
  --backup-local

# 输出:
# ✅ 已同步到Wolai: https://www.wolai.com/abc123
# ✅ 本地备份: /data/ai-output/wolai_backup/backup_20260304.md
# 🔗 本地链接: http://服务器IP:8081/wolai_backup/backup_20260304.md

获取服务器IP

如果不确定服务器IP,运行:

# 获取内网IP
hostname -I | awk '{print $1}'

# 或获取公网IP
curl -s ifconfig.me

快速开始

  1. 确认static-file-server.service正在运行
  2. 使用相应脚本生成文件
  3. 获取返回的访问链接
  4. 通过浏览器或工具访问文件

文件命名规则

  • 自动添加时间戳(可配置)
  • 特殊字符自动替换
  • 支持中文文件名(URL编码)