Skip to content

Add lanseq provider - #6994

Open
CHYYX wants to merge 11 commits into
anomalyco:devfrom
CHYYX:add-lanseq-provider
Open

CHYYX wants to merge 11 commits into
anomalyco:devfrom
CHYYX:add-lanseq-provider

Conversation

@CHYYX

@CHYYX CHYYX commented Sep 13, 2026

Copy link
Copy Markdown

Adds Lanseq as an OpenAI-compatible inference provider.

Initial live model:

  • Qwen3.8-27B INT4

Lanseq provides inference for open-weight models from Hong Kong / APAC infrastructure. Additional model SKUs and capacity can be added based on demand.

The initial endpoint has been validated end-to-end through OpenCode using its custom OpenAI-compatible provider path.

API:
https://api.lanseq.cloud/v1

First-party documentation:
https://api.lanseq.cloud/docs

The documentation supports the provider-specific metadata in this PR:

  • Pricing: input $0.25 / 1M tokens, cached input $0.045 / 1M tokens, output $1.99 / 1M tokens.
  • Limits: 70,000-token context and 8,192-token maximum output.
  • Reasoning control: reasoning_effort accepts none, low, medium, and xhigh.

@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [high] [violation] providers/lanseq/models/qwen3.8-27b-int4.toml:1 - Check: Provider base_model overrides must keep only real deltas; resolved metadata must stay accurate for this SKU. Why: The file drops description while overriding modalities to text-only and attachment = false. Merge inherits the lab description (“Dense 27B vision-language model… image and video understanding”), which contradicts this INT4 text-only deployment. An earlier revision had a correct SKU-specific description and it was removed. Action: Restore a provider-local description that states this is a text-only INT4 deployment of Qwen3.8-27B (and keep only other true deltas).
  • [high] [possible mistake] providers/lanseq/provider.toml:4 - Check: OpenAI-compatible providers need a stable public api (and useful doc) for catalog consumers. Why: api and doc point at https://api.172.98.22.239.sslip.io/... — an IP + sslip.io hostname that looks ephemeral, not a durable provider endpoint. Catalog clients would send traffic/API keys there. Action: Replace with the provider’s stable production base URL and documentation URL, or confirm in the PR body that this sslip.io host is the intentional long-lived public API and document how it is operated.
  • [low] [possible mistake] providers/lanseq/models/qwen3.8-27b-int4.toml:9 - Check: Material cost/limit claims should cite first-party pricing or API docs. Why: cost (0.25 / 1.99 / cache_read 0.045) and reduced limits (70k / 8,192) have no mapped citations; the PR body only lists the same sslip.io API/docs URLs without stating what they support. Action: Add a leading TOML comment and/or PR-body bullets mapping each price and limit to a direct provider source (and currency conversion note if not USD-native).
  • [low] [possible mistake] providers/lanseq/logo.svg:1 - Check: New provider logos should use currentColor, no fixed size/hardcoded color, and preferably a square viewBox. Why: Final mark is a wide wordmark (viewBox="0 0 320 80") with system-font text; it meets color rules but is a poor fit for small square logo slots (the prior monogram was closer to the preferred shape). Action: Prefer a square path-based monogram/currentColor mark (e.g. 0 0 24 24) instead of a wide text wordmark.

@CHYYX

CHYYX commented Sep 13, 2026

Copy link
Copy Markdown
Author

Clarification on the Lanseq API and documentation URLs:

  • https://api.172.98.22.239.sslip.io/v1 is the intentional public Lanseq API endpoint for this initial provider deployment, not a temporary validation URL.
  • The endpoint is operated by Lanseq on our Hong Kong/APAC inference infrastructure and is intended to remain available for catalog/API consumers.
  • TLS is enabled and the endpoint has been validated end-to-end through OpenCode using its custom OpenAI-compatible provider path.
  • https://api.172.98.22.239.sslip.io/docs is the first-party Lanseq API documentation for this deployment.
  • The documentation specifies the current SKU pricing (input $0.25/M tokens, cached input $0.045/M tokens, output $1.99/M tokens) and limits (70,000 context, 8,192 max output), as reflected in the provider model metadata.
  • Lanseq provides inference for open-weight models; Qwen3.8-27B INT4 is the initial live model, with additional model SKUs and capacity to be added based on demand.

