试一试
对于通过 Ollama 在本地运行的 Llama 模型,把下面的内容存为 ~/Library/Application Support/Gnista/Models/ollama.json:
{
"version": 1,
"match": ["llama3.1:8b"],
"price": "free",
"context": 131072
}十秒之内,运行 llama3.1:8b 的会话就会显示费用为 $0,以及 131K token 的上下文用了多少,图标是 Gnista 本来就认识的 Meta 图标。设置 ▸ 智能体 ▸ 模型会列出这个文件;那里的“显示模型文件夹”会打开这个文件夹。
模型文件
每个模型一个文件,或者每个模型系列一个文件:文件名最多 32 个小写字母、数字、- 和 _,以 .json 结尾。只有 match 是必填的,而且一个文件至少要给出 icon、price 或 context 之一。
{
"version": 1,
"maker": "Acme",
"match": ["acme-coder", "acme"],
"icon": "acme.svg",
"motion": "breathe",
"monochrome": false,
"price": { "input": 0.5, "output": 1.5, "cacheRead": 0.05, "cacheWrite": 0.6 },
"context": 200000,
"about": "Prices from our internal rate card."
}| 键 | 作用 |
|---|---|
version | 1。 |
match | 必填。这个文件适用的模型 ID 片段,最多 32 个,按你的 Agent 报告的样子写:llama3.1:8b、acme-coder。不区分大小写。超过两个字符的片段可以匹配 ID 里的任何位置;两个字符及以下的只匹配完整的词,所以 o3 匹配 o3-mini,但不匹配 foo3。 |
maker | 厂商名,设置里用它来称呼这个文件。最多 40 个字符。 |
icon | 同一文件夹里的 SVG 或 PNG 文件,最大 1 MB,作为小角标显示在 Agent 的图标上。不填的话,Gnista 认识的模型会保留厂商的图标。 |
motion | Agent 运行时角标怎么动:spin、twinkle、bob、swim、rock 或 breathe,也可以自定节奏:{"name": "spin", "period": 10}。 |
monochrome | 单色标志写 true,会用周围文字的颜色来画。 |
price | "free",或者每百万 token 的美元价格:input 和 output,以及可选的 cacheRead(不填则为 input 的十分之一)和 cacheWrite(不填则为 input 的 1.25 倍)。 |
context | 模型的上下文窗口,以 token 计,用于显示用量的圆环。 |
about | 写给下一个编辑这个文件的人的备注。Gnista 不显示它。 |
超过 1 MB 的文件,或者有任何错误的文件(未知的键、不成立的价格、Gnista 读不了的图标),会被整个忽略,绝不会只用一半。设置 ▸ 智能体 ▸ 模型会列出它并说明原因。
模型用哪个文件
- 你的文件优先于 Gnista 自带的。有多个文件匹配时,匹配部分最长的那个胜出:
llama-3.1-nemotron归 NVIDIA(nemotron),而不是 Meta(llama)。 - 图标取自带图标的最佳匹配,价格和上下文取自带有它们的最佳匹配。只写了价格的文件,会保留厂商的图标。
- 你写的价格和上下文优先于 Gnista 知道的公开价格,因为你最了解自己的接口。不过 Agent 自己报告的上下文窗口仍然优先。
- 模型就是 Agent 厂商自家的模型时(比如 Claude Code 运行 Claude),不显示角标。
更多示例
LM Studio 里的一个模型,免费,用 Gnista 自带的 Qwen 图标:
{ "version": 1, "match": ["qwen2.5-coder-32b"], "price": "free", "context": 32768 }公司自己的接口,有自己的图标和价格,和 acme.svg 放在一起:
{
"version": 1,
"maker": "Acme",
"match": ["acme-coder"],
"icon": "acme.svg",
"motion": "breathe",
"price": { "input": 0.5, "output": 1.5 },
"context": 200000
}在哪里显示
会报告自己模型的 Agent 会显示角标,比如 Claude Code、Codex、OpenCode、Antigravity 和 Droid;你自己的工具发送了 model 时也会显示(自定义 Agent)。费用和上下文只对 Gnista 会读取其会话的 Agent 显示;设置 ▸ 智能体里标明了是哪些。