# notification_logs

webhook_name: dingtalk
event_type: test
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-12 04:36:38.822341
payload_json:
  {"event": "test", "message": "SmartUp webhook test notification", "sent_at": "2026-05-12T12:36:38+08:00"}


webhook_name: dingtalk
event_type: upstream_rate_changed
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-12 05:34:31.856260
payload_json:
  {"event": "upstream_rate_changed", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-12T13:34:31+08:00", "changes": [{"group_id": "8", "group_name": "福利分组1(不保证稳定性)", "platform": "openai", "old_rate": "0.025", "new_rate": "0.015"}]}


webhook_name: dingtalk
event_type: upstream_rate_changed
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-12 09:03:40.497824
payload_json:
  {"event": "upstream_rate_changed", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-12T17:03:40+08:00", "changes": [{"group_id": "8", "group_name": "福利分组1(不保证稳定性)", "platform": "openai", "old_rate": "0.015", "new_rate": "0.025"}]}


webhook_name: dingtalk
event_type: upstream_rate_changed
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-12 10:13:40.505827
payload_json:
  {"event": "upstream_rate_changed", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-12T18:13:40+08:00", "changes": [{"group_id": "8", "group_name": "福利分组1(不保证稳定性)", "platform": "openai", "old_rate": "0.025", "new_rate": "0.03"}]}


webhook_name: dingtalk
event_type: upstream_rate_changed
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-12 14:53:40.554756
payload_json:
  {"event": "upstream_rate_changed", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-12T22:53:40+08:00", "changes": [{"group_id": "14", "group_name": "claude(克劳德)-kiro", "platform": "anthropic", "old_rate": "0.55", "new_rate": "0.15"}, {"group_id": "19", "group_name": "vip专属分组-free ", "platform": "openai", "old_rate": null, "new_rate": "1"}, {"group_id": "12", "group_name": "svip分组1 (不建议指定此分组进行使用)", "platform": "openai", "old_rate": "0.08", "new_rate": null}]}


webhook_name: dingtalk
event_type: upstream_rate_changed
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-12 15:23:40.293305
payload_json:
  {"event": "upstream_rate_changed", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-12T23:23:40+08:00", "changes": [{"group_id": "10", "group_name": "vip专属分组-plus号", "platform": "openai", "old_rate": "0.05", "new_rate": null}, {"group_id": "14", "group_name": "claude(克劳德)-kiro", "platform": "anthropic", "old_rate": "0.15", "new_rate": null}, {"group_id": "18", "group_name": "超级svip专属分组(可用fast模式)", "platform": "openai", "old_rate": "0.08", "new_rate": null}, {"group_id": "19", "group_name": "vip专属分组-free ", "platform": "openai", "old_rate": "1", "new_rate": null}]}


webhook_name: dingtalk
event_type: upstream_rate_changed
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-12 16:03:40.552565
payload_json:
  {"event": "upstream_rate_changed", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-13T00:03:40+08:00", "changes": [{"group_id": "10", "group_name": "vip专属分组-plus号", "platform": "openai", "old_rate": null, "new_rate": "0.1"}, {"group_id": "14", "group_name": "claude(克劳德)-kiro", "platform": "anthropic", "old_rate": null, "new_rate": "0.15"}, {"group_id": "18", "group_name": "超级svip专属分组(可用fast模式)", "platform": "openai", "old_rate": null, "new_rate": "0.12"}, {"group_id": "19", "group_name": "vip专属分组-free ", "platform": "openai", "old_rate": null, "new_rate": "0.075"}]}


webhook_name: dingtalk
event_type: upstream_rate_changed
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-12 17:03:40.586252
payload_json:
  {"event": "upstream_rate_changed", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-13T01:03:40+08:00", "changes": [{"group_id": "18", "group_name": "超级svip专属分组(可用fast模式)", "platform": "openai", "old_rate": "0.12", "new_rate": null}]}


webhook_name: dingtalk
event_type: test
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 03:51:05.040259
payload_json:
  {"event": "test", "message": "SmartUp webhook test notification", "sent_at": "2026-05-13T11:51:04+08:00"}


webhook_name: dingtalk
event_type: upstream_unhealthy
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 07:09:34.180417
payload_json:
  {"event": "upstream_unhealthy", "upstream": {"id": 3, "name": "小熊", "base_url": "https://api.xxdlzs.top"}, "changed_at": "2026-05-13T15:09:33+08:00", "error": "_ssl.c:993: The handshake operation timed out"}


webhook_name: dingtalk
event_type: upstream_unhealthy
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 07:09:34.197995
payload_json:
  {"event": "upstream_unhealthy", "upstream": {"id": 2, "name": "170.106.100.210", "base_url": "http://170.106.100.210:55555"}, "changed_at": "2026-05-13T15:09:33+08:00", "error": "timed out"}


webhook_name: dingtalk
event_type: upstream_unhealthy
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 07:09:34.199746
payload_json:
  {"event": "upstream_unhealthy", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-13T15:09:33+08:00", "error": "_ssl.c:993: The handshake operation timed out"}


webhook_name: dingtalk
event_type: upstream_recovered
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 07:39:50.975469
payload_json:
  {"event": "upstream_recovered", "upstream": {"id": 2, "name": "170.106.100.210", "base_url": "http://170.106.100.210:55555"}, "changed_at": "2026-05-13T15:39:50+08:00", "error": ""}


webhook_name: dingtalk
event_type: upstream_recovered
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 07:39:52.725327
payload_json:
  {"event": "upstream_recovered", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-13T15:39:52+08:00", "error": ""}


webhook_name: dingtalk
event_type: upstream_recovered
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 07:59:11.525322
payload_json:
  {"event": "upstream_recovered", "upstream": {"id": 3, "name": "小熊", "base_url": "https://api.xxdlzs.top"}, "changed_at": "2026-05-13T15:59:11+08:00", "error": ""}


webhook_name: dingtalk
event_type: website_rate_changed
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 09:31:11.316228
payload_json:
  {"event": "website_rate_changed", "website": {"id": 1, "name": "sub2api-local", "base_url": "http://10.6.212.88:8080"}, "binding": {"id": 2}, "target_group": {"id": "5", "name": "my-plus", "old_rate": "0.33", "new_rate": "0.11"}, "source_rates": [{"upstream_id": 1, "upstream_name": "aip8pro", "group_id": "10", "group_name": "vip专属分组-plus号池", "rate": "0.1"}, {"upstream_id": 2, "upstream_name": "170.106.100.210", "group_id": "codex-plus", "group_name": "codex-plus", "rate": "0.07"}], "changed_at": "2026-05-13T17:31:11+08:00"}


webhook_name: dingtalk
event_type: upstream_unhealthy
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 14:16:47.790290
payload_json:
  {"event": "upstream_unhealthy", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-13T22:16:47+08:00", "error": "_ssl.c:993: The handshake operation timed out"}


webhook_name: dingtalk
event_type: upstream_unhealthy
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 14:16:47.815041
payload_json:
  {"event": "upstream_unhealthy", "upstream": {"id": 3, "name": "小熊", "base_url": "https://api.xxdlzs.top"}, "changed_at": "2026-05-13T22:16:47+08:00", "error": "_ssl.c:993: The handshake operation timed out"}


webhook_name: dingtalk
event_type: upstream_unhealthy
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 14:16:47.893847
payload_json:
  {"event": "upstream_unhealthy", "upstream": {"id": 2, "name": "170.106.100.210", "base_url": "http://170.106.100.210:55555"}, "changed_at": "2026-05-13T22:16:47+08:00", "error": "timed out"}


webhook_name: dingtalk
event_type: upstream_recovered
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 14:46:19.117555
payload_json:
  {"event": "upstream_recovered", "upstream": {"id": 2, "name": "170.106.100.210", "base_url": "http://170.106.100.210:55555"}, "changed_at": "2026-05-13T22:46:18+08:00", "error": ""}


webhook_name: dingtalk
event_type: upstream_recovered
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 14:46:20.733238
payload_json:
  {"event": "upstream_recovered", "upstream": {"id": 3, "name": "小熊", "base_url": "https://api.xxdlzs.top"}, "changed_at": "2026-05-13T22:46:20+08:00", "error": ""}


webhook_name: dingtalk
event_type: upstream_recovered
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 14:46:20.895494
payload_json:
  {"event": "upstream_recovered", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-13T22:46:20+08:00", "error": ""}


webhook_name: dingtalk
event_type: upstream_rate_changed
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 15:16:20.566398
payload_json:
  {"event": "upstream_rate_changed", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-13T23:16:20+08:00", "changes": [{"group_id": "28", "group_name": "claude -max纯血池分组", "platform": "anthropic", "old_rate": null, "new_rate": "1.8"}, {"group_id": "29", "group_name": "codex-pro纯血", "platform": "openai", "old_rate": null, "new_rate": "0.29"}]}


webhook_name: dingtalk
event_type: upstream_unhealthy
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-13 21:56:37.443183
payload_json:
  {"event": "upstream_unhealthy", "upstream": {"id": 3, "name": "小熊", "base_url": "https://api.xxdlzs.top"}, "changed_at": "2026-05-14T05:56:37+08:00", "error": "[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1010)"}


webhook_name: dingtalk
event_type: upstream_rate_changed
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-14 02:56:21.441734
payload_json:
  {"event": "upstream_rate_changed", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-14T10:56:21+08:00", "changes": [{"group_id": "5", "group_name": "福利分组1 无限额度(不保证稳定性)1天体验卡", "platform": "openai", "old_rate": null, "new_rate": "1"}]}


webhook_name: dingtalk
event_type: upstream_recovered
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-14 06:26:19.752672
payload_json:
  {"event": "upstream_recovered", "upstream": {"id": 3, "name": "小熊", "base_url": "https://api.xxdlzs.top"}, "changed_at": "2026-05-14T14:26:19+08:00", "error": ""}


webhook_name: dingtalk
event_type: upstream_rate_changed
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-14 18:31:18.815082
payload_json:
  {"event": "upstream_rate_changed", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-15T02:31:18+08:00", "changes": [{"group_id": "28", "group_name": "claude -max纯血池分组（限制只能cc  cli 使用）", "platform": "anthropic", "old_rate": "1.8", "new_rate": "1.6"}, {"group_id": "31", "group_name": "极限稳定混合分组(低价plus+正价plus+满血pro)", "platform": "openai", "old_rate": null, "new_rate": "0.17"}]}


webhook_name: dingtalk
event_type: upstream_rate_changed
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-14 20:01:18.739198
payload_json:
  {"event": "upstream_rate_changed", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-15T04:01:18+08:00", "changes": [{"group_id": "28", "group_name": "claude -max纯血池分组（限制只能cc  cli 使用）", "platform": "anthropic", "old_rate": "1.6", "new_rate": "1.49"}]}


webhook_name: dingtalk
event_type: upstream_rate_changed
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-14 20:41:18.743927
payload_json:
  {"event": "upstream_rate_changed", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-15T04:41:18+08:00", "changes": [{"group_id": "28", "group_name": "claude -max纯血池分组（限制只能cc  cli 使用）", "platform": "anthropic", "old_rate": "1.49", "new_rate": "1.45"}]}


webhook_name: dingtalk
event_type: upstream_unhealthy
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-14 22:41:21.151807
payload_json:
  {"event": "upstream_unhealthy", "upstream": {"id": 2, "name": "170.106.100.210", "base_url": "http://170.106.100.210:55555"}, "changed_at": "2026-05-15T06:41:20+08:00", "error": "[Errno 104] Connection reset by peer"}


webhook_name: dingtalk
event_type: upstream_unhealthy
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-14 22:41:21.157244
payload_json:
  {"event": "upstream_unhealthy", "upstream": {"id": 3, "name": "小熊", "base_url": "https://api.xxdlzs.top"}, "changed_at": "2026-05-15T06:41:20+08:00", "error": "[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1010)"}


webhook_name: dingtalk
event_type: upstream_unhealthy
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-14 22:41:21.178916
payload_json:
  {"event": "upstream_unhealthy", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-15T06:41:20+08:00", "error": "[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1010)"}


webhook_name: dingtalk
event_type: upstream_recovered
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-15 01:01:17.201841
payload_json:
  {"event": "upstream_recovered", "upstream": {"id": 3, "name": "小熊", "base_url": "https://api.xxdlzs.top"}, "changed_at": "2026-05-15T09:01:16+08:00", "error": ""}


webhook_name: dingtalk
event_type: upstream_recovered
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-15 01:01:17.512634
payload_json:
  {"event": "upstream_recovered", "upstream": {"id": 2, "name": "170.106.100.210", "base_url": "http://170.106.100.210:55555"}, "changed_at": "2026-05-15T09:01:17+08:00", "error": ""}


webhook_name: dingtalk
event_type: upstream_rate_changed
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-15 01:01:17.745642
payload_json:
  {"event": "upstream_rate_changed", "upstream": {"id": 2, "name": "170.106.100.210", "base_url": "http://170.106.100.210:55555"}, "changed_at": "2026-05-15T09:01:17+08:00", "changes": [{"group_id": "codex-ranjin", "group_name": "codex-ranjin", "platform": "", "old_rate": null, "new_rate": "0.15"}]}


webhook_name: dingtalk
event_type: upstream_recovered
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-15 01:01:18.609709
payload_json:
  {"event": "upstream_recovered", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-15T09:01:18+08:00", "error": ""}


webhook_name: dingtalk
event_type: upstream_rate_changed
status: success
response_text: {"errcode":0,"errmsg":"ok"}
created_at: 2026-05-15 02:56:55.973490
payload_json:
  {"event": "upstream_rate_changed", "upstream": {"id": 1, "name": "aip8pro", "base_url": "https://ai98pro.xyz"}, "changed_at": "2026-05-15T10:56:55+08:00", "changes": [{"group_id": "5", "group_name": "福利分组1 无限额度(不保证稳定性)1天体验卡", "platform": "openai", "old_rate": "1", "new_rate": null}]}


# websites

name: sub2api-local
site_type: sub2api
base_url: http://10.6.212.88:8080
api_prefix: /api/v1/admin
auth_type: api_key
groups_endpoint: /groups
group_update_endpoint: /groups/{id}
last_status: healthy
last_checked_at: 2026-05-13 06:36:19.436467
created_at: 2026-05-13 06:29:25.315840
updated_at: 2026-05-13 06:36:19.436940
auth_config_json:
  {"key": "admin-7d8fb6f5f2025f39f7de528af901720158108aa7d58731a8618dcf1c83edb70f", "header": "x-api-key"}


# website_group_bindings

target_group_id: 2
target_group_name: codex-free
percent: 20.0
algorithm: max_plus_percent
created_at: 2026-05-13 06:51:43.545331
updated_at: 2026-05-13 06:51:43.545335
source_groups_json:
  [{"upstream_id": 1, "group_id": "19", "upstream_name": "aip8pro", "group_name": "vip专属分组-free "}, {"upstream_id": 2, "group_id": "codex-plus", "upstream_name": "170.106.100.210", "group_name": "codex-plus"}, {"upstream_id": 3, "group_id": "20", "upstream_name": "小熊", "group_name": "codex额度专属"}]


target_group_id: 5
target_group_name: my-plus
percent: 10.0
algorithm: max_plus_percent
created_at: 2026-05-13 08:27:23.284667
updated_at: 2026-05-13 09:31:11.000677
source_groups_json:
  [{"upstream_id": 1, "group_id": "10", "upstream_name": "aip8pro", "group_name": "vip专属分组-plus号池"}, {"upstream_id": 2, "group_id": "codex-plus", "upstream_name": "170.106.100.210", "group_name": "codex-plus"}]


# website_sync_logs

target_group_id: 2
target_group_name: codex-free
algorithm: max_plus_percent
percent: 20.0
old_rate: 0.1
new_rate: 0.36
status: success
message: 同步成功
created_at: 2026-05-13 06:51:53.429678
source_rates_json:
  [{"upstream_id": 1, "upstream_name": "aip8pro", "group_id": "19", "group_name": "vip专属分组-free ", "rate": "0.075"}, {"upstream_id": 2, "upstream_name": "170.106.100.210", "group_id": "codex-plus", "group_name": "codex-plus", "rate": "0.07"}, {"upstream_id": 3, "upstream_name": "小熊", "group_id": "20", "group_name": "codex额度专属", "rate": "0.3"}]


target_group_id: 5
target_group_name: my-plus
algorithm: max_plus_percent
percent: 10.0
old_rate: 1
new_rate: 0.11
status: success
message: 同步成功
created_at: 2026-05-13 08:27:23.331644
source_rates_json:
  [{"upstream_id": 1, "upstream_name": "aip8pro", "group_id": "10", "group_name": "vip专属分组-plus号池", "rate": "0.1"}]


target_group_id: 5
target_group_name: my-plus
algorithm: max_plus_percent
percent: 10.0
old_rate: 0.11
new_rate: 0.11
status: success
message: 同步成功
created_at: 2026-05-13 09:06:00.963924
source_rates_json:
  [{"upstream_id": 1, "upstream_name": "aip8pro", "group_id": "10", "group_name": "vip专属分组-plus号池", "rate": "0.1"}, {"upstream_id": 2, "upstream_name": "170.106.100.210", "group_id": "codex-plus", "group_name": "codex-plus", "rate": "0.07"}]


target_group_id: 5
target_group_name: my-plus
algorithm: max_plus_percent
percent: 10.0
old_rate: 0.11
new_rate: 0.33
status: success
message: 同步成功
created_at: 2026-05-13 09:06:25.775685
source_rates_json:
  [{"upstream_id": 1, "upstream_name": "aip8pro", "group_id": "10", "group_name": "vip专属分组-plus号池", "rate": "0.1"}, {"upstream_id": 2, "upstream_name": "170.106.100.210", "group_id": "codex-plus", "group_name": "codex-plus", "rate": "0.07"}, {"upstream_id": 3, "upstream_name": "小熊", "group_id": "20", "group_name": "codex额度专属", "rate": "0.3"}]


