diff --git a/README.de.md b/README.de.md index 997814e..89f9a7f 100644 --- a/README.de.md +++ b/README.de.md @@ -99,11 +99,11 @@ npx -y @sandbaseai/cli@latest connect --client cursor ## Preise -- **Daten-APIs (Suche, Social Media, Scraping, E-Commerce, Finanzen) sind kostenlos.** -- Suchen, Inspizieren, Laufstatus, Guthaben und Datei-Upload sind ebenfalls kostenlos. +- Daten-APIs (Suche, Social Media, Scraping, E-Commerce, Finanzen): 100 kostenlose Aufrufe pro Tag und Organisation (geteilt über alle berechtigten APIs, Reset um 00:00 UTC), danach Abrechnung pro Aufruf zum Preis, den `sandbase inspect` anzeigt. +- Suchen, Inspizieren, Laufstatus, Guthaben und Datei-Upload sind kostenlos. - Modelle (LLM, Bild, Video, Audio) werden pro Aufruf oder pro Million Tokens berechnet. -`sandbase inspect ` zeigt immer den aktuellen Preis; `base_price: 0` heißt kostenlos. Preise können sich ändern — verlasse dich auf die echte Antwort. +`sandbase inspect ` zeigt immer den aktuellen Preis und bei berechtigten APIs `pricing.free_quota`; `sandbase balance --json` zeigt die heute verbleibenden Gratis-Aufrufe als `free_api_quota`. Preise können sich ändern — verlasse dich auf die echte Antwort. ## Befehle @@ -123,7 +123,7 @@ sandbase catalog --json # Unterstützte Clients auflisten | `sandbase_run` | Modell oder API ausführen | | `sandbase_run_get` | Status asynchroner Aufgaben abfragen | | `sandbase_runs` | Letzte API-Aufrufe und Kosten anzeigen | -| `sandbase_account` | Kontostand prüfen (kostenlos) | +| `sandbase_account` | Kontostand und heutige kostenlose Daten-API-Aufrufe (`free_api_quota`) prüfen (kostenlos) | --- @@ -142,7 +142,7 @@ sandbase catalog --json # Unterstützte Clients auflisten npx -y @sandbaseai/cli@latest connect ``` -**[Kostenloses Konto erstellen →](https://sandbase.ai)** +**[Konto erstellen →](https://sandbase.ai)** Wenn SandBase dir Einrichtungszeit spart, [gib dem Projekt einen Star](https://github.com/sandbaseai/cli). So können weitere Agent-Nutzer es leichter entdecken. diff --git a/README.es.md b/README.es.md index 0a26128..e3d0348 100644 --- a/README.es.md +++ b/README.es.md @@ -102,11 +102,11 @@ npx -y @sandbaseai/cli@latest connect --client cursor ## Precios -- **Las APIs de datos (búsqueda, redes sociales, scraping, e-commerce, finanzas) son gratuitas.** -- Descubrir, inspeccionar, consultar estado, saldo y subir archivos también es gratis. +- Las APIs de datos (búsqueda, redes sociales, scraping, e-commerce, finanzas) incluyen 100 llamadas gratis al día por organización (compartidas entre las APIs elegibles, se reinician a las 00:00 UTC); después se pagan por llamada, al precio que muestra `sandbase inspect`. +- Descubrir, inspeccionar, consultar estado, saldo y subir archivos es gratis. - Los modelos (LLM, imagen, vídeo, audio) se pagan por llamada o por millón de tokens. -`sandbase inspect ` muestra siempre el precio actual; `base_price: 0` significa gratis. Los precios pueden cambiar: confía en la respuesta real. +`sandbase inspect ` muestra siempre el precio actual y, en las APIs elegibles, `pricing.free_quota`; `sandbase balance --json` muestra las llamadas gratis que quedan hoy en `free_api_quota`. Los precios pueden cambiar: confía en la respuesta real. ## Comandos @@ -126,7 +126,7 @@ sandbase catalog --json # Listar clientes soportados | `sandbase_run` | Ejecutar un modelo o API | | `sandbase_run_get` | Consultar estado de tareas asíncronas | | `sandbase_runs` | Ver llamadas recientes y costos | -| `sandbase_account` | Verificar saldo (gratis) | +| `sandbase_account` | Verificar saldo y las llamadas gratuitas a APIs de datos de hoy (`free_api_quota`) (gratis) | --- @@ -145,7 +145,7 @@ sandbase catalog --json # Listar clientes soportados npx -y @sandbaseai/cli@latest connect ``` -**[Crear cuenta gratis →](https://sandbase.ai)** +**[Crear cuenta →](https://sandbase.ai)** Si SandBase te ahorra tiempo de configuración, [dale una estrella al proyecto](https://github.com/sandbaseai/cli). Así será más fácil que otros usuarios de agentes lo descubran. diff --git a/README.fr.md b/README.fr.md index 46fac89..03c47f6 100644 --- a/README.fr.md +++ b/README.fr.md @@ -99,11 +99,11 @@ npx -y @sandbaseai/cli@latest connect --client cursor ## Tarifs -- **Les API de données (recherche, réseaux sociaux, scraping, e-commerce, finance) sont gratuites.** -- La découverte, l’inspection, le statut des exécutions, le solde et l’envoi de fichiers sont également gratuits. +- Les API de données (recherche, réseaux sociaux, scraping, e-commerce, finance) incluent 100 appels gratuits par jour et par organisation (partagés entre les API éligibles, remis à zéro à 00:00 UTC), puis sont facturées à l’appel, au prix affiché par `sandbase inspect`. +- La découverte, l’inspection, le statut des exécutions, le solde et l’envoi de fichiers sont gratuits. - Les modèles (LLM, image, vidéo, audio) sont facturés à l’appel ou au million de tokens. -`sandbase inspect ` affiche toujours le prix actuel ; `base_price: 0` signifie gratuit. Les prix peuvent changer : fiez-vous à la réponse réelle. +`sandbase inspect ` affiche toujours le prix actuel et, pour les API éligibles, `pricing.free_quota` ; `sandbase balance --json` indique les appels gratuits restants du jour dans `free_api_quota`. Les prix peuvent changer : fiez-vous à la réponse réelle. ## Commandes @@ -123,7 +123,7 @@ sandbase catalog --json # Lister les clients | `sandbase_run` | Exécuter un modèle ou une API | | `sandbase_run_get` | Vérifier le statut des tâches asynchrones | | `sandbase_runs` | Voir les appels récents et les coûts | -| `sandbase_account` | Vérifier le solde (gratuit) | +| `sandbase_account` | Vérifier le solde et les appels gratuits aux API de données du jour (`free_api_quota`) (gratuit) | --- @@ -142,7 +142,7 @@ sandbase catalog --json # Lister les clients npx -y @sandbaseai/cli@latest connect ``` -**[Créer un compte gratuit →](https://sandbase.ai)** +**[Créer un compte →](https://sandbase.ai)** Si SandBase vous fait gagner du temps de configuration, [ajoutez une étoile au projet](https://github.com/sandbaseai/cli). Cela aidera d’autres utilisateurs d’agents à le découvrir. diff --git a/README.ja.md b/README.ja.md index dddbe7a..dc5e749 100644 --- a/README.ja.md +++ b/README.ja.md @@ -142,11 +142,11 @@ npx -y @sandbaseai/cli@latest connect --client cursor ## 料金 -- **データ API(検索、ソーシャル、スクレイピング、EC、金融)は無料。** -- discover、inspect、実行ステータス、残高、ファイルアップロードも無料。 +- データ API(検索、ソーシャル、スクレイピング、EC、金融)は組織ごとに 1 日 100 回まで無料(UTC 基準でリセット、対象 API 全体で共有)。それ以降は 1 回ごとの課金で、料金は `sandbase inspect` で表示されます。 +- discover、inspect、実行ステータス、残高、ファイルアップロードは無料。 - モデル(LLM、画像、動画、音声)は 1 回ごと、または 100 万トークンごとの課金。 -`sandbase inspect ` は常に現在の価格を表示します。`base_price: 0` は無料です。価格は変わるため、実際のレスポンスを信頼してください。 +`sandbase inspect ` は常に現在の価格を表示し、無料枠の対象 API には `pricing.free_quota` が表示されます。今日の残り無料回数は `sandbase balance --json` の `free_api_quota` で確認できます。価格は変わるため、実際のレスポンスを信頼してください。 ## コマンド @@ -168,7 +168,7 @@ sandbase catalog --json # 対応クライアント一覧 | `sandbase_run` | モデルまたはAPIエンドポイントを実行 | | `sandbase_run_get` | 非同期タスクのステータス/結果をポーリング | | `sandbase_runs` | 最近のAPI呼び出しとコストを一覧表示 | -| `sandbase_account` | アカウント残高を確認(無料) | +| `sandbase_account` | アカウント残高と本日の無料データ API 呼び出し(`free_api_quota`)を確認(無料) | **エージェントが自動的に従うワークフロー:** @@ -202,7 +202,7 @@ npx -y @sandbaseai/cli@latest connect そして、エージェントに今までできなかったことを頼んでみてください。 -**[無料アカウント作成 →](https://sandbase.ai)** +**[アカウント作成 →](https://sandbase.ai)** SandBase でセットアップ時間を短縮できたら、[リポジトリに Star を付けてください](https://github.com/sandbaseai/cli)。より多くのエージェントユーザーがこのプロジェクトを見つけやすくなります。 diff --git a/README.ko.md b/README.ko.md index 7789456..d41c8a7 100644 --- a/README.ko.md +++ b/README.ko.md @@ -102,11 +102,11 @@ npx -y @sandbaseai/cli@latest connect --client cursor ## 가격 -- **데이터 API(검색, 소셜, 스크래핑, 커머스, 금융)는 무료입니다.** -- discover, inspect, 실행 상태, 잔액, 파일 업로드도 무료입니다. +- 데이터 API(검색, 소셜, 스크래핑, 커머스, 금융)는 조직당 하루 100회 무료(UTC 기준 초기화, 대상 API 전체 공유)이며, 이후에는 호출당 과금됩니다. 가격은 `sandbase inspect`에 표시됩니다. +- discover, inspect, 실행 상태, 잔액, 파일 업로드는 무료입니다. - 모델(LLM, 이미지, 비디오, 오디오)은 호출당 또는 100만 토큰당 과금됩니다. -`sandbase inspect `은 현재 가격을 보여 주며 `base_price: 0`은 무료를 뜻합니다. 가격은 변경될 수 있으니 실제 응답을 기준으로 하세요. +`sandbase inspect `은 현재 가격을 보여 주며, 무료 한도 대상 API에는 `pricing.free_quota`가 표시됩니다. 오늘 남은 무료 호출 수는 `sandbase balance --json`의 `free_api_quota`에서 확인할 수 있습니다. 가격은 변경될 수 있으니 실제 응답을 기준으로 하세요. ## 명령어 @@ -128,7 +128,7 @@ sandbase catalog --json # 지원 클라이언트 목록 | `sandbase_run` | 모델 또는 API 실행 | | `sandbase_run_get` | 비동기 작업 상태/결과 조회 | | `sandbase_runs` | 최근 API 호출 및 비용 확인 | -| `sandbase_account` | 계정 잔액 확인 (무료) | +| `sandbase_account` | 계정 잔액과 오늘의 무료 데이터 API 호출(`free_api_quota`) 확인 (무료) | --- @@ -147,7 +147,7 @@ sandbase catalog --json # 지원 클라이언트 목록 npx -y @sandbaseai/cli@latest connect ``` -**[무료 계정 만들기 →](https://sandbase.ai)** +**[계정 만들기 →](https://sandbase.ai)** SandBase로 설정 시간을 절약했다면 [프로젝트에 Star를 남겨 주세요](https://github.com/sandbaseai/cli). 더 많은 에이전트 사용자가 프로젝트를 발견하는 데 도움이 됩니다. diff --git a/README.md b/README.md index 0a837a2..026c487 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@

