Octomind
Same model as opencode, same endpoint, same prices — octomind solved 24/25 to its 19/25, at half the cost. Open-source agent runtime: one binary, any model, runs unattended in CI. Apache 2.0.
翻譯準備中
money.js (npm "money") converts currencies but ships no rates. Load them free with no key from the ECB table, or real-time for 160+ currencies, using money-rates: the same fx(100).from('USD').to('GBP'
翻譯準備中
開發工具JavaScriptGitHub @AllRates-Today上線中營運者未確認
試用過了嗎? 點一下就好,不需要登入。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證money.js-compatible currency conversion with rates built in: keyless ECB rates or real-time mid-market rates for 160+ currencies
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗money.js with the rates built in. Same API as money.js (fx(100).from('USD').to('GBP'), fx.convert, fx.rates, fx.base, fx.settings), plus fx.load(), which fetches a rate table for you.
money.js was last released in 2014 and never shipped rates. You load them yourself, usually from a paid feed. This package does that step for you.
npm install money-rates
const fx = require('money-rates'); // or: import fx from 'money-rates'
await fx.load(); // keyless ECB table, base USD
fx(100).from('USD').to('GBP'); // 74.92
fx.convert(1, { from: 'EUR', to: 'JPY' });
fx.convert([10, 20], { from: 'USD', to: 'EUR' });
fx.settings = { from: 'USD', to: 'EUR' };
fx.convert(50);
console.log(fx.base, fx.date, fx.source); // "USD" "2026-10-26" "ecb"
Real-time mid-market rates for 160+ currencies with a key (get a free one):
await fx.load({ apiKey: process.env.ALLRATESTODAY_API_KEY }); // or just set the env var
fx(100).from('USD').to('NGN');
Keep it. Fill its rates with one call:
const money = require('money');
const { loadInto } = require('money-rates');
await loadInto(money); // keyless ECB rates
money(100).from('USD').to('EUR');
Or swap the import: require('money') to require('money-rates'), then add await fx.load() where you used to set fx.rates by hand. Step-by-step guide: allratestoday.com/migrate/money-js/.
fx(value).from(a).to(b) | Convert, money.js style |
fx.convert(value, { from, to }) | Convert a number or an array of numbers |
fx.rates, fx.base, fx.settings | Same as money.js; set them by hand if you like |
fx.load({ base, apiKey, fetch }) | Fetch a table into fx. Resolves to fx |
fx.loadInto(money, opts) | Fetch a table into an existing money.js object |
fx.fetchRates(opts) | Return { base, date, rates, source } without changing state |
fx.date, fx.source | Table date and "ecb" or "mid-market" |
fx.attribution, fx.attributionHtml | Link text for keyless use |
Cross rates (EUR to JPY on a USD table) are computed exactly as money.js does. A missing currency throws fx error.
Without a key, the rates are free for any use, commercial included. Where you show them, add a visible link:
<a href="https://allratestoday.com">Exchange rates by AllRatesToday</a>
fx.attributionHtml holds that snippet. See the terms.
@allratestoday/sdkmoney.js is © Open Exchange Rates, MIT. This package is an independent reimplementation of its API and is not affiliated with it.
MIT