Skip to content
Open
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
13 changes: 13 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,13 @@
# OPENAI_API_KEY=sk-...
# OPENAI_BASE_URL=https://api.openai.com/v1
# OPENAI_MODEL=gpt-4o
#
# Atlas Cloud is OpenAI-compatible, so you can point this same flow at it to
# reach 300+ models (Claude, GPT, Qwen-Coder, DeepSeek, GLM, Kimi, ...) with
# one key. See https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=opengame
# OPENAI_API_KEY=apikey-...
# OPENAI_BASE_URL=https://api.atlascloud.ai/v1
# OPENAI_MODEL=deepseek-ai/deepseek-v4-pro # reasoning model; give it max_tokens >= 512


# -----------------------------------------------------------------------------
Expand All @@ -42,6 +49,12 @@
# OPENGAME_REASONING_API_KEY=sk-...
# OPENGAME_REASONING_BASE_URL=https://api.openai.com/v1
# OPENGAME_REASONING_MODEL=gpt-4o-mini
#
# Or use Atlas Cloud (one openai-compat backend for reasoning/audio/image):
# OPENGAME_REASONING_PROVIDER=openai-compat
# OPENGAME_REASONING_API_KEY=apikey-...
# OPENGAME_REASONING_BASE_URL=https://api.atlascloud.ai/v1
# OPENGAME_REASONING_MODEL=deepseek-ai/deepseek-v4-pro # reasoning model; give it max_tokens >= 512


# -----------------------------------------------------------------------------
Expand Down
53 changes: 52 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,42 @@ Jiaming Han, Tianshuo Peng, Kaixuan Fan, Manyuan Zhang, Xiangyu Yue*
<img src="assets/opengame_teaser.png" alt="OpenGame Teaser" width="100%">
</div>

---

<p align="center">
<a href="https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=opengame">
<img src="docs/atlas-cloud-logo.png" alt="Atlas Cloud" width="200">
</a>
</p>

> 🎁 **[Atlas Cloud](https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=opengame)** is a full-modal AI inference platform that gives developers a single AI API to access video generation, image generation, and LLM APIs. Instead of managing multiple vendor integrations, you connect once and get unified access to 300+ curated models across all modalities.
>
> Atlas Cloud exposes an **OpenAI-compatible** endpoint at `https://api.atlascloud.ai/v1`, so it plugs straight into OpenGame's existing `openai-compat` provider — point the agent runtime (`OPENAI_BASE_URL`) and any `OPENGAME_*` modality at it without writing a line of glue code. That makes it a convenient single backend for the reasoning / GDD / classifier loop, the ABC-notation audio model, and OpenAI-shaped image routes.
>
> Check out Atlas Cloud's new coding plan promotion for more budget-friendly API access: [https://www.atlascloud.ai/console/coding-plan](https://www.atlascloud.ai/console/coding-plan)

<details>
<summary><b>Official Atlas Cloud LLM models</b> (OpenAI-compatible, synced with <a href="https://www.atlascloud.ai/zh/models/list/llm">the model list</a>)</summary>

These ids work as `OPENAI_MODEL` for the agent runtime or as `OPENGAME_REASONING_MODEL` / `OPENGAME_AUDIO_MODEL` when `*_PROVIDER=openai-compat` and `*_BASE_URL=https://api.atlascloud.ai/v1`. A solid default for the agent loop is **`deepseek-ai/deepseek-v4-pro`** — it is a reasoning model, so give it enough `max_tokens` (>= 512) or the content can come back empty with `finish_reason=length`.

- **Anthropic (Claude):** `anthropic/claude-haiku-4.5-20251001`, `anthropic/claude-opus-4.8`, `anthropic/claude-sonnet-4.6`
- **OpenAI (GPT):** `openai/gpt-5.4`, `openai/gpt-5.5`
- **Google (Gemini):** `google/gemini-3.1-flash-lite`, `google/gemini-3.1-pro-preview`, `google/gemini-3.5-flash`
- **Alibaba Qwen:** `qwen/qwen2.5-7b-instruct`, `Qwen/Qwen3-235B-A22B-Instruct-2507`, `qwen/qwen3-235b-a22b-thinking-2507`, `qwen/qwen3-30b-a3b`, `Qwen/Qwen3-30B-A3B-Instruct-2507`, `qwen/qwen3-30b-a3b-thinking-2507`, `qwen/qwen3-32b`, `qwen/qwen3-8b`, `Qwen/Qwen3-Coder`, `qwen/qwen3-coder-next`, `qwen/qwen3-max-2026-01-23`, `Qwen/Qwen3-Next-80B-A3B-Instruct`, `Qwen/Qwen3-Next-80B-A3B-Thinking`, `Qwen/Qwen3-VL-235B-A22B-Instruct`, `qwen/qwen3-vl-235b-a22b-thinking`, `qwen/qwen3-vl-30b-a3b-instruct`, `qwen/qwen3-vl-30b-a3b-thinking`, `qwen/qwen3-vl-8b-instruct`, `qwen/qwen3.5-122b-a10b`, `qwen/qwen3.5-27b`, `qwen/qwen3.5-35b-a3b`, `qwen/qwen3.5-397b-a17b`, `qwen/qwen3.6-35b-a3b`, `qwen/qwen3.6-plus`
- **DeepSeek:** `deepseek-ai/deepseek-ocr`, `deepseek-ai/deepseek-r1-0528`, `deepseek-ai/DeepSeek-V3-0324`, `deepseek-ai/DeepSeek-V3.1`, `deepseek-ai/DeepSeek-V3.1-Terminus`, `deepseek-ai/deepseek-v3.2`, `deepseek-ai/DeepSeek-V3.2-Exp`, `deepseek-ai/deepseek-v4-flash`, `deepseek-ai/deepseek-v4-pro`
- **Moonshot (Kimi):** `moonshotai/Kimi-K2-Instruct`, `moonshotai/Kimi-K2-Instruct-0905`, `moonshotai/Kimi-K2-Thinking`, `moonshotai/kimi-k2.5`, `moonshotai/kimi-k2.6`
- **Zhipu GLM:** `zai-org/GLM-4.6`, `zai-org/glm-4.7`, `zai-org/glm-5`, `zai-org/glm-5-turbo`, `zai-org/glm-5.1`, `zai-org/glm-5v-turbo`
- **MiniMax:** `MiniMaxAI/MiniMax-M2`, `minimaxai/minimax-m2.1`, `minimaxai/minimax-m2.5`, `minimaxai/minimax-m2.7`
- **xAI:** `xai/grok-4.3`
- **Kwaipilot (KAT):** `kwaipilot/kat-coder-pro-v2`
- **Other:** `owl`

For game-asset generation, Atlas Cloud also serves OpenAI-shaped text-to-image routes (e.g. `openai/gpt-image-2/text-to-image`, `qwen/qwen-image-2.0/text-to-image`) usable via `OPENGAME_IMAGE_PROVIDER=openai-compat`. The full catalog and per-model details live on the [model list page](https://www.atlascloud.ai/zh/models/list/llm).

</details>

---

## Abstract

Expand Down Expand Up @@ -217,6 +253,16 @@ export OPENAI_BASE_URL="https://api.openai.com/v1" # optional
export OPENAI_MODEL="gpt-4o" # optional, swap in GameCoder-27B when running it locally
```

Because this flow is OpenAI-compatible, you can also point it at
[Atlas Cloud](https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=opengame)
to reach 300+ models (Claude, GPT, Qwen-Coder, DeepSeek, GLM, Kimi, …) through one key:

```bash
export OPENAI_API_KEY="$ATLASCLOUD_API_KEY"
export OPENAI_BASE_URL="https://api.atlascloud.ai/v1"
export OPENAI_MODEL="deepseek-ai/deepseek-v4-pro" # reasoning model, give it max_tokens >= 512; or Qwen/Qwen3-Coder, anthropic/claude-sonnet-4.6, ...
```

#### Asset / GDD provider keys (image, video, audio, reasoning)

Beyond the main agent LLM, OpenGame's asset-generation tools talk to image,
Expand All @@ -232,10 +278,15 @@ export OPENGAME_IMAGE_API_KEY=sk-...
```

A complete env-var reference, settings.json schema, and examples for OpenAI /
fal.ai / OpenRouter / DashScope / Doubao live in
Atlas Cloud / fal.ai / OpenRouter / DashScope / Doubao live in
[`docs/users/configuration/api-keys.md`](docs/users/configuration/api-keys.md).
A copy-paste template is at [`.env.example`](.env.example).

> **Tip.** Any `openai-compat` modality (reasoning / image / audio) can target
> [Atlas Cloud](https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=opengame)
> by setting `OPENGAME_<MOD>_BASE_URL=https://api.atlascloud.ai/v1` — handy if you
> want one provider behind every modality instead of juggling several keys.

OpenGame prints a one-line provider-status banner at startup so you can
confirm which modalities are wired up before the run begins.

Expand Down
Binary file added docs/atlas-cloud-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 43 additions & 5 deletions docs/users/configuration/api-keys.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,26 @@ the interactive `/auth` command.

## Supported provider families

| Provider name | Description | Modalities supported |
| --------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------ |
| `tongyi` | Aliyun DashScope (Wan/Qwen family). | reasoning, image, video, audio |
| `doubao` | Volcengine ARK (Doubao Seedream/Seedance family). | reasoning, image, video, audio |
| `openai-compat` | Any endpoint speaking the OpenAI REST shape (OpenAI, OpenRouter, Together, fal, Stability proxies, ...). | reasoning, image, audio |
| Provider name | Description | Modalities supported |
| --------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| `tongyi` | Aliyun DashScope (Wan/Qwen family). | reasoning, image, video, audio |
| `doubao` | Volcengine ARK (Doubao Seedream/Seedance family). | reasoning, image, video, audio |
| `openai-compat` | Any endpoint speaking the OpenAI REST shape (OpenAI, Atlas Cloud, OpenRouter, Together, fal, Stability proxies, ...). | reasoning, image, audio |

> **Note.** `openai-compat` is intentionally **not** wired up for video,
> because there is no stable OpenAI-shaped public video API today
> (Sora and Veo are not part of that surface). If you select it for
> `OPENGAME_VIDEO_PROVIDER` you'll get a clear error.

> **One backend for every modality.**
> [Atlas Cloud](https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=opengame)
> is an OpenAI-compatible aggregator (`https://api.atlascloud.ai/v1`) that fronts
> 300+ models — Claude, GPT, Qwen-Coder, DeepSeek, GLM, Kimi for `reasoning`/`audio`,
> plus OpenAI-shaped image routes for `image`. Use it through `openai-compat` when you
> want a single key behind several modalities instead of mixing vendors. The full
> catalog is on the [model list page](https://www.atlascloud.ai/zh/models/list/llm);
> budget-friendly access is on the [coding plan](https://www.atlascloud.ai/console/coding-plan).

---

## Configuring with environment variables (recommended)
Expand Down Expand Up @@ -101,6 +110,35 @@ export OPENGAME_IMAGE_BASE_URL=https://fal.run/openai/v1
export OPENGAME_IMAGE_MODEL=fal-ai/flux/dev
```

### Example: Atlas Cloud as a single openai-compat backend

[Atlas Cloud](https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=opengame)
speaks the OpenAI shape at `https://api.atlascloud.ai/v1`, so one key can drive
the reasoning, audio, and image modalities (video still needs `tongyi`/`doubao`):

```bash
# reasoning: GDD / classifier / ABC-notation brain
export OPENGAME_REASONING_PROVIDER=openai-compat
export OPENGAME_REASONING_API_KEY=$ATLASCLOUD_API_KEY
export OPENGAME_REASONING_BASE_URL=https://api.atlascloud.ai/v1
export OPENGAME_REASONING_MODEL=deepseek-ai/deepseek-v4-pro # reasoning model, give it max_tokens >= 512; or Qwen/Qwen3-Coder, anthropic/claude-sonnet-4.6

# audio: reuse the same backend for ABC music notation
export OPENGAME_AUDIO_PROVIDER=openai-compat
export OPENGAME_AUDIO_API_KEY=$ATLASCLOUD_API_KEY
export OPENGAME_AUDIO_BASE_URL=https://api.atlascloud.ai/v1
export OPENGAME_AUDIO_MODEL=deepseek-ai/deepseek-v4-pro

# image: OpenAI-shaped text-to-image route
export OPENGAME_IMAGE_PROVIDER=openai-compat
export OPENGAME_IMAGE_API_KEY=$ATLASCLOUD_API_KEY
export OPENGAME_IMAGE_BASE_URL=https://api.atlascloud.ai/v1
export OPENGAME_IMAGE_MODEL=openai/gpt-image-2/text-to-image
```

Browse the full model catalog and per-model details on the
[model list page](https://www.atlascloud.ai/zh/models/list/llm).

A copy-paste template for all variables lives at the repository root in
[`.env.example`](../../../.env.example).

Expand Down