Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions SELF_HOSTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,12 @@ common provider keys into worker containers:
- `AI_GATEWAY_API_KEY` (Vercel AI Gateway, `vercel/...` models)
- `OPENAI_API_KEY`
- `ANTHROPIC_API_KEY`
- `DASHSCOPE_API_KEY` (Alibaba Cloud Model Studio, `alibaba/...` models, with
`ALIBABA_REGION`)
- `ALIBABA_CODING_PLAN_API_KEY` (Alibaba Coding Plan,
`alibaba-coding-plan/...` models, with `ALIBABA_CODING_PLAN_REGION`)
- `ALIBABA_TOKEN_PLAN_API_KEY` (Alibaba Token Plan,
`alibaba-token-plan/...` models, with `ALIBABA_TOKEN_PLAN_REGION`)
- `MOONSHOT_API_KEY`
- `KIMI_API_KEY` (Kimi for Coding, `kimi-for-coding/...` models)
- `MINIMAX_API_KEY`
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions apps/docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@
"expanded": false,
"pages": [
"models",
"providers/inference/alibaba-coding-plan",
"providers/inference/alibaba-model-studio",
"providers/inference/alibaba-token-plan",
"providers/inference/amazon-bedrock",
"providers/inference/anthropic",
"providers/inference/azure-foundry",
Expand Down
6 changes: 6 additions & 0 deletions apps/docs/environment-variables.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,12 @@ as per-task auth tokens or workspace paths.
| `AZURE_COGNITIVE_SERVICES_API_KEY` | Provider key | Azure AI Foundry / AI Services API key. |
| `AZURE_COGNITIVE_SERVICES_RESOURCE_NAME` | Provider config | Azure AI Foundry / AI Services resource name, without the domain or URL. |
| `ANTHROPIC_API_KEY` | Provider key | Anthropic API key. |
| `DASHSCOPE_API_KEY` | Provider key | Alibaba Cloud Model Studio API key for `alibaba/...` models in the region selected by `ALIBABA_REGION`. |
| `ALIBABA_REGION` | Provider config | Alibaba Model Studio region: `global` (International) or `china`. Defaults to `global` when unset. |
| `ALIBABA_CODING_PLAN_API_KEY` | Provider key | Alibaba Coding Plan API key for `alibaba-coding-plan/...` models. |
| `ALIBABA_CODING_PLAN_REGION` | Provider config | Alibaba Coding Plan region: `global` (International) or `china`. Defaults to `global` when unset. |
| `ALIBABA_TOKEN_PLAN_API_KEY` | Provider key | Alibaba Token Plan API key for `alibaba-token-plan/...` models. |
| `ALIBABA_TOKEN_PLAN_REGION` | Provider config | Alibaba Token Plan region: `global` (International) or `china`. Defaults to `global` when unset. |
| `XAI_API_KEY` | Provider key | xAI / Grok API key. Optional when a SuperGrok / eligible X Premium+ subscription is connected from **Settings > Models**. |
| `XAI_OAUTH_CLIENT_ID` | Optional | Override for the public Grok CLI OAuth client id used by the SuperGrok device-code connect flow. Defaults to the public CLI client id. |
| `MOONSHOT_API_KEY` | Provider key | Moonshot AI / Kimi Open Platform API key. |
Expand Down
3 changes: 3 additions & 0 deletions apps/docs/models.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ These connections use metered API billing or a provider-managed gateway:

| Provider | Credential | Cost source |
| --- | --- | --- |
| [Alibaba Cloud Model Studio (Qwen)](/providers/inference/alibaba-model-studio) | Model Studio API key | Alibaba Cloud account |
| [Amazon Bedrock](/providers/inference/amazon-bedrock) | Mantle API key and optional AWS region | AWS account |
| [Anthropic](/providers/inference/anthropic) | Anthropic API key | Anthropic API organization |
| [Azure AI Foundry](/providers/inference/azure-foundry) | Azure AI Services API key and resource name | Azure subscription |
Expand All @@ -66,6 +67,8 @@ general API balance:
| Provider | Connection | Usage behavior |
| --- | --- | --- |
| [ChatGPT Subscription](/providers/inference/chatgpt) | OpenAI device authorization | ChatGPT plan windows |
| [Alibaba Coding Plan](/providers/inference/alibaba-coding-plan) | Regional Coding Plan API key | Coding Plan allowance |
| [Alibaba Token Plan](/providers/inference/alibaba-token-plan) | Regional Token Plan API key | Token Plan allowance |
| [GitHub Copilot](/providers/inference/github-copilot) | GitHub device authorization | Copilot plan and premium requests |
| [Kimi for Coding](/providers/inference/kimi-for-coding) | Kimi membership key | Coding membership allowance |
| [xAI Grok Subscription](/providers/inference/xai-subscription) | xAI account authorization | SuperGrok or eligible X plan allowance |
Expand Down
40 changes: 40 additions & 0 deletions apps/docs/providers/inference/alibaba-coding-plan.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: Alibaba Coding Plan
icon: 'https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/qwen.svg'
description: Use Qwen models through an Alibaba Coding Plan in the international or China region.
---

Alibaba Coding Plan provides a plan allowance for coding-focused model access.
Its keys and endpoints are separate from metered [Model Studio
API](/providers/inference/alibaba-model-studio) and Token Plan connections.

## Get a Coding Plan key

Activate a plan and follow the [Alibaba Coding Plan documentation](https://www.alibabacloud.com/help/en/model-studio/coding-plan).
Create the key in the same international or China region you select in Roomote.

## Configuration

Add **Alibaba Coding Plan** in **Settings > Models**, paste the plan key, and
select its region. Environment-variable configuration uses:

```sh
ALIBABA_CODING_PLAN_API_KEY=...
ALIBABA_CODING_PLAN_REGION=global # or china
```

Models use the `alibaba-coding-plan/` prefix.

## Verify setup

1. save the Coding Plan key and matching region
2. confirm Alibaba Coding Plan models appear in **Settings > Models**
3. enable an `alibaba-coding-plan/...` model and assign it to a role
4. run a small task and confirm usage in the matching plan console

## Common issues

- **The key is rejected.** Confirm it is a Coding Plan key and that the selected
region matches.
- **The plan allowance is exhausted.** Wait for its reset or switch the role to
a separately billed provider.
50 changes: 50 additions & 0 deletions apps/docs/providers/inference/alibaba-model-studio.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: Alibaba Cloud Model Studio (Qwen)
icon: 'https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/qwen.svg'
description: Use Qwen models through the international or China Alibaba Cloud Model Studio API.
---

Alibaba Cloud Model Studio provides metered API access to Qwen models. Roomote
supports both the international and China Model Studio endpoints; the key and
region must match.

## Get an API key

Create an API key in the [Model Studio console](https://modelstudio.console.alibabacloud.com/?tab=globalset#/efm/api_key).
Keys are region-specific. Coding Plan and Token Plan keys use separate Roomote
connections.

## Configuration

Add **Alibaba Cloud Model Studio (Qwen)** in **Settings > Models**, paste the API
key, and select its region. Environment-variable configuration uses:

```sh
DASHSCOPE_API_KEY=...
ALIBABA_REGION=global # or china
```

Models use the `alibaba/` prefix. Roomote recommends Qwen3.6 Plus as a coding
and multimodal model; you can add other Model Studio model IDs after connecting.

## Cost behavior

Requests draw from the Alibaba Cloud account associated with the key and use
Model Studio's metered API pricing. Roomote records token usage and estimates
cost from model metadata; the Model Studio billing console is authoritative.

## Verify setup

1. save `DASHSCOPE_API_KEY` with the matching `ALIBABA_REGION`
2. confirm Alibaba Cloud Model Studio models appear in **Settings > Models**
3. enable an `alibaba/...` model and assign it to a role
4. run a small task and confirm usage appears in the Model Studio console

## Common issues

- **The key is rejected.** Confirm the selected region matches the endpoint
where the key was created and that it is not a subscription-plan key.
- **A model is unavailable.** Confirm the model is enabled in the same Alibaba
Cloud region as the API key.
- **A model lacks a required capability.** Choose a Qwen model that supports the
task's tool calling, context, or image-input requirements.
40 changes: 40 additions & 0 deletions apps/docs/providers/inference/alibaba-token-plan.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: Alibaba Token Plan
icon: 'https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/qwen.svg'
description: Use Qwen models through an Alibaba Token Plan in the international or China region.
---

Alibaba Token Plan provides prepaid token allowance through plan-specific
endpoints. Its keys are separate from metered [Model Studio
API](/providers/inference/alibaba-model-studio) and Coding Plan connections.

## Get a Token Plan key

Activate a plan and follow the [Alibaba Token Plan documentation](https://www.alibabacloud.com/help/en/model-studio/token-plan-overview).
Create the key in the same international or China region you select in Roomote.

## Configuration

Add **Alibaba Token Plan** in **Settings > Models**, paste the plan key, and
select its region. Environment-variable configuration uses:

```sh
ALIBABA_TOKEN_PLAN_API_KEY=...
ALIBABA_TOKEN_PLAN_REGION=global # or china
```

Models use the `alibaba-token-plan/` prefix.

## Verify setup

1. save the Token Plan key and matching region
2. confirm Alibaba Token Plan models appear in **Settings > Models**
3. enable an `alibaba-token-plan/...` model and assign it to a role
4. run a small task and confirm usage in the matching plan console

## Common issues

- **The key is rejected.** Confirm it is a Token Plan key and that the selected
region matches.
- **The plan allowance is exhausted.** Wait for its reset or switch the role to
a separately billed provider.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions apps/web/src/app/(onboarding)/setup/setup-docs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ const COMPUTE_PROVIDER_DOC_PATHS: Record<string, string> = {
const MODEL_PROVIDER_DOC_PATHS: Partial<
Record<BuiltinSetupModelProviderId, string>
> = {
alibaba: 'providers/inference/alibaba-model-studio',
'alibaba-coding-plan': 'providers/inference/alibaba-coding-plan',
'alibaba-token-plan': 'providers/inference/alibaba-token-plan',
'amazon-bedrock': 'providers/inference/amazon-bedrock',
anthropic: 'providers/inference/anthropic',
azure: 'providers/inference/azure-openai',
Expand Down
9 changes: 9 additions & 0 deletions apps/web/src/trpc/commands/task-models/index.test.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions deploy/compose/docker-compose.prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,12 @@ x-roomote-inference-env: &roomote-inference-env
AI_GATEWAY_API_KEY: ${AI_GATEWAY_API_KEY:-}
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
DASHSCOPE_API_KEY: ${DASHSCOPE_API_KEY:-}
ALIBABA_REGION: ${ALIBABA_REGION:-}
ALIBABA_CODING_PLAN_API_KEY: ${ALIBABA_CODING_PLAN_API_KEY:-}
ALIBABA_CODING_PLAN_REGION: ${ALIBABA_CODING_PLAN_REGION:-}
ALIBABA_TOKEN_PLAN_API_KEY: ${ALIBABA_TOKEN_PLAN_API_KEY:-}
ALIBABA_TOKEN_PLAN_REGION: ${ALIBABA_TOKEN_PLAN_REGION:-}
GEMINI_API_KEY: ${GEMINI_API_KEY:-}
GOOGLE_GENERATIVE_AI_API_KEY: ${GOOGLE_GENERATIVE_AI_API_KEY:-}
AWS_BEARER_TOKEN_BEDROCK: ${AWS_BEARER_TOKEN_BEDROCK:-}
Expand Down
6 changes: 6 additions & 0 deletions docker-compose.production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,12 @@ x-roomote-production-env: &roomote-production-env
AI_GATEWAY_API_KEY: ${AI_GATEWAY_API_KEY:-}
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
DASHSCOPE_API_KEY: ${DASHSCOPE_API_KEY:-}
ALIBABA_REGION: ${ALIBABA_REGION:-}
ALIBABA_CODING_PLAN_API_KEY: ${ALIBABA_CODING_PLAN_API_KEY:-}
ALIBABA_CODING_PLAN_REGION: ${ALIBABA_CODING_PLAN_REGION:-}
ALIBABA_TOKEN_PLAN_API_KEY: ${ALIBABA_TOKEN_PLAN_API_KEY:-}
ALIBABA_TOKEN_PLAN_REGION: ${ALIBABA_TOKEN_PLAN_REGION:-}
GOOGLE_GENERATIVE_AI_API_KEY: ${GOOGLE_GENERATIVE_AI_API_KEY:-}
GEMINI_API_KEY: ${GEMINI_API_KEY:-}
AWS_BEARER_TOKEN_BEDROCK: ${AWS_BEARER_TOKEN_BEDROCK:-}
Expand Down
6 changes: 6 additions & 0 deletions docker-compose.self-host.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ x-roomote-env: &roomote-env
AI_GATEWAY_API_KEY: ${AI_GATEWAY_API_KEY:-}
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
DASHSCOPE_API_KEY: ${DASHSCOPE_API_KEY:-}
ALIBABA_REGION: ${ALIBABA_REGION:-}
ALIBABA_CODING_PLAN_API_KEY: ${ALIBABA_CODING_PLAN_API_KEY:-}
ALIBABA_CODING_PLAN_REGION: ${ALIBABA_CODING_PLAN_REGION:-}
ALIBABA_TOKEN_PLAN_API_KEY: ${ALIBABA_TOKEN_PLAN_API_KEY:-}
ALIBABA_TOKEN_PLAN_REGION: ${ALIBABA_TOKEN_PLAN_REGION:-}
GEMINI_API_KEY: ${GEMINI_API_KEY:-}
GOOGLE_GENERATIVE_AI_API_KEY: ${GOOGLE_GENERATIVE_AI_API_KEY:-}
AWS_BEARER_TOKEN_BEDROCK: ${AWS_BEARER_TOKEN_BEDROCK:-}
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading