Skip to main content
Glama

Franmotest · 法语词汇检测

Franmotest = Français(法语)+ mots(单词)+ test(检测)。按课本主题学习、自测和复习法语词汇。仓库包含多课本学习网站,以及 1.0.8 版 ChatGPT 插件源码、三个 skill、自包含 HTML 卡片和 MCP 服务。

在线学习网站

打开学习网站:https://franmotest.netlify.app/

网站介绍与使用教程 · 词库生成与导入教程 · 下载与安装

网站主导航为 首页、课本过关、每日检测、词库统计、设置。首页展示当前课本进度、已自评词汇与累计判定,并提供“我的课本”入口;教程可从首页和设置打开。

  • 多课本学习:每本课本独立保存进度,可随时从检测页底部目录选择 Part;已过关部分可再次测试并累计每个词的对错次数。

  • 点击翻词:整行可翻看中文,翻开前后法语位置固定;长词优先完整展示,音标自动换行。支持两种卡片布局,组内打乱可在设置中开启,默认按原书顺序。

  • 每日复习:只从本书已过关部分抽取五组各十词,不推进课本主进度。普通词汇检测作为首页的补充练习入口。

  • 词库与统计:搜索法语或中文,按 Part 和主题筛选,查看来源、音标校核状态及逐词对错次数。

  • 一键导入词库:支持 XLSX、UTF-8 CSV、JSON;提供 14 列空白模板和“课本 PDF → AI 整理 → 校核 → 导入”的教程。PDF 需先整理成词库文件。

  • 账号与备份:游客记录保存在本机;邮箱注册确认后,登录账号同步课本、词库和学习记录。支持保持登录、切换账号、修改昵称和圆形头像,以及完整备份导入导出。

  • 可安装应用(PWA):从首页或设置安装到手机、电脑桌面。首次联网准备词库后支持离线检测,本机记录保留;联网并打开应用后验证账号、核对云端记录并同步。

已接入的教材词库:

课本

版本

词条

Part

Édito B1

2023

1110

24

Inspire A1

导入文件未标注版本

937

32

Édito A2

2022 · 第 2 版

850

24

Part 和主题提供法中双语标题。Édito B2 是待导入的课本选项,“我的法语笔记”是 6 词演示,均不代表已接入完整教材。翻译、音标和来源的校核情况见 词库说明。

旧网址的游客记录需先导出再到新网址导入;网站与 ChatGPT 插件通过主进度文件迁移,不自动互相同步。设计预览 textbooks-preview.html 使用独立演示数据,检测进度刷新后重置。

网站源码位于 website/,根目录 netlify.toml 提供 Netlify 构建配置。

Related MCP server: Flashcard MCP

ChatGPT 插件功能

入口

规则

保存位置

法语词汇检测

云端卡片覆盖 U1 P1+P2,五组各10词

云端 SQLite/D1,按用户隔离

课本单词检测

24个 Part;每组一个完整主题,组数和词数随主题变化

客户端主进度,可导入导出

每日单词检测

最近已过关 Part 两组,倒数第二、第三各一组,其余随机一个 Part 一组;每组一个主题、10词

客户端独立副进度

点击词条翻看中文和音标,再自评 ✔/✘;改选替换本轮原判定,重复点击不会重复累计。Part 与主题显示双语标题。每日检测至少需要4个已过关 Part;主题不足时提示,不跨主题或超出主进度补词。每次打开每日卡片重新抽词,同一轮翻词和切组不刷新题目。

ChatGPT 插件的课本和每日进度不支持自动跨设备云同步,跨设备使用导出、导入;上面的网站账号采用独立的云端同步。源码开源不代表已上架 ChatGPT 公共插件目录,也不会自动注册 MCP 工具。

仓库结构

  • plugin-package/:三个 skill、词库与内置 HTML 后备卡片。

  • assets/:界面模板、抽词/评分核心、词库和双语标题。

  • website/:React/Vite 多课本网站、词库导入教程、账号界面与 Netlify 云端接口。

  • netlify.toml:网站构建、函数和路由配置。

  • *-bridge.js:MCP Apps 宿主桥接代码。

  • worker-source.mjs:MCP 路由、用户隔离和云端记录逻辑。

  • db/、drizzle/:数据库结构和迁移,不含用户数据。

  • scripts/:构建、插件打包和行为测试。

构建与测试

需要 Node.js 22+ 和 npm;插件打包另需 Python 3。网站的独立开发、测试和部署步骤见 website/README.md。以下命令用于仓库根目录的插件:

npm ci
npm run build
npm test
npm run package:plugin

构建输出 dist/server/index.js 与 dist/.openai/hosting.json。生成产物、依赖、数据库和个人连接不提交到仓库。测试使用独立样例,不访问真实学习记录。

使用 skill 与离线卡片

按宿主说明安装 plugin-package/skills/ 中所需 skill。支持 HTML/Visualize 的宿主可按 SKILL.md 呈现 assets/interactive-card.html;普通浏览器可打开对应 assets/preview.html。复制 skill 不会自动注册 MCP 工具。

部署 MCP 服务

源码采用 Sites/Workers 风格运行时,不能直接当作普通 Node HTTP 服务执行。需要支持 fetch(request, env) 的运行时、名为 DB 的 D1/SQLite 绑定,以及 drizzle/0000_vocabulary_state.sql 初始迁移。

服务依赖可信托管边界完成 OAuth,并注入 oai-authenticated-user-id;代码不实现独立 OAuth 服务。迁移到其他平台时须实现等效身份认证,并过滤外部伪造的身份头。

.openai/hosting.json 仅含通用能力配置,没有作者项目 ID。部署到自己的 Sites 项目时,由托管流程填写新的项目身份。成功部署后,使用你的真实 HTTPS MCP 地址打包:

python3 scripts/package-plugin.py --mcp-url https://your-service.example/mcp

地址仅为格式示例。打包不自动部署,也不含作者的私人应用绑定。不传 --mcp-url 时生成 skills-only 包,通过内置 HTML 使用。

数据与许可

原创代码和工作流指引采用 MIT 许可。教材衍生词库不属于 MIT 授权范围,来源及翻译、音标质量限制见 DATA_NOTICE.md。

贡献

欢迎提交 Issue 或 Pull Request。校对词条时保留稳定 ID,并同步嵌入模板的词库副本。修改界面后重新构建、测试。主进度和副进度使用不同存储键,不应混写。

Related MCP Connectors

Related MCP Servers