B3 Dict类型
用于终端的ai优先字典。询问英语单词、习语或越南语/英语混合用法;答案来自越南语。自由形式的问题,而不是双语查找表:“可拖动的是一个真正的单词吗?”,“认为理所当然nghĩa lgì ?”,或者粘贴一个笑话并询问如何阅读它。
开始使用
需要Node 22或更新版本以及来自的API密钥 OpenRouter, OpenAI 或者 烟花.
npm install
cp .env.example .env # then paste your key into .env
npm run build
npm link # puts `b3dict` on your PATH
b3dict # interactive: type a question, press enter
b3dict "take for granted" # one-shot: print the answer and exit
b3dict "Is draggable an English word?"
b3dict "they are your to decide if they are good to go" # check a sentence you wrote
b3dict "Agreed or Agree? Approved or Approve?" # which one to use
b3dict "take for granted" --fresh # skip the stored answer, ask again
b3dict "draggable" --json # raw answer envelope
答案存储在 data/b3-dict.db,所以同样的问题问两次,第二次不会有任何花费。 .env 和 data/ 无论在哪里运行,都在此文件夹中 b3dict 从。 settings.json 坐在…旁边 .env 一旦你在TUI中选择了一个模型。从npm安装而不是签出,它们移动到 ~/.local/share/b3-dict (或 $XDG_DATA_HOME/b3-dict); 集 B3_DICT_HOME 把它们放在别的地方。
想知道每次通话的费用和时间吗?放你自己的 LANGFUSE_PUBLIC_KEY, LANGFUSE_SECRET_KEY 和 LANGFUSE_BASE_URL 在 .env 每个模特电话都会出现在你的 Langfuse 包括项目、问题和答案。B3dict没有自己的密钥,所以没有你的密钥,它什么也不会发送。
在交互式屏幕中,粘贴适用于多行问题。一旦答案出来了: r 又问, s 保存到单词本里, esc 返回, q 退却。新闻 ↓ 从问题框进入历史(你问过的所有问题)和词汇书(你用星号标出的内容); enter 在不调用模型的情况下重新打开存储的答案, s 星号或非星号排列。同样的菜单有Model,当两个键都在时,您可以在其中选择对应的模型和提供程序 .env (记得下次,除非 B3_DICT_PROVIDER 或者 B3_DICT_MODEL 设置),以及Help,它列出了键和文件的位置。从空的问题框中, esc 或者 ctrl+c 退却。
在Langfuse看到烟花的成本
跟踪到达令牌计数,但烟花模型的空成本列。Langfuse没有内置的价格,所以你可以在Langfuse项目的设置→模型下自己添加一个。有两件事容易出错:
- 匹配完整的模型id。 b3dict发送
accounts/fireworks/models/minimax-m3,而不是minimax-m3. 的模式(?i)^(minimax-m3)$不匹配任何值,并且cost为空。 - 价格是按代币计算的,而不是按百万计算。
0.3意味着每个代币0.30美元,这将十分之一美分的查找变成数百美元。
为 minimax-m3 每百万代币0.3美元进,1.2美元出:
| 场 | 价值 |
|---|---|
| 匹配模式 | (?i)^(accounts/fireworks/models/minimax-m3)$ |
input 价格 | 0.0000003 |
output 价格 | 0.0000012 |
Fireworks还报告在usage键下缓存的提示令牌 input_cached_tokens. 没有这个键的价格行,这些令牌算免费的,所以添加一个烟花的缓存率为您的模型。其他的Fireworks模型也需要自己的定义;从 烟花价格页面.
定义只对保存后到达的轨迹进行定价。老一些的保留空成本。
开发
npm run typecheck # Typecheck
npm run lint # Lint
npm test # Run tests
npm run dev -- "<query>" # Run from source without building
npm run typecheck && npm run lint && npm test && npm run build # Before creating a PR
体系结构
基于用户的模型→更新→视图。状态在单个reducer,组件调度动作,副作用在useEffect。在React习语中反映了Bubbletea的规则。
文档
- CLAUDE.md -发展指引
- GLOSSARY.md -领域词汇表
- 文档/ PRD.md -产品要求
- 文档/ USER-STORIES.md -用户描述和验收标准
- 文档/ INK-TUI-UI-UX-GUIDELINE.md -墨水TUI设计系统及组件规格
- 文档/ INK-TUI-TECH-SPECS.md —技术栈和配置
许可证
国际安全委员会