feat(presets): add Unity2.ai partner provider across seven apps

Add Unity2.ai, a high-performance AI API relay partner, as a preset for
Claude, Codex, Gemini, OpenCode, OpenClaw, Claude Desktop, and Hermes.
Each preset carries the referral signup link as apiKeyUrl.

- Register the unity2 icon via iconUrls (PNG URL import) + metadata
- Add partnerPromotion copy in zh/en/ja/zh-TW; backfill the missing
  zh-TW ccsub entry
- List Unity2.ai in the sponsor section of all README locales
- Codex uses the bare base URL (gateway exposes /responses at root);
  OpenCode/OpenClaw/Hermes use the /v1 chat-completions endpoint with
  gpt-5.5 as the only preset model
- Trim CCSub OpenCode/OpenClaw/Hermes model lists to gpt-5.5 to match
- Normalize unity2/ccsub banners to the standard 2.41 aspect ratio
This commit is contained in:
Jason
2026-06-11 11:05:32 +08:00
parent 819c2e5dfe
commit daa5595f36
20 changed files with 193 additions and 69 deletions
@@ -253,6 +253,19 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
partnerPromotionKey: "ccsub",
icon: "ccsub",
},
{
name: "Unity2.ai",
websiteUrl: "https://unity2.ai",
apiKeyUrl: "https://unity2.ai/register?source=ccs",
category: "aggregator",
baseUrl: "https://api.unity2.ai",
mode: "direct",
apiFormat: "anthropic",
modelRoutes: passthroughRoutes(true),
isPartner: true,
partnerPromotionKey: "unity2",
icon: "unity2",
},
{
name: "Gemini Native",
websiteUrl: "https://ai.google.dev/gemini-api",
+15
View File
@@ -208,6 +208,21 @@ export const providerPresets: ProviderPreset[] = [
partnerPromotionKey: "ccsub",
icon: "ccsub",
},
{
name: "Unity2.ai",
websiteUrl: "https://unity2.ai",
apiKeyUrl: "https://unity2.ai/register?source=ccs",
settingsConfig: {
env: {
ANTHROPIC_BASE_URL: "https://api.unity2.ai",
ANTHROPIC_AUTH_TOKEN: "",
},
},
category: "aggregator",
isPartner: true,
partnerPromotionKey: "unity2",
icon: "unity2",
},
{
name: "Gemini Native",
websiteUrl: "https://ai.google.dev/gemini-api",
+16
View File
@@ -231,6 +231,22 @@ export const codexProviderPresets: CodexProviderPreset[] = [
partnerPromotionKey: "ccsub",
icon: "ccsub",
},
{
name: "Unity2.ai",
websiteUrl: "https://unity2.ai",
apiKeyUrl: "https://unity2.ai/register?source=ccs",
category: "aggregator",
auth: generateThirdPartyAuth(""),
config: generateThirdPartyConfig(
"unity2",
"https://api.unity2.ai",
"gpt-5.5",
),
endpointCandidates: ["https://api.unity2.ai"],
isPartner: true,
partnerPromotionKey: "unity2",
icon: "unity2",
},
{
name: "Azure OpenAI",
websiteUrl:
+18
View File
@@ -69,6 +69,24 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [
partnerPromotionKey: "shengsuanyun",
icon: "shengsuanyun",
},
{
name: "Unity2.ai",
websiteUrl: "https://unity2.ai",
apiKeyUrl: "https://unity2.ai/register?source=ccs",
settingsConfig: {
env: {
GOOGLE_GEMINI_BASE_URL: "https://api.unity2.ai",
GEMINI_MODEL: "gemini-3.1-pro",
},
},
baseURL: "https://api.unity2.ai",
model: "gemini-3.1-pro",
description: "Unity2.ai",
category: "aggregator",
isPartner: true,
partnerPromotionKey: "unity2",
icon: "unity2",
},
{
name: "PackyCode",
websiteUrl: "https://www.packyapi.com",
+26 -26
View File
@@ -248,36 +248,11 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
api_key: "",
api_mode: "chat_completions",
models: [
{
id: "claude-opus-4-8",
name: "Claude Opus 4.8",
context_length: 1000000,
},
{
id: "claude-sonnet-4-6",
name: "Claude Sonnet 4.6",
context_length: 1000000,
},
{
id: "gpt-5.5",
name: "GPT-5.5",
context_length: 400000,
},
{
id: "o3",
name: "o3",
context_length: 200000,
},
{
id: "gemini-3.1-pro",
name: "Gemini 3.1 Pro",
context_length: 1000000,
},
{
id: "deepseek-v4-flash",
name: "DeepSeek V4 Flash",
context_length: 1000000,
},
],
},
category: "aggregator",
@@ -285,7 +260,32 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
partnerPromotionKey: "ccsub",
icon: "ccsub",
suggestedDefaults: {
model: { default: "claude-opus-4-8", provider: "ccsub" },
model: { default: "gpt-5.5", provider: "ccsub" },
},
},
{
name: "Unity2.ai",
websiteUrl: "https://unity2.ai",
apiKeyUrl: "https://unity2.ai/register?source=ccs",
settingsConfig: {
name: "unity2",
base_url: "https://api.unity2.ai/v1",
api_key: "",
api_mode: "chat_completions",
models: [
{
id: "gpt-5.5",
name: "GPT-5.5",
context_length: 400000,
},
],
},
category: "aggregator",
isPartner: true,
partnerPromotionKey: "unity2",
icon: "unity2",
suggestedDefaults: {
model: { default: "gpt-5.5", provider: "unity2" },
},
},
{
+39 -34
View File
@@ -265,42 +265,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
apiKey: "",
api: "openai-completions",
models: [
{
id: "claude-opus-4-8",
name: "Claude Opus 4.8",
contextWindow: 1000000,
cost: { input: 5, output: 25 },
},
{
id: "claude-sonnet-4-6",
name: "Claude Sonnet 4.6",
contextWindow: 1000000,
cost: { input: 3, output: 15 },
},
{
id: "gpt-5.5",
name: "GPT-5.5",
contextWindow: 400000,
cost: { input: 5, output: 15 },
},
{
id: "o3",
name: "o3",
contextWindow: 200000,
cost: { input: 10, output: 40 },
},
{
id: "gemini-3.1-pro",
name: "Gemini 3.1 Pro",
contextWindow: 1000000,
cost: { input: 1.25, output: 10 },
},
{
id: "deepseek-v4-flash",
name: "DeepSeek V4 Flash",
contextWindow: 1000000,
cost: { input: 0.14, output: 0.28 },
},
],
},
category: "aggregator",
@@ -316,12 +286,47 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
},
suggestedDefaults: {
model: {
primary: "ccsub/claude-opus-4-8",
fallbacks: ["ccsub/claude-sonnet-4-6"],
primary: "ccsub/gpt-5.5",
},
modelCatalog: {
"ccsub/claude-opus-4-8": { alias: "Opus" },
"ccsub/claude-sonnet-4-6": { alias: "Sonnet" },
"ccsub/gpt-5.5": { alias: "GPT-5.5" },
},
},
},
{
name: "Unity2.ai",
websiteUrl: "https://unity2.ai",
apiKeyUrl: "https://unity2.ai/register?source=ccs",
settingsConfig: {
baseUrl: "https://api.unity2.ai/v1",
apiKey: "",
api: "openai-completions",
models: [
{
id: "gpt-5.5",
name: "GPT-5.5",
contextWindow: 400000,
cost: { input: 5, output: 15 },
},
],
},
category: "aggregator",
isPartner: true,
partnerPromotionKey: "unity2",
icon: "unity2",
templateValues: {
apiKey: {
label: "API Key",
placeholder: "",
editorValue: "",
},
},
suggestedDefaults: {
model: {
primary: "unity2/gpt-5.5",
},
modelCatalog: {
"unity2/gpt-5.5": { alias: "GPT-5.5" },
},
},
},
+28 -5
View File
@@ -420,12 +420,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
setCacheKey: true,
},
models: {
"claude-opus-4-8": { name: "Claude Opus 4.8" },
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
"gpt-5.5": { name: "GPT-5.5" },
o3: { name: "o3" },
"gemini-3.1-pro": { name: "Gemini 3.1 Pro" },
"deepseek-v4-flash": { name: "DeepSeek V4 Flash" },
},
},
category: "aggregator",
@@ -440,6 +435,34 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
},
},
},
{
name: "Unity2.ai",
websiteUrl: "https://unity2.ai",
apiKeyUrl: "https://unity2.ai/register?source=ccs",
settingsConfig: {
npm: "@ai-sdk/openai-compatible",
name: "Unity2.ai",
options: {
baseURL: "https://api.unity2.ai/v1",
apiKey: "",
setCacheKey: true,
},
models: {
"gpt-5.5": { name: "GPT-5.5" },
},
},
category: "aggregator",
isPartner: true,
partnerPromotionKey: "unity2",
icon: "unity2",
templateValues: {
apiKey: {
label: "API Key",
placeholder: "",
editorValue: "",
},
},
},
{
name: "DeepSeek",
websiteUrl: "https://platform.deepseek.com",