Skip to content

feat(mcp): 支持导出用户收藏的表情包 #118

@bigmanBass666

Description

@bigmanBass666

Feature Request

支持从 emoticon.db 导出用户收藏的表情包图片。

现状

emoticon.db 中的 kNonStoreEmoticonTable 存储了用户收藏/添加的非商店表情包(181 条),包含:

  • md5 — 表情包唯一标识
  • cdn_url — CDN 下载链接(需登录态 cookie,已过期不可用)
  • aes_key — AES 加密密钥(部分条目有值)
  • extern_url / encrypt_url — 替代下载链接

本地缓存目录 cache/<YYYY-MM>/Emoticon/ 下有加密的表情包文件,但文件不是标准图片格式,无法直接查看。

建议方案

  1. 解密本地缓存文件:表情包缓存可能使用与图片 .dat 类似的加密方式(XOR / AES),尝试复用 decode_image.py 的解密逻辑
  2. MCP 工具扩展:新增 get_emoticons / decode_emoticon 工具,支持列出和查看收藏的表情包
  3. Web UI 导出:在工具箱中增加表情包导出功能

数据库表结构

-- kNonStoreEmoticonTable: 181 条
type, md5, caption, product_id, aes_key, thumb_url, tp_url, auth_key, cdn_url, extern_url, extern_md5, encrypt_url

-- kFavEmoticonOrderTable: 收藏顺序
md5

-- kCustomEmoticonOrderTable: 0 条(可能结构不同)

缓存文件特征

路径: cache/2026-05/Emoticon/<2位hex>/<md5>
示例: cache/2026-05/Emoticon/01/0189c95147ce8983199a32f4c35d83db
大小: 数 KB
头部: 非标准图片 magic bytes(疑似加密)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions