Skip to content

feat: add EvoLink OpenAI-compatible provider - #45

Open
EvoLinkAI wants to merge 1 commit into
leigest519:mainfrom
EvoLinkAI:feat/evolink-provider
Open

feat: add EvoLink OpenAI-compatible provider#45
EvoLinkAI wants to merge 1 commit into
leigest519:mainfrom
EvoLinkAI:feat/evolink-provider

Conversation

@EvoLinkAI

Copy link
Copy Markdown

TLDR

Adds EvoLink as a first-class OpenAI-compatible provider for the main OpenGame agent LLM. EvoLink uses the existing OpenAI-compatible flow with OPENAI_BASE_URL=https://direct.evolink.ai/v1, so the provider inherits the default request/client behavior and only needs provider detection, registration, tests, and configuration docs.

Dive Deeper

  • Adds EvoLinkOpenAICompatibleProvider, selected when the configured base URL contains direct.evolink.ai.
  • Registers and exports the provider through the existing OpenAI-compatible provider factory.
  • Adds offline unit tests for provider detection and factory selection.
  • Documents EvoLink setup in the README, quickstart, auth docs, provider README, and .env.example.

Reviewer Test Plan

Use an EvoLink API key with the OpenAI-compatible auth flow:

export OPENAI_API_KEY="your-evolink-api-key"
export OPENAI_BASE_URL="https://direct.evolink.ai/v1"
export OPENAI_MODEL="gpt-5.2"
opengame -p "Build a Snake clone with WASD controls and a dark theme." --yolo

The provider factory should select EvoLinkOpenAICompatibleProvider, while requests continue through the standard OpenAI-compatible chat completions path.

Testing Matrix

🍏 🪟 🐧
npm run
npx
Docker
Podman - -
Seatbelt - -

Validated locally on macOS with Node v24.13.1:

  • npm run test --workspace=packages/core -- src/core/openaiContentGenerator/provider src/core/openaiContentGenerator/index.test.ts — 7 test files / 75 tests passed.
  • npx eslint packages/core/src/core/openaiContentGenerator/index.ts packages/core/src/core/openaiContentGenerator/index.test.ts packages/core/src/core/openaiContentGenerator/provider/index.ts packages/core/src/core/openaiContentGenerator/provider/evolink.ts packages/core/src/core/openaiContentGenerator/provider/evolink.test.ts --max-warnings 0 — passed.
  • npm run typecheck --workspace=packages/core — passed.
  • npm run build --workspace=packages/core — passed.
  • Live provider-path verification with gpt-5.2 returned provider=EvoLinkOpenAICompatibleProvider, model=gpt-5.2-2025-12-11, content=OK.

Linked issues / bugs

Resolves #44

@EvoLinkAI

Copy link
Copy Markdown
Author

Validation evidence from local macOS run:

npm run test --workspace=packages/core -- src/core/openaiContentGenerator/provider src/core/openaiContentGenerator/index.test.ts
Test Files  7 passed (7)
Tests       75 passed (75)
npx eslint packages/core/src/core/openaiContentGenerator/index.ts packages/core/src/core/openaiContentGenerator/index.test.ts packages/core/src/core/openaiContentGenerator/provider/index.ts packages/core/src/core/openaiContentGenerator/provider/evolink.ts packages/core/src/core/openaiContentGenerator/provider/evolink.test.ts --max-warnings 0
passed with no output
npm run typecheck --workspace=packages/core
> tsc --noEmit
passed
npm run build --workspace=packages/core
> node ../../scripts/build_package.js
Successfully copied files.

Live EvoLink call through the provider selection path:

provider=EvoLinkOpenAICompatibleProvider
model=gpt-5.2-2025-12-11
content=OK

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add EvoLink OpenAI-compatible provider support

1 participant