We understand that the sslip.io hostname is IP-derived. It is intentionally long-lived for this initial deployment; we can migrate the catalog entry to a branded Lanseq domain in a follow-up when that production domain is available.

@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [high] [possible mistake] providers/lanseq/provider.toml:4 - Check: Provider api/doc must be real, usable public endpoints for an OpenAI-compatible host. Why: Both point at https://api.172.98.22.239.sslip.io/... (raw IP via sslip.io). That is ephemeral infrastructure, not a durable provider domain, so catalog consumers get an unstable/untrusted base URL and docs link. Action: Replace api and doc with the provider’s stable public hostname (or clearly document why this IP-based endpoint is the intended production surface), and cite the live docs/API that list models.
  • [medium] [possible mistake] providers/lanseq/models/qwen3.8-27b-int4.toml:6 - Check: Relay reasoning_options must match this host’s request surface (lab/peer baseline only when this host exposes the same controls). Why: Host is a third-party OpenAI-compatible relay of alibaba/qwen3.8-27b. The set none|low|medium|xhigh matches some peers, but the PR body does not document Lanseq’s wire field or verified values (earlier drafts explicitly blocked shipping options until API controls were verified). Action: Confirm Lanseq accepts these efforts (and the exact field, e.g. reasoning_effort), then keep only the verified set; add a short PR note or leading TOML comment with the wire path/evidence. Do not invent levels this host rejects.
  • [medium] [violation] providers/lanseq/logo.svg:1 - Check: New providers need a compliant logo.svg (currentColor, no fixed size/hardcoded color; preferably square viewBox). Why: Final logo is a wide wordmark (viewBox="0 0 320 80") rendered as plain <text> in Arial. That fails the preferred square icon shape and is fragile as a catalog mark (font-dependent, poor at small sizes). The earlier monogram paths were closer to the guideline. Action: Restore a geometric monogram (or other path-based mark) with currentColor and a square viewBox (e.g. 0 0 24 24), no fixed width/height or hardcoded colors.
  • [low] [possible mistake] providers/lanseq/models/qwen3.8-27b-int4.toml:10 - Check: Material cost/limit claims should be backed by provider pricing or docs in the PR. Why: cost (0.25 / 1.99 / 0.045) and reduced limit (70_000 / 8_192) have no mapped citations in the PR body, so reviewers cannot confirm operator-supplied numbers. Action: Add first-party pricing/docs (or operator price sheet) links in the PR body and state what each supports (input/output/cache, context/output caps).

@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [high] [possible mistake] providers/lanseq/provider.toml:4 - Check: Provider api/doc must be the durable public OpenAI-compatible base and documentation URLs for this host. Why: Both point at https://api.172.98.22.239.sslip.io/... (raw public IP via sslip.io). That looks like a temporary or self-hosted endpoint, not a stable provider hostname, and risks publishing a non-durable catalog entry that clients will hard-code. Earlier commits also noted verified public API/docs were still blocked. Action: Confirm this is the intentional long-lived public base URL; if not, replace api and doc with the production host and documentation URLs (and note them in the PR body).
  • [low] [possible mistake] providers/lanseq/models/qwen3.8-27b-int4.toml:6 - Check: Relay reasoning_options must match this host’s wire controls (or lab + same-surface peers with host confirmation). Why: effort = none|low|medium|xhigh matches several Qwen3.8-27B peers, but the PR never documents that Lanseq accepts those values; an earlier commit explicitly deferred reasoning_options until public API controls were verified. Action: Cite Lanseq docs or a live probe for the exact request field/values, or adjust reasoning_options to what this endpoint actually exposes.
  • [low] [possible mistake] providers/lanseq/models/qwen3.8-27b-int4.toml:11 - Check: Material pricing/limit data should be backed by first-party evidence in the PR. Why: Costs (0.25 / 1.99 / 0.045) and reduced limits (70_000 / 8_192) are provider-specific and cannot be inherited from the lab entry; the PR body only links the API/docs host and does not map sources to these figures. Action: Add PR (or leading TOML) citations stating what supports input/output/cache pricing and the INT4 context/output limits.

@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [high] [possible mistake] providers/lanseq/provider.toml:4 - Check: Provider api/doc should be durable first-party public endpoints suitable for the catalog. Why: Both point at api.172.98.22.239.sslip.io (raw IP via free sslip.io DNS). That pattern is typically ephemeral/dev infrastructure, not a stable provider host; catalog clients would hard-code API keys and traffic to an address that can change or disappear without a branded domain. Earlier WIP commits in this PR also treated a verified public API/docs URL as blocked. Action: Replace api and doc with a stable Lanseq-controlled hostname (or document why this IP/sslip endpoint is the permanent public API), and keep docs at a URL that lists models/pricing for ongoing verification.
  • [low] [possible mistake] providers/lanseq/models/qwen3.8-27b-int4.toml:16 - Check: Material cost/limit claims need direct, mappable evidence (PR body and/or leading TOML comment). Why: [cost] (0.25 / 1.99 / 0.045) and [limit] (70_000 / 8_192) are operator-specific and not supported by a first-party pricing page or a clear claim→source map; the only cited source is the same IP-hosted /docs URL, placed mid-file after keys (AGENTS.md requires source/rationale comments above the first key). Action: Add a leading top-of-file comment (and preferably PR-body bullets) that map each price and limit to a durable first-party source, or correct the values if the docs differ.

@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [high] [violation] providers/lanseq/provider.toml:4 - Check: New public providers must publish a durable api/doc suitable for the catalog (stable first-party host, not ephemeral infrastructure). Why: api and doc are https://api.172.98.22.239.sslip.io/... — an IP embedded in free dynamic DNS. That is not a stable public provider identity; catalog clients would ship API keys and traffic to a disposable host, and the linked “docs” cannot serve as lasting evidence. Local-only providers intentionally use 127.0.0.1; this is neither local nor a proper public SaaS endpoint. Action: Replace api and doc with a stable first-party domain (and matching docs that list models/pricing), or withdraw the provider until that exists.
  • [low] [possible mistake] providers/lanseq/models/qwen3.8-27b-int4.toml:3 - Check: Material cost/limit claims should cite reviewable first-party evidence mapped to each claim. Why: Pricing (0.25 / 1.99 / 0.045), limits (70_000 / 8_192), and the reasoning_effort enum are supported only by the same ephemeral sslip.io docs URL in the leading comment and PR body, so reviewers cannot treat them as durable first-party sources. Action: After a stable docs/pricing page exists, cite it in the PR body and leading TOML comment with what each URL supports (prices, context/output caps, accepted reasoning_effort values).

@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [medium] [violation] providers/lanseq/models/qwen3.8-27b-int4.toml:2 - Check: Leading source comments must match the provider’s current first-party api/doc endpoints. Why: The model file still cites https://api.172.98.22.239.sslip.io/docs for pricing, limits, and reasoning_effort, but providers/lanseq/provider.toml was moved to https://api.lanseq.cloud. That leaves the only evidence for cost, context/output limits, and the unusual none|low|medium|xhigh effort set pointing at a retired host. Action: Update the leading comment block to https://api.lanseq.cloud/docs (or another current first-party page) and map each claim (input/cache_read/output prices, 70k/8k limits, accepted/rejected reasoning_effort values) to that source.
  • [low] [possible mistake] providers/lanseq/provider.toml:4 - Check: PR evidence for material data changes should cite the same endpoints the catalog ships. Why: The PR body still lists the sslip.io API/docs URLs while the final provider entry uses api.lanseq.cloud. Reviewers cannot reconcile the body with the merged metadata. Action: Update the PR body API/docs links to the lanseq.cloud URLs (and briefly note what each supports: pricing, limits, reasoning controls).

@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [medium] [violation] providers/lanseq/models/qwen3.8-27b-int4.toml:27 - Check: Override-only base_model files must not restate identical inherited fields. Why: Lab models/alibaba/qwen3.8-27b.toml already has modalities.output = ["text"]. Restating it is a redundant override; only the text-only input delta is needed (objects deep-merge). Action: Drop output = ["text"] from [modalities] and keep only input = ["text"].
  • [low] [possible mistake] .pr-review/pull-request.json - Check: Data-changing PRs should cite first-party docs in the PR body, mapped to claims. Why: The PR body still points at https://api.172.98.22.239.sslip.io/... while the final provider files use https://api.lanseq.cloud/..., so reviewers cannot match the body citations to the shipped API/doc/pricing claims. Action: Update the PR body to the final api.lanseq.cloud API and docs URLs and briefly map them to pricing, limits, and reasoning_effort values.

@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 Sep 13, 2026
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.

1 participant