Skip to content

feat: add Nous Portal provider with free-tier models - #5199

Open
thedavidweng wants to merge 3 commits into
anomalyco:devfrom
thedavidweng:add-nous-portal
Open

feat: add Nous Portal provider with free-tier models#5199
thedavidweng wants to merge 3 commits into
anomalyco:devfrom
thedavidweng:add-nous-portal

Conversation

@thedavidweng

Copy link
Copy Markdown

Summary

Adds a nous provider (Nous Portal, https://portal.nousresearch.com) with its zero-cost free-tier catalog:

  • meituan/longcat-2.0:free — base_model meituan/longcat-2.0 + free cost override
  • inclusionai/ring-2.6-1t:free — new lab entry models/inclusionai/ring-2.6-1t.toml + free cost override

Nous Portal is Nous Research's subscription gateway (launched 2026-04-27) serving a rotating free-model catalog on its $0 tier (50 RPM / 500K TPM). Its third-party catalog is OpenRouter-powered, and the portal emits OpenRouter-style slugs (vendor/model:free). These two slugs are verified from production usage logs (Hermes Agent / opencode against inference-api.nousresearch.com/v1); the free rotation also includes time-limited promos (Step 3.5 Flash etc.), which I deliberately left out since they are not standing catalog entries.

Deliberately excluded: openrouter/owl-alpha and openrouter/elephant-alpha (stealth previews, no authoritative identity/limits to satisfy the schema honestly).

Why it matters downstream

tokscale prices usage via provider-hinted exact matching against this catalog (plus LiteLLM/OpenRouter). Today every Hermes Agent / Nous Portal user's free-model usage is excluded from tokscale's leaderboard submissions as unpriced because no dataset carries these IDs; this entry fixes that for everyone (provider id nous matches both opencode custom-provider configs and Hermes billing rows).

Validation

  • bun validate passes.
  • Provider follows the openai-compatible template (NOUS_API_KEY, api endpoint per official docs).
  • Free-model files are override-only via base_model; the new lab file carries complete required metadata.

@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [high] [violation] providers/nous/models/inclusionai/ring-2.6-1t:free.toml:3 - Check: Relay reasoning_options must match the lab/same-surface peer effort set for that model, not a default GPT-style enum. Why: This file sets effort to low/medium/high, but established OpenRouter/Kilo peers for inclusionai/ring-2.6-1t use high/xhigh. The PR states Nous’s third-party catalog is OpenRouter-powered, so inventing L/M/H misrepresents caller controls on this host. Action: Align with OpenRouter/same-surface peers (["high", "xhigh"]) unless you document a Nous-specific wire API that actually accepts different levels.
  • [high] [violation] providers/nous/models/meituan/longcat-2.0:free.toml:3 - Check: Every toggle requires a leading top-of-file comment with the exact wire path. Why: reasoning_options = [{ type = "toggle" }] is present with no leading # Toggle: … comment, so clients cannot know how to turn reasoning on/off on this API. Action: Add a top-of-file wire comment (e.g. the exact request field/path) or replace toggle with the real control surface this host exposes.
  • [medium] [possible mistake] providers/nous/models/meituan/longcat-2.0:free.toml:3 - Check: Relay options should copy the underlying model’s controls from lab + same-surface peers. Why: Given the PR’s OpenRouter-powered claim, OpenRouter’s meituan/longcat-2.0 uses budget_tokens, while this file uses bare toggle (Kilo uses none/high effort). These are different control surfaces. Action: Verify what inference-api.nousresearch.com actually accepts for LongCat-2.0 and match that (OpenRouter-style budget, effort with none, or a documented toggle)—do not guess from a free-tier peer alone.
  • [low] [possible mistake] models/inclusionai/ring-2.6-1t.toml:1 - Check: Material lab metadata should be backed by direct provider/docs citations in the PR body. Why: New lab facts (release dates, 262k/66k limits, open_weights = true) are introduced without mapped first-party sources; several existing hosts list open_weights = false and output = 65_536 for the same model. Action: Cite InclusionAI (or other primary) docs for limits, dates, and weights status, and correct any values that those sources contradict.

- ring-2.6-1t effort values high/xhigh per OpenRouter/Kilo peers
- ring lab file: output 65_536, open_weights false per peer consensus
- longcat free: budget_tokens (OpenRouter relay surface) with wire-path
  comment instead of undocumented toggle
@thedavidweng

Copy link
Copy Markdown
Author

Rotation policy (addressing the rotating-free-catalog concern)

Nous Portal's free catalog does rotate, so this PR is deliberately scoped to what rotation does not touch:

  • Included: only the standing :free-slug entries (meituan/longcat-2.0:free, inclusionai/ring-2.6-1t:free), verified continuously in production Hermes Agent / opencode logs over ~3 months. On this gateway the :free suffix is the standing free-tier designation, distinct from time-limited promos (Step 3.5 Flash 10-day, MIMO V2 Pro 2-week), which are excluded precisely because they expire.
  • Lifecycle: if a standing entry later rotates out, the fix is the same one this repo already uses for OpenCode Zen's hand-maintained free catalog — flip status to deprecated (e.g. zen's longcat-2.0-free, ring-2.6-1t-free today). Zen proves hand-maintained rotating free catalogs are workable here; there is no Portal sync module to lean on since the catalog API requires OAuth.
  • Not promo pricing: unlike OpenRouter sync records promotional prices as standard prices #4580 (discounted paid prices recorded as standard), $0 here is the actual billed amount on the free tier, not a headline discount.

