跳转到内容
扉阅Feyxo

做第一个扩展包

最快的办法是照着样例改。这里用语法样例 time-clauses(时间状语从句:before / after / until 连着的两件事谁先谁后)。

SDK 还没有对外发布,下面是预览:命令和步骤是真的,但现在外人还拿不到 feyxo 命令。发布以后照着就能跑。

样例在 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/。

打开 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:照它改完再发给别人,就要用同样的许可证公开;想用别的许可证,就别在样例上改,自己从头写。

points/which-first/ 里:

  • point.json:这个语法点叫什么、属于哪一章、出什么题(这里是“拖进格子”,把两件事放上时间线)。
  • detect.md:教模型在句子里认出这一处。
  • practice.md:教模型怎么出题:句子分几段、每段放哪个格子。
  • cases.jsonl:评测句,至少 10 句,自己新写。

写法见语法点。

终端窗口
feyxo check my-clauses

每一条问题写成 文件:位置:原因,后面跟一句人话;✗ 是不合格,· 是跳过了、用了默认的(照样能装)。通过会写 ✓ 名字(id 版本):几个语法点、几张规则卡。这一遍按发布前的要求查,比装的时候多查两样:要写 license,每个语法点至少 10 句评测句。

写一个 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 或评测句。见命令。

终端窗口
feyxo pack my-clauses -o my-clauses.feyxo.json

查过没问题才打包。得到一个 my-clauses.feyxo.json。

扉阅 设置 → 扩展包 → 装一个扩展包 → 选这个文件。扉阅先把检查结果和“装上后会新增:”给你看,点“装上”,下一次按 ⌘C 就有你的题了。

发给别人,他也这样装。见怎么分享。