File size: 2,723 Bytes
0364a21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import os
from dotenv import load_dotenv

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
env_path = os.path.join(BASE_DIR, ".env")
load_dotenv(env_path)

def _load_accounts():
    accounts = []
    # 1. Try reading from accounts.txt
    accounts_file = os.path.join(BASE_DIR, "accounts.txt")
    if os.path.exists(accounts_file):
        try:
            with open(accounts_file, "r", encoding="utf-8") as f:
                for line in f:
                    line = line.strip()
                    if line and ":" in line and not line.startswith("#"):
                        accounts.append(line)
        except Exception:
            pass
    
    # 2. Try environments
    if not accounts:
        env_acc = os.getenv("ONYX_ACCOUNTS", "")
        if env_acc:
            accounts = [a.strip() for a in env_acc.split(",") if a.strip() and ":" in a]
            
    return accounts

ONYX_ACCOUNTS = _load_accounts()

# --- Onyx settings ---
ONYX_BASE_URL = os.getenv("ONYX_BASE_URL", "https://cloud.onyx.app").rstrip("/")
ONYX_AUTH_COOKIE_RAW = os.getenv("ONYX_AUTH_COOKIE", "")
ONYX_AUTH_COOKIES = [c.strip() for c in ONYX_AUTH_COOKIE_RAW.split(",") if c.strip()]
# 为了保持向下兼容或作为默认值,保留单数变量指向第一个 Cookie
ONYX_AUTH_COOKIE = ONYX_AUTH_COOKIES[0] if ONYX_AUTH_COOKIES else ""
try:
    ONYX_PERSONA_ID = int(os.getenv("ONYX_PERSONA_ID", "0"))
except ValueError:
    ONYX_PERSONA_ID = 0
ONYX_ORIGIN = os.getenv("ONYX_ORIGIN", "webapp")
ONYX_REFERER = os.getenv("ONYX_REFERER", "https://cloud.onyx.app/app")

# --- Server settings ---
API_KEY = os.getenv("API_KEY", "")  # Empty = no auth required
try:
    PORT = int(os.getenv("PORT", "8896"))
except ValueError:
    PORT = 8896
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")
try:
    REQUEST_TIMEOUT = int(os.getenv("REQUEST_TIMEOUT", "300"))
except ValueError:
    REQUEST_TIMEOUT = 300

# --- Stealth settings ---
STEALTH_MODE = os.getenv("STEALTH_MODE", "true").lower() == "true"
STEALTH_MIN_DELAY = float(os.getenv("STEALTH_MIN_DELAY", "0.05"))
STEALTH_MAX_DELAY = float(os.getenv("STEALTH_MAX_DELAY", "0.3"))

# --- Model mapping: external name -> (provider, version) ---
MODEL_MAP = {
    "claude-opus-4.7": ("Anthropic", "claude-opus-4-7"),
    "claude-opus-4.6": ("Anthropic", "claude-opus-4-6"),
    "claude-opus-4.5": ("Anthropic", "claude-opus-4-5"),
    "claude-sonnet-4.5": ("Anthropic", "claude-sonnet-4-5"),
    "gpt-5.4": ("OpenAI", "gpt-5.4"),
    "gpt-5.2": ("OpenAI", "gpt-5.2"),
    "gpt-5-mini": ("OpenAI", "gpt-5-mini"),
    "gpt-4.1": ("OpenAI", "gpt-4.1"),
    "gpt-4o": ("OpenAI", "gpt-4o"),
    "o3": ("OpenAI", "o3"),
}