Ech0 功能全量清单

本清单基于 Ech0/ 目录源码、internal/ 服务层、web/ 前端页面与 cmd/ CLI/TUI 入口整理,覆盖当前版本已实现的全部能力点。

相关文档

1. 产品定位与核心概念

  • 定位:个人自托管、轻量级、面向思想流动的发布平台,强调“极简写作 + 联邦分发 + 数据主权”。
  • 核心内容单位:Echo(短内容/碎片化发布),支持图文、扩展卡片、标签、点赞与隐私控制。
  • 实例自治:每个实例独立运行,支持本地发布、RSS 输出、联邦互通和跨实例连接。

2. 内容与发布

  • Echo 发布:支持创建、编辑、删除、按分页拉取、按标签筛选、查看详情、点赞。
  • 内容结构:文本(content)+ 多图 + 扩展卡片(音乐/视频/网站/GitHub 项目)+ 标签 + 隐私开关。
  • 图片布局:瀑布流、九宫格、横向、轮播(layout:waterfall/grid/horizontal/carousel)。
  • 标签管理:标签创建与维护、标签热度统计、标签删除、按标签筛选 Echo。
  • 权限约束:默认只有管理员可发布/删除/更新 Echo;匿名/普通用户仅浏览公开内容。

3. 媒体与资源

  • 图片上传/删除:支持本地存储与 S3 兼容对象存储,记录尺寸、来源与对象 key。
  • 音频上传/播放/删除:支持上传音频文件与流式播放。
  • 对象存储:S3/R2/MinIO 等兼容存储;支持预签名上传与 CDN 加速域名。
  • 临时文件回收:上传资源进入临时表,定时清理避免孤儿文件。

4. 订阅与分发

  • RSS/Atom 输出:提供公开 RSS 订阅源。
  • ActivityPub 联邦
    • WebFinger 发现(/.well-known/webfinger)
    • Actor、Inbox、Outbox、Followers、Following、Object 端点
    • Echo 发布事件自动推送至联邦粉丝
    • 关注关系、粉丝关系、本地收件箱状态持久化

5. Ech0 Connect 与 Hub

  • Ech0 Connect:添加其他 Ech0 实例 URL、获取实例信息、查看连接列表。
  • 跨实例信息聚合:并发抓取已添加实例的统计信息与头像等展示数据。
  • Hub 页面:前端提供 Hub 视图,展示跨实例内容与连接状态。

6. 收件箱与通知

  • Inbox:系统/用户/Agent 消息统一入箱,支持分页查询、未读筛选、标记已读、批量清空。
  • 自动清理:定时清理已读且超过 7 天的消息。

7. 待办事项(Todo)

  • 待办管理:新增、完成、删除、列表查询。
  • 数量限制:最多 3 条未完成待办。

8. 账号与认证

  • 本地账号:用户名/密码注册与登录(JWT)。
  • OAuth2/OIDC 登录:GitHub、Google、QQ、Custom OAuth/OIDC(含绑定流程)。
  • Passkey 登录:WebAuthn(可注册设备、登录、删除与重命名设备)。
  • 访问令牌管理:生成访问令牌、设置过期、吊销。
  • 权限模型:管理员/普通用户区分,管理员拥有发布与管理权限。

9. 系统设置与扩展

  • 系统设置:站点标题、Logo、站点名称、服务器地址、ICP备案号。
  • 评论系统:Twikoo/Artalk/Waline/Giscus 配置。
  • 自定义样式与脚本:Custom CSS/JS。
  • 联邦设置:开关与 Server URL。
  • Agent 设置:LLM 提供商、模型、API Key、BaseURL、Prompt。
  • S3 设置:Endpoint、AK/SK、Bucket、Region、CDN、PathPrefix、PublicRead。

10. 备份与恢复

  • 一键备份:手动触发快照备份。
  • 导出/导入:备份文件下载与恢复。
  • 定时备份:Cron 表达式配置与调度执行。
  • CLI/TUI 支持:命令行与终端界面可直接触发备份与恢复。

11. Webhook 与事件驱动

  • 全局事件总线:Echo/用户/系统事件统一投递。
  • Webhook 配置:创建/更新/删除、开关与签名密钥。
  • 死信队列:失败的 webhook 任务进入死信并支持定时重试。
  • 事件源:Echo 发布/更新/删除、用户变更、系统备份与恢复等。

12. Dashboard 与监控

  • 系统指标监控:CPU/内存/磁盘/网络/系统信息。
  • WebSocket 推送:实时指标订阅。
  • Web 面板:前端展示监控与运行状态。

13. Agent(LLM)能力

  • 近期活动总结:基于最近 Echo 内容生成摘要。
  • 缓存策略:使用 KeyValue 缓存最近摘要。
  • 多模型适配:支持多种 LLM 提供商与自定义 BaseURL。

14. 终端与运维工具

  • CLI:启动服务、备份、恢复、查看版本/信息、ASCII Logo。
  • TUI:终端交互式管理(启动/停止服务、备份/恢复等)。
  • SSH 服务:内置 SSH 管理通道(可由 TUI 启停)。

15. 前端体验与展示

  • 多视图:Home、Echo、Connect、Hub、Fediverse、Panel、Widget、Auth 等。
  • 主题系统:浅色/深色主题与自定义样式。
  • 卡片扩展:音乐/视频/网站/GitHub 卡片展示、富媒体卡片。
  • PWA 适配:支持移动端与桌面端安装体验。