Lab metadata citations for models/inclusionai/ring-2.6-1t.toml: release date 2026-05-08 and context 262,144 from OpenRouter's API (created: 1778247440, context_length: 262144); output 65,536 and open_weights = false aligned with the existing OpenRouter/Kilo/nano-gpt peer rows (zen's now-deprecated free row disagrees; peers win pending first-party confirmation).

Also fixed the automated review items: ring effort set is now ["high", "xhigh"], and LongCat reasoning control uses budget_tokens (the OpenRouter relay surface) with a wire-path comment instead of an undocumented toggle.

@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [medium] [violation] providers/nous/models/meituan/longcat-2.0:free.toml:1 - Check: Reasoning-option wire comments must document the exact host request field (and must not mislabel the control type). Why: The leading comment calls this a “Toggle wire path” and cites OpenRouter reasoning.budget_tokens, but the file only authors budget_tokens (no toggle), and OpenRouter’s documented chat budget field is reasoning.max_tokens (thinking.budget_tokens is Anthropic Messages-only). Wrong wire docs will mislead callers of this openai-compatible relay. Action: Rewrite the top-of-file comment to the real Nous/OpenRouter chat path (e.g. budget via reasoning.max_tokens, and only mention toggle if you also author { type = "toggle" } with its wire path). Drop the incorrect reasoning.budget_tokens / “Toggle” wording.

The control authored is budget_tokens, not toggle; OpenRouter's
chat-completions budget field is reasoning.max_tokens (budget_tokens
is Anthropic Messages-only wording).
@github-actions

Copy link
Copy Markdown
Contributor

No actionable findings.

@github-actions github-actions Bot added the reviewer: ready Automated review found no actionable items label Aug 21, 2026
@rekram1-node

Copy link
Copy Markdown
Collaborator

Do they allow u to use these in other clients than hermes? Seems unlikely... Show me references citing that they are okay with this plz

@thedavidweng

Copy link
Copy Markdown
Author

Do they allow u to use these in other clients than hermes? Seems unlikely... Show me references citing that they are okay with this plz

https://github.com/NousResearch/hermes-agent/blob/main/website/docs/user-guide/features/subscription-proxy.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

reviewer: ready Automated review found no actionable items

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants