feat(tencent): add bundled Tencent Cloud provider plugin (Tokenhub + Token Plan) (#68460)

* feat(tencent): add bundled Tencent Cloud provider plugin (Tokenhub + Token Plan)

* fix(tencent): use provider-specific default model aliases

Both Tencent providers previously defaulted to the same alias "HY3 Preview",
which collides in buildModelAliasIndex (single alias map, keyed by normalized
alias). When both providers are onboarded, alias-based selection routed to
whichever provider was configured last.

Disambiguate the fallback aliases so resolution is deterministic regardless
of onboarding order:
  - tencent-tokenhub   -> "HY3 Preview (TokenHub)"
  - tencent-token-plan -> "HY3 Preview (Token Plan)"

* docs(tencent): rename model to "Hy3 preview" and drop "HY3" family name

Align with the external-facing product name:
  - model display name: "HY3 Preview" -> "Hy3 preview"
  - family/umbrella references in docs and auth hints: "HY3" -> "Hy3 preview"
  - internal cost constant: HY3_COST -> HY_COST

Model call id (hy3-preview) is unchanged.

* docs(tencent): use "Hy" as the family name in generic references

Keep specific model references as "Hy3 preview" (model catalog names,
onboarding aliases, Available-models docs entries), but switch
family/umbrella references to the plain "Hy" family name so future Hy
versions fit without doc churn:

  - auth hints: "Hy via Tencent TokenHub Gateway" / "Hy via Token Plan"
  - docs intro + Use-case table: "Tencent Hy models" / "call Hy via ..."
  - models.ts pricing comment: "Hy pricing"

* feat(tencent): add tiered pricing for Hy3 preview model

---------

Co-authored-by: albertxyu <albertxyu@tencent.com>
This commit is contained in:
JuniperSling
2026-04-22 12:59:22 +08:00
committed by GitHub
parent c07b388f77
commit d8b9be468a
13 changed files with 494 additions and 0 deletions

View File

@@ -1292,6 +1292,7 @@
"providers/sglang",
"providers/stepfun",
"providers/synthetic",
"providers/tencent",
"providers/together",
"providers/venice",
"providers/vercel-ai-gateway",

90
docs/providers/tencent.md Normal file
View File

@@ -0,0 +1,90 @@
---
title: "Tencent Cloud (TokenHub + Token Plan)"
summary: "Tencent Cloud TokenHub and Token Plan setup (separate keys)"
read_when:
- You want to use Tencent Hy models with OpenClaw
- You need the TokenHub API key or Token Plan (LKEAP) setup
---
# Tencent Cloud (TokenHub + Token Plan)
The Tencent Cloud provider gives access to Tencent Hy models via two endpoints
with separate API keys:
- **TokenHub** (`tencent-tokenhub`) — call Hy via Tencent TokenHub Gateway
- **Token Plan** (`tencent-token-plan`) — call Hy via the LKEAP
Token Plan endpoint
Both providers use OpenAI-compatible APIs.
## Quick start
TokenHub:
```bash
openclaw onboard --auth-choice tokenhub-api-key
```
Token Plan:
```bash
openclaw onboard --auth-choice tencent-token-plan-api-key
```
## Non-interactive example
```bash
# TokenHub
openclaw onboard --non-interactive \
--mode local \
--auth-choice tokenhub-api-key \
--tokenhub-api-key "$TOKENHUB_API_KEY" \
--skip-health \
--accept-risk
# Token Plan
openclaw onboard --non-interactive \
--mode local \
--auth-choice tencent-token-plan-api-key \
--tencent-token-plan-api-key "$LKEAP_API_KEY" \
--skip-health \
--accept-risk
```
## Providers and endpoints
| Provider | Endpoint | Use case |
| -------------------- | ------------------------------------- | ----------------------- |
| `tencent-tokenhub` | `tokenhub.tencentmaas.com/v1` | Hy via Tencent TokenHub |
| `tencent-token-plan` | `api.lkeap.cloud.tencent.com/plan/v3` | Hy via LKEAP Token Plan |
Each provider uses its own API key. Setup registers only the selected provider.
## Available models
### tencent-tokenhub
- **hy3-preview** — Hy3 preview (256K context, reasoning, default)
### tencent-token-plan
- **hy3-preview** — Hy3 preview (256K context, reasoning, default)
## Notes
- TokenHub model refs use `tencent-tokenhub/<modelId>`. Token Plan model refs
use `tencent-token-plan/<modelId>`.
- Override pricing and context metadata in `models.providers` if needed.
## Environment note
If the Gateway runs as a daemon (launchd/systemd), make sure `TOKENHUB_API_KEY`
or `LKEAP_API_KEY` is available to that process (for example, in
`~/.openclaw/.env` or via `env.shellEnv`).
## Related documentation
- [OpenClaw Configuration](/configuration)
- [Model Providers](/concepts/model-providers)
- [Tencent TokenHub](https://cloud.tencent.com/document/product/1823/130050)
- [Tencent Token Plan API](https://cloud.tencent.com/document/product/1823/130060)