-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwrangler.jsonc
More file actions
102 lines (102 loc) · 3.2 KB
/
Copy pathwrangler.jsonc
File metadata and controls
102 lines (102 loc) · 3.2 KB
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "multillm-proxy",
"main": "./cloudflare-worker.mjs",
"compatibility_date": "2026-07-30",
"compatibility_flags": [
"nodejs_compat",
"enable_request_signal",
"request_signal_passthrough"
],
"containers": [
{
"class_name": "MultiLLMProxyContainer",
"image": "./Dockerfile",
"max_instances": 1,
"instance_type": "basic"
}
],
"durable_objects": {
"bindings": [
{
"name": "MULTILLM_PROXY_CONTAINER",
"class_name": "MultiLLMProxyContainer"
},
{
"name": "ROLEPLAY_SESSION",
"class_name": "RoleplaySession"
}
]
},
"migrations": [
{
"tag": "v1",
"new_sqlite_classes": [
"MultiLLMProxyContainer"
]
},
{
"tag": "v2",
"new_sqlite_classes": [
"RoleplaySession"
]
}
],
"observability": {
"enabled": true,
"logs": {
"enabled": true,
"head_sampling_rate": 0.05,
"invocation_logs": false
},
"traces": {
"enabled": true,
"head_sampling_rate": 0.01
}
},
"vars": {
"FLASK_ENV": "production",
"SERVER_HOST": "0.0.0.0",
"SERVER_PORT": "8080",
"APP_NAME": "MultiLLM Proxy",
"LINKAPI_BASE_URL": "https://api.linkapi.ai",
"ROLEPLAY_PROVIDER_ORDER": "nanogpt,opencode,linkapi,navyai",
"ROLEPLAY_KIMI_MODEL": "kimi-k2.6",
"ROLEPLAY_GLM_MODEL": "glm-5.2",
"ROLEPLAY_PROVIDER_MODELS": "{\"opencode\":{\"glm\":[\"glm-5.2\",\"glm-5.3\"]},\"navyai\":{\"glm\":\"glm-5.2-venice\"}}",
"ROLEPLAY_PROVIDER_FAMILIES": "{\"nanogpt\":[\"glm\"],\"opencode\":[\"glm\",\"kimi\"],\"linkapi\":[\"kimi\"],\"navyai\":[\"glm\"]}",
"ROLEPLAY_PROVIDER_LIMITS": "{}",
"GLM_AUTO_OPTIMIZE": "true",
"GLM_AUTO_OPTIMIZE_TRIGGER_TOKENS": "8000",
"GLM_AUTO_OPTIMIZE_KEEP_RECENT_TURNS": "8",
"CONTEXT_ANALYSIS_CACHE_ENABLED": "true",
"CONTEXT_ANALYSIS_CACHE_TTL_SECONDS": "300",
"CONTEXT_ANALYSIS_CACHE_MAX_ENTRIES": "2048",
"PROMPT_CACHE_ENABLED": "true",
"PROMPT_CACHE_MIN_TOKENS": "1024",
"NANOGPT_BILLING_MODE": "subscription",
"NANOGPT_SUBSCRIPTION_BASE_URL": "https://nano-gpt.com/api/subscription",
"NANOGPT_KEY_CHECK_TIMEOUT_SECONDS": "5",
"NANOGPT_KEY_CHECK_TTL_SECONDS": "300",
"NANOGPT_KEY_CHECK_EVERY_REQUESTS": "50",
"NANOGPT_KEY_REJECTED_COOLDOWN_SECONDS": "60",
"NANOGPT_PREFERRED_KEY_INDEX": "1",
"ROLEPLAY_COMPACT_TRIGGER_TOKENS": "128000",
"ROLEPLAY_COMPACT_TRIGGER_PERCENT": "90",
"ROLEPLAY_HARD_INPUT_TOKENS": "0",
"ROLEPLAY_MEMORY_TARGET_TOKENS": "1200",
"ROLEPLAY_KEEP_RECENT_MESSAGES": "32",
"ROLEPLAY_IMAGE_PROMPT_MIN_OUTPUT_TOKENS": "2048",
"ROLEPLAY_CONTEXT_REPLY_RESERVE_TOKENS": "4096",
"ROLEPLAY_CONTEXT_SAFETY_TOKENS": "1024",
"ROLEPLAY_MAX_REQUEST_BYTES": "8388608",
"ROLEPLAY_MAX_STORED_BYTES": "640000",
"ROLEPLAY_COMPACTION_MAX_TOKENS": "1200",
"ROLEPLAY_COMPACTION_TIMEOUT_MS": "8000",
"ROLEPLAY_UPSTREAM_HEADER_TIMEOUT_MS": "90000",
"ROLEPLAY_STREAM_HEARTBEAT_MS": "10000",
"ROLEPLAY_MAX_AUTO_CONTINUATIONS": "8",
"ROLEPLAY_MAX_OUTPUT_CONTRACT_REPAIRS": "1",
"ROLEPLAY_SESSION_TTL_SECONDS": "2592000"
}
}