Product
Register
product
Users
项目维护者、HuggingFace Spaces 页面用户,以及通过 MCP 调用插件工具的 Agent。用户通常在本地或 Space 控制台里查看插件状态、诊断依赖和运行错误、进入插件功能页,并判断某个工具是否可用。
Product Purpose
Message Function Center 是面向 HuggingFace Spaces 的插件生命周期控制台。它通过部署注入插件、启动扫描校验、页面管理使用、MCP 暴露工具和状态诊断,形成稳定的插件管理闭环。成功状态是:用户能快速判断插件是否可用、为什么不可用、能做什么,以及如何进入对应功能。
Brand Personality
克制、清晰、可信。界面语气应像专业运维和工具控制台,优先服务高频诊断、筛选、执行和追踪,不用营销式表达。
Anti-references
不要营销首页、装饰性 hero、大面积低信息密度展示、粗糙卡片堆叠、默认浏览器控件、割裂的插件页面风格、emoji 装饰、运行时安装/重启引导、仅靠英文函数名解释能力。
Design Principles
- 状态先行:任何页面先回答“能不能用、为什么、下一步做什么”。
- 统一组件语言:插件运行页和控制台共享按钮、表单、状态、表格、空态和错误反馈。
- 高信息密度但不拥挤:面向重复使用和快速扫读,避免营销式留白。
- 后端事实优先:不伪造插件、依赖、MCP 或 Tool 状态。
- 插件隔离:插件有独立 UI 和 API,但视觉和交互规范由平台资源库约束。
Accessibility & Inclusion
目标满足 WCAG 2.1 AA 的基本可读性和键盘可用性。正文和控件文本需要足够对比度;状态不能只依赖颜色;页面在桌面和移动宽度下不能溢出、遮挡或丢失关键操作;动画只用于状态反馈,并尊重 reduced motion。
部署与运行
镜像名 message-center(对应 Message Function Center)。tag 约定:latest 用于本地开发,YYYYMMDD(如 20260628)用于发布归档。两种模式二选一,不要混用挂载。
核心原则:挂载一致性
app/ 与 plugins/ 必须同时挂载或同时不挂载。只挂 plugins 不挂 app 会导致插件代码改了生效、而 app/plugins/model_probe.py、app/static/plugin-ui.js 改了不生效(烤死在镜像里),并使镜像内 COPY plugins/ 成为死代码。
构建命令
# 本地开发
docker build -t message-center:latest .
# 发布归档(同时打 latest + 日期 tag)
docker build -t message-center:latest -t message-center:20260628 .
运行命令
模式 A:部署模式(推荐,可移植)
代码全部烤进镜像,仅挂载数据卷。任何代码改动需重建镜像。
docker run -d --name msg -p 7860:7860 -v message-data:/app/data --env-file .env.docker --health-cmd "curl -f http://localhost:7860/api/health || exit 1" --health-interval 30s --health-timeout 5s --health-retries 3 --restart unless-stopped message-center:latest
模式 B:开发模式(live edit)
挂载 app 与 plugins,改 Python 或插件前端(plugins/<name>/frontend/index.html)后 docker restart msg-dev 即可生效,无需重建。平台 UI(dist/frontend/)仍用镜像内构建产物。
docker run -d --name msg-dev -p 7860:7860 -v message-data:/app/data -v "H:\tool\message\app:/app/app" -v "H:\tool\message\plugins:/app/plugins" --env-file .env.docker --restart unless-stopped message-center:latest
更新流程
- 开发模式:改代码 →
docker restart msg-dev。 - 部署模式:改代码 →
docker build -t message-center:latest .→docker rm -f msg→ 重跑运行命令。数据卷message-data保留,无需迁移。
运行配置(.env.docker)
从 .env.docker.example 复制为 .env.docker 并按需填写。关键变量:
MFC_DEBUG—true/false,调试模式(错误信息回显)。HF_TOKEN— HuggingFace 下载令牌,下载受限模型时需要;公开模型可留空。HF_HOME/HF_HUB_CACHE— 已在 Dockerfile 默认指向/app/data/huggingface,落在message-data卷内,模型缓存跨重建持久化。
首次运行须知
message-data 卷内模型缓存初始为空。首次使用 ASR 会从 HuggingFace 下载:openai/whisper-small(约 1 GB)、zai-org/GLM-ASR-Nano-2512(约 3 GB)。需保证容器可访问 huggingface.co,首次转录会因下载变慢。