@sandbaseai/cli

- Give your AI agent superpowers. One line. 2,000+ AI models and APIs — data APIs are free. + Give your AI agent superpowers. One line. 2,000+ AI models and APIs. 100 free data API calls a day, then pay per call from one balance.

English | 中文 | 日本語 | 한국어 | Español | Français | Deutsch | Português @@ -86,13 +86,16 @@ Homebrew users can run the same read-only check with `sandbase catalog --json`. | | Price | |---|---| -| **Data APIs** — search, social, scraping, e-commerce, finance | **Free** | +| Data APIs — search, social, scraping, e-commerce, finance | 100 free calls/day per organization, then paid per call (price shown by `sandbase inspect`) | | Discovery, inspection, run status, balance, file upload | **Free** | | Models — LLM, image, video, audio | Paid per call or per million tokens | `sandbase inspect ` always shows the current price before you run anything; -`base_price: 0` means the call is free. Prices can change, so trust the live -response over any example in this file. +data APIs covered by the daily allowance also show `pricing.free_quota`. The 100 +free calls are shared across eligible data APIs and reset at 00:00 UTC; after +that, calls are billed per call. `sandbase balance --json` shows today's remaining free +calls as `free_api_quota`. Prices can change, so trust the live response over +any example in this file. Visit the [official SandBase CLI project page](https://sandbaseai.github.io/cli/) for a compact overview. For a security-focused walkthrough of client detection, MCP tools, and rollback, @@ -145,7 +148,9 @@ other catalog capabilities: 2. Use `sandbase_inspect` to read the current input schema, pricing, and execution requirements. 3. Confirm the selected endpoint and parameters before calling `sandbase_run`. - Data API calls are free; confirm the cost first when the tool is a model. + Data APIs include 100 free calls per organization per UTC day, then are + billed per call like models; confirm the cost shown by `sandbase_inspect` + before paid runs. 4. For asynchronous work, use `sandbase_run_get` with the returned `run_id` instead of creating a duplicate run. 5. Use `sandbase_runs` to review recent run status and recorded cost. @@ -320,10 +325,10 @@ Sync tools (LLMs, most data APIs) return their result directly; async tools (ima |------|---------| | `sandbase_discover` | Search all 2,000+ available AI models and APIs — free | | `sandbase_inspect` | Get input schema, current price, and a ready-to-run template — free | -| `sandbase_run` | Execute a model or API endpoint — free for data APIs, paid for models | +| `sandbase_run` | Execute a model or API endpoint — eligible data APIs: 100 free calls/day per organization, then paid per call; models: paid per call | | `sandbase_run_get` | Poll status/result of an async run (video gen, etc.) — free | | `sandbase_runs` | List your recent runs with their cost — free | -| `sandbase_account` | Check account balance — free | +| `sandbase_account` | Check account balance and today's free data API calls (`free_api_quota`) — free | | `sandbase_run_cancel` | Cancel an Agent Service run — free | **Recommended workflow:** @@ -358,7 +363,7 @@ npx -y @sandbaseai/cli@latest connect Then ask your agent to do something it couldn't before. -**[Create a free account →](https://sandbase.ai)** — data APIs are free to call. +**[Create an account →](https://sandbase.ai)** — every organization gets 100 free data API calls a day. If SandBase saves you setup time, [star the repository](https://github.com/sandbaseai/cli) — it helps more agent users discover the project. diff --git a/README.pt-BR.md b/README.pt-BR.md index 9c1a691..51d3cc8 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -102,11 +102,11 @@ npx -y @sandbaseai/cli@latest connect --client cursor ## Preços -- **As APIs de dados (busca, redes sociais, scraping, e-commerce, finanças) são gratuitas.** -- Descobrir, inspecionar, status de execução, saldo e upload de arquivos também são gratuitos. +- As APIs de dados (busca, redes sociais, scraping, e-commerce, finanças) incluem 100 chamadas grátis por dia por organização (compartilhadas entre as APIs elegíveis, reiniciadas às 00:00 UTC); depois, são cobradas por chamada, pelo preço exibido em `sandbase inspect`. +- Descobrir, inspecionar, status de execução, saldo e upload de arquivos são gratuitos. - Modelos (LLM, imagem, vídeo, áudio) são cobrados por chamada ou por milhão de tokens. -`sandbase inspect ` sempre mostra o preço atual; `base_price: 0` significa gratuito. Preços mudam: confie na resposta real. +`sandbase inspect ` sempre mostra o preço atual e, nas APIs elegíveis, `pricing.free_quota`; `sandbase balance --json` mostra as chamadas grátis restantes do dia em `free_api_quota`. Preços mudam: confie na resposta real. ## Comandos @@ -126,7 +126,7 @@ sandbase catalog --json # Listar clientes suportados | `sandbase_run` | Executar um modelo ou API | | `sandbase_run_get` | Verificar status de tarefas assíncronas | | `sandbase_runs` | Ver chamadas recentes e custos | -| `sandbase_account` | Verificar saldo (grátis) | +| `sandbase_account` | Verificar saldo e as chamadas gratuitas a APIs de dados de hoje (`free_api_quota`) (grátis) | --- @@ -145,7 +145,7 @@ sandbase catalog --json # Listar clientes suportados npx -y @sandbaseai/cli@latest connect ``` -**[Criar conta grátis →](https://sandbase.ai)** +**[Criar conta →](https://sandbase.ai)** Se o SandBase economizou seu tempo de configuração, [dê uma estrela ao projeto](https://github.com/sandbaseai/cli). Isso ajuda mais usuários de agentes a encontrá-lo. diff --git a/README.zh-CN.md b/README.zh-CN.md index 02a9243..b6f5e45 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -204,11 +204,11 @@ npx -y @sandbaseai/cli@latest unregister --client hermes ## 价格 -- **数据 API(搜索、社交、抓取、电商、金融)免费调用。** -- discover、inspect、运行状态、余额、文件上传均免费。 +- 数据 API(搜索、社交、抓取、电商、金融)每个组织每天 100 次免费调用(按 UTC 日重置,所有适用的数据 API 共享),超出后按次计费,价格以 `sandbase inspect` 显示为准。 +- discover、inspect、运行状态、余额、文件上传免费,不扣费。 - 模型(LLM、图像、视频、音频)按次或按百万 token 计费。 -`sandbase inspect <工具名>` 会显示当前价格,`base_price: 0` 表示免费。价格可能变动,请以实时返回为准。 +`sandbase inspect <工具名>` 会显示当前价格,适用每日免费额度的数据 API 会带有 `pricing.free_quota`;`sandbase balance --json` 的 `free_api_quota` 显示今天剩余的免费次数。价格可能变动,请以实时返回为准。 ## 命令 @@ -248,7 +248,7 @@ sandbase runs list | sandbase balance | `sandbase_run` | 执行模型或 API | | `sandbase_run_get` | 轮询异步任务状态/结果(视频生成等) | | `sandbase_runs` | 查看最近的 API 调用记录和费用 | -| `sandbase_account` | 查看账户余额(免费,不扣费) | +| `sandbase_account` | 查看账户余额和今日免费数据 API 调用次数(`free_api_quota`),免费,不扣费 | **Agent 自动遵循的调用流程:** @@ -282,7 +282,7 @@ npx -y @sandbaseai/cli@latest connect 然后让你的 Agent 做一些它以前做不到的事。 -**[注册免费账号 →](https://sandbase.ai)** +**[注册账号 →](https://sandbase.ai)** 如果 SandBase 帮你节省了配置时间,欢迎[为项目点个 Star](https://github.com/sandbaseai/cli)——这会让更多 Agent 用户发现它。 diff --git a/package-lock.json b/package-lock.json index 88ad315..637e59b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@sandbaseai/cli", - "version": "0.3.7", + "version": "0.3.8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@sandbaseai/cli", - "version": "0.3.7", + "version": "0.3.8", "license": "Apache-2.0", "dependencies": { "jsonc-parser": "3.3.1", diff --git a/package.json b/package.json index 769783e..13e6646 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@sandbaseai/cli", - "version": "0.3.7", + "version": "0.3.8", "mcpName": "io.github.sandbaseai/cli", "description": "Give 25 AI clients—Claude Code, Codex, Cursor, Hermes, OpenClaw and more—2,000+ models and APIs through one MCP server and an agent-friendly CLI", "type": "module", diff --git a/server.json b/server.json index 998adce..078ac76 100644 --- a/server.json +++ b/server.json @@ -3,7 +3,7 @@ "name": "io.github.sandbaseai/cli", "title": "SandBase", "description": "Connect MCP clients to 2,000+ AI models without managing provider API keys.", - "version": "0.3.7", + "version": "0.3.8", "repository": { "url": "https://github.com/sandbaseai/cli", "source": "github" @@ -26,7 +26,7 @@ { "registryType": "npm", "identifier": "@sandbaseai/cli", - "version": "0.3.7", + "version": "0.3.8", "packageArguments": [ { "type": "positional", diff --git a/skills/sandbase/SKILL.md b/skills/sandbase/SKILL.md index 7fbd078..4b28ca1 100644 --- a/skills/sandbase/SKILL.md +++ b/skills/sandbase/SKILL.md @@ -1,6 +1,6 @@ --- name: sandbase -version: 0.3.7 +version: 0.3.8 description: >- Discover better ways to complete tasks. Proactively search SandBase (the sandbase_discover MCP tool, or `sandbase discover` in a shell) before writing a @@ -10,8 +10,8 @@ description: >- data (X/Twitter, TikTok, Douyin, Xiaohongshu, Instagram, YouTube, Reddit, Weibo, Bilibili, LinkedIn); search results; web scraping; product, company, or people data; embeddings; or a specific third-party model. 2,000+ models and - APIs: data APIs (search, social, scraping, e-commerce, finance) are free to - call, models are paid per call from one balance. Exceptions: if the user already has a + APIs, paid per call from one balance, with 100 free calls per day on eligible + data APIs (inspect shows free_quota). Exceptions: if the user already has a dedicated MCP server, API key, or tool for that specific service, use it; and if your built-in web search or page fetch already gives what the task needs, use that — SandBase fills gaps in the user's stack, it does not replace it. @@ -68,10 +68,10 @@ Discovery, inspection, run status, and balance are **free**; only `sandbase_run` |---|---| | `sandbase_discover` | Search the catalog in natural language (`q`), optionally filtered by `type` (`llm`, `api`, `multimodal`, `embedding`, `service`) or `vendor` | | `sandbase_inspect` | Input schema (`inputSchema`), pricing, and an `execute_as` template for one tool | -| `sandbase_run` | Execute a tool (**costs money**) | +| `sandbase_run` | Execute a tool (**may be billed**) | | `sandbase_run_get` | Status, cost, and output of a run — poll with this | | `sandbase_runs` | Recent runs with cost | -| `sandbase_account` | Balance | +| `sandbase_account` | Balance and today's free data API calls (`free_api_quota`) | | `sandbase_run_cancel` | Cancel an Agent Service run | ### MCP workflow @@ -212,11 +212,12 @@ Do not use SandBase for purely local work (editing files, reasoning over code al ## 6. Cost and budget -- **`inspect` is the source of truth for price**: per call (`base_price`), per million tokens (`input_per_million` / `output_per_million`), or a `formula`. **`base_price: 0` means the call is free** — just run it. -- **Data APIs are currently free** (search, social, scraping, e-commerce, finance). Models (LLM, image, video, audio) are paid. Discovery, inspection, run status, balance, and `upload` are always free. -- Never warn about spending, or ask the user to approve a cost, for a tool priced at 0. Read the price first instead of assuming a call costs money. -- When a tool **is** paid and billed **per result**, limits often apply **per query**: three search terms with `limit: 10` can return 30 results. Pass one search term per call and start with small limits (5–10). -- Check `sandbase_account` before a batch of paid calls (not needed for free ones), and report cost when the user cares about budget (`cost` appears on `sandbase_run_get` and `sandbase_runs`). +- **`inspect` is the source of truth for price**: per call (`base_price`), per million tokens (`input_per_million` / `output_per_million`), or a `formula`. +- **Data APIs have a daily free quota** (search, social, scraping, e-commerce, finance): every organization gets **100 free calls per UTC day, shared across all eligible data APIs**. Eligible tools show `pricing.free_quota` in `inspect`; `sandbase_account` (`sandbase balance --json`) shows today's allowance as `free_api_quota` (`daily_limit`, `used_today`, `remaining`, `resets_at`). Each eligible data API call counts toward the 100, whichever tool it hits. After the quota is used up, calls keep working and are **billed per call** at the price `inspect` shows; they are not blocked. A zero-balance organization can still use its free calls. +- Models (LLM, image, video, audio) are always billed. Discovery, inspection, run status, balance, and `upload` are never billed. +- Read the price with `inspect` before running instead of guessing what a call costs. +- When a tool is billed **per result**, limits often apply **per query**: three search terms with `limit: 10` can return 30 results. Pass one search term per call and start with small limits (5–10). +- Check `sandbase_account` before a batch of calls (balance, plus `free_api_quota.remaining` for data APIs: a batch larger than the remaining free calls is billed for the rest), and report cost when the user cares about budget (`cost` appears on `sandbase_run_get` and `sandbase_runs`). - Never re-run a slow tool just because it is still running; poll it. - A key can carry a **spending limit** set in the Dashboard. When it is reached, calls fail with "spending limit" until the user raises or removes it; topping up does not help. diff --git a/skills/sandbase/skill.json b/skills/sandbase/skill.json index c57e71b..ed37944 100644 --- a/skills/sandbase/skill.json +++ b/skills/sandbase/skill.json @@ -1,6 +1,6 @@ { "name": "sandbase", - "version": "0.3.7", + "version": "0.3.8", "description": "Discover and run 2,000+ AI models and APIs (media generation, social data, search, scraping) through one MCP interface or CLI, paid per call from one balance.", "author": "SandBase AI", "license": "Apache-2.0", diff --git a/test/agent.test.ts b/test/agent.test.ts index e82ef40..76c999d 100644 --- a/test/agent.test.ts +++ b/test/agent.test.ts @@ -331,7 +331,7 @@ test("setup refreshes the bridge and SandBase-owned Skills but leaves edited Ski const lines: string[] = []; assert.equal(await setup(new FileCredentialStore(env.SANDBASE_HOME!), line => void lines.push(line)), true); assert.match(lines.join("\n"), /bridge: status=updated/); assert.match(lines.join("\n"), /claude-code: skill=updated/); assert.match(lines.join("\n"), /kiro: skill=modified/); - assert.match(await readFile(join(claudeDir, "SKILL.md"), "utf8"), /version: 0\.3\.7/); + assert.match(await readFile(join(claudeDir, "SKILL.md"), "utf8"), /version: 0\.3\.8/); assert.match(await readFile(join(kiroDir, "SKILL.md"), "utf8"), /user edit/); } finally { for (const [key, value] of Object.entries(previous)) { if (value === undefined) delete process.env[key]; else process.env[key] = value; } } });