做第一个扩展包
最快的办法是照着样例改。这里用语法样例 time-clauses(时间状语从句:before / after / until 连着的两件事谁先谁后)。
SDK 还没有对外发布,下面是预览:命令和步骤是真的,但现在外人还拿不到 feyxo 命令。发布以后照着就能跑。
1. 复制样例
小节标题“1. 复制样例”样例在 SDK 的 examples/time-clauses/。文件夹长这样:
time-clauses/ feyxo-plugin.json 清单:是什么、谁写的、哪一版 rules.json 规则卡:做对以后摊开讲的那一句 points/ which-first/ 一个语法点一个文件夹,文件夹名就是它的 id point.json 进哪一章、用哪种题型、格子、提问 detect.md 教模型在句子里认出它 practice.md 教模型怎么出这道题 cases.jsonl 评测句,一行一句,至少 10 句整个复制成你自己的文件夹,比如 my-clauses/。
2. 改清单
小节标题“2. 改清单”打开 feyxo-plugin.json:
{ "format": "1.0", "type": "grammar", "id": "sample/time-clauses", "version": "1.0.0", "name": "时间状语从句", "description": "把 before、after、until 连着的两件事练成一眼看出谁先谁后。", "author": "sample", "license": "AGPL-3.0-only", "engines": ["field@1"], "audience": ["senior", "cet", "kaoyan"]}改 id(你的名字/扩展包名,小写字母、数字、连字符,不能含 feyxo)、name、description、author、license。每个字段的规矩见文件夹和清单。
license 你自己选,feyxo check 只要求写、不限哪一种。不过样例本身是 AGPL-3.0-only:照它改完再发给别人,就要用同样的许可证公开;想用别的许可证,就别在样例上改,自己从头写。
3. 改语法点
小节标题“3. 改语法点”points/which-first/ 里:
point.json:这个语法点叫什么、属于哪一章、出什么题(这里是“拖进格子”,把两件事放上时间线)。detect.md:教模型在句子里认出这一处。practice.md:教模型怎么出题:句子分几段、每段放哪个格子。cases.jsonl:评测句,至少 10 句,自己新写。
写法见语法点。
4. 检查
小节标题“4. 检查”feyxo check my-clauses每一条问题写成 文件:位置:原因,后面跟一句人话;✗ 是不合格,· 是跳过了、用了默认的(照样能装)。通过会写 ✓ 名字(id 版本):几个语法点、几张规则卡。这一遍按发布前的要求查,比装的时候多查两样:要写 license,每个语法点至少 10 句评测句。
5. 用自己的模型试
小节标题“5. 用自己的模型试”写一个 model.json:
{ "format": "openai", "url": "https://api.xxx.com/v1", "key": "你的密钥", "model": "your-model-name" }feyxo try my-clauses --config model.json每个语法点打一行“找到”“出题”各自的百分之几,看哪一样偏低就回去改 detect.md、practice.md 或评测句。见命令。
6. 打包
小节标题“6. 打包”feyxo pack my-clauses -o my-clauses.feyxo.json查过没问题才打包。得到一个 my-clauses.feyxo.json。
7. 装进扉阅看看
小节标题“7. 装进扉阅看看”扉阅 设置 → 扩展包 → 装一个扩展包 → 选这个文件。扉阅先把检查结果和“装上后会新增:”给你看,点“装上”,下一次按 ⌘C 就有你的题了。
发给别人,他也这样装。见怎么分享。