SmartUp Developer
a1e2c059b9
fix: reuse configured clients for finance stats
2026-07-03 15:42:29 +08:00
SmartUp Developer
5e99abcbc5
feat: 财务对账页面 — GET /api/finance/daily-summary + Finance.vue
2026-07-03 15:28:06 +08:00
SmartUp Developer
fdbcca4d95
fix: delay binding.percent update until remote sync succeeds and update UI labels to 自动保底盈利
2026-07-02 21:27:52 +08:00
SmartUp Developer
0e77de31ae
feat: implement automatic margin pricing and margin reverse engineering in sync
2026-07-02 21:22:37 +08:00
SmartUp Developer
8746068cd4
feat: implement priority_weighted_plus_percent pricing algorithm
2026-07-02 20:23:20 +08:00
SmartUp Developer
c20c9cfd26
fix: add stream close check, recover regression test assertions, and secure credentials type check
2026-07-02 19:18:10 +08:00
SmartUp Developer
ece11d66e6
feat: sync upstream models with real-time streaming updates
2026-07-02 18:11:55 +08:00
liumangmang
63cbdf4dca
feat: 实现一键同步网站账号上游模型功能
2026-07-02 15:43:00 +08:00
SmartUp Developer
ea3fd64686
fix: optimize summary count query and refine row keys for external api logs
2026-07-02 15:07:32 +08:00
liumangmang
608ef00920
feat: 实现设置账号并发数功能(支持 bulk-update 与 fallback 逐个更新)
2026-07-02 09:48:59 +08:00
liumangmang
536c0aa3d4
feat: 实现清理失效账号安全方案(包含预览、SSE测试、安全删除以及本地标记清空)
2026-07-02 00:19:26 +08:00
liumangmang
ebf7def177
fix: 在官网跳转按钮的禁用及触发判断中增加对 base_url 是否以 http:// 或 https:// 开头的严格校验
2026-07-01 20:56:40 +08:00
liumangmang
49c96ee8a4
feat: 移除侧边栏中的上游网址快捷入口,并在上游管理列表各条记录操作列增加官网跳转按钮
2026-07-01 20:47:45 +08:00
liumangmang
3172ab18bf
fix: 修改目标分组名称后自动同步更新本地绑定表中的名称缓存,并为前端更新分组 URL 中的 groupId 进行 Url 编码
2026-07-01 17:55:53 +08:00
liumangmang
8c2f1c13bb
feat: 支持网站目标分组轻量管理(新增、编辑、描述展示),不修改和不提交倍率
2026-07-01 17:47:36 +08:00
liumangmang
e5d7af8906
feat: 网站分组列表默认按倍率从小到大(升序)排序
2026-07-01 17:22:19 +08:00
liumangmang
650451c123
fix: 引入 normalizeRateBound 标准化倍率空输入,解决输入清空后过滤失效的问题
2026-07-01 17:14:28 +08:00
liumangmang
04d719b417
feat: 选择上游分组弹窗支持倍率范围(大于等于/小于等于)筛选
2026-07-01 17:06:18 +08:00
liumangmang
f9b5a03330
fix: 缩小选择分组弹窗的搜索范围至分组自身信息,更新输入占位提示文案
2026-07-01 16:31:40 +08:00
liumangmang
7c7942c83b
fix: 解决选择框异常压缩、新增绑定自动选择首个分组、以及弹窗自适应2K显示器比例
2026-07-01 16:13:05 +08:00
liumangmang
962614500c
refactor: 隔离 Websites.vue 全局样式,仅对 Element Plus 壳层节点应用非 scoped 样式以防污染其他页面
2026-07-01 15:52:48 +08:00
liumangmang
71e0fe40a9
refactor: 按照新版 ui_redesign_prototype.html 重构新增绑定抽屉和选择上游分组弹窗
2026-07-01 15:47:51 +08:00
liumangmang
756d6e1083
style: 移除 Websites.vue 中所有尾部多余空格
2026-07-01 15:16:07 +08:00
liumangmang
02e41fa80e
feat: 监听上游分组改用专用弹窗选择器,支持搜索、多选及已选Tag展示
2026-07-01 15:11:53 +08:00
liumangmang
8abfa4c5ef
feat: 重构接口日志页面与接口监控看板,支持HTTP方法过滤和实时轮询
2026-07-01 15:04:32 +08:00
liumangmang
397a14c978
feat(website): 支持基于现有绑定一键整理分组,支持账号校验补齐、自愈重建与缺失 Key 提示 (含异常保守跳过及名称层级匹配)
2026-07-01 11:21:20 +08:00
liumangmang
efd0a88249
perf(import): 优化账号导入弹窗为秒开体验并支持批量回查校验
2026-07-01 10:00:40 +08:00
liumangmang
d92537688a
fix(priority): keep readable priority sync details
2026-07-01 09:12:39 +08:00
liumangmang
edc00444dc
fix(nox-api): address duplicate creation risks, pending upgrading issues, cache warm error handling, test speedups, and frontend display support for pending keys
2026-06-30 17:25:18 +08:00
liumangmang
c5bb63cf82
feat: support upstream token refresh
2026-06-30 14:34:40 +08:00
liumangmang
a914d3d222
feat: add Nox-API upstream support
2026-06-30 11:22:38 +08:00
SmartUp Developer
b866b387e0
feat: sync upstream keys and reorder priorities
2026-06-03 17:03:11 +08:00
liumangmang
a42bcba483
Remove server remote browser support
2026-06-02 19:25:20 +08:00
liumangmang
84148f4a69
feat: support real browser auth import
2026-06-02 13:51:29 +08:00
liumangmang
f4d16a4c01
fix(frontend): include cookie_count and cookie_names in AuthCaptureDialog emit
2026-06-02 10:07:32 +08:00
liumangmang
0b1daf277b
fix(frontend): apply new-api-user endpoint reset to cookie_bundle capture branch
2026-06-02 09:58:18 +08:00
liumangmang
b77ea21ca8
fix(frontend): support cookie_bundle candidate in AuthCaptureDialog and refreshAuth
2026-06-02 09:52:43 +08:00
liumangmang
871557e4ae
feat(upstreams): add batch test-all / check-now-all endpoints
...
- POST /api/upstreams/test-all: batch connection test for all enabled
upstreams (no snapshot, no webhook); updates last_status, balance
- POST /api/upstreams/check-now-all: full batch sync (snapshot, diff,
webhook, key sync, priority sync); mirrors single check-now behavior
- Both routes are registered before /{uid} to avoid path capture
- Skips disabled upstreams (status=skipped); single failure does not
abort subsequent upstreams (serial execution)
- Returns UpstreamBatchActionResponse with per-item detail and summary
Refactor: extract _test_upstream_core(db, u) and _check_now_core(db, u)
- All four routes (single + batch × 2) now share the same core helpers
- Eliminates duplicate logic and future divergence risk
Frontend:
- Add UpstreamBatchActionResponse / Item / Summary TS types
- Add upstreamsApi.testAll() and upstreamsApi.checkNowAll()
- Add '一键测试' and '一键同步' buttons in Upstreams.vue toolbar
(order: 一键测试 → 一键同步 → 刷新 → 新增上游)
- Buttons disabled when list is empty or another batch op is running
- On completion: refresh list + ElMessageBox with per-item failure detail
2026-06-01 16:46:42 +08:00
liumangmang
bea4344bb3
fix: reconcile upstream keys on list/generate/import to prevent stale key imports
...
- Extract reconcile_upstream_keys() to website_sync.py (shared scheduler + on-demand)
- Add reconcile_upstream_keys_full() for on-demand reconciliation at three entry points:
list_generated_keys, generate_keys_by_groups, import_upstream_keys_as_accounts
- Safe on failure: active_group_ids=None / remote_key_ids=None skip cleanup
- Support custom managed_prefix via _fetch_remote_managed_key_ids() helper
- Exclude orphaned keys from frontend importable list
- Remove hardcoded search='SmartUp' from scheduler path
2026-06-01 11:29:37 +08:00
liumangmang
3408795289
feat: default upstream balance config for new upstream form
...
defaultForm() now uses sub2api presets for balance fields:
- balance_endpoint: /auth/me
- balance_response_path: data.balance
- balance_divisor: 1.0
Platform presets in handlePlatformChange() remain unchanged.
2026-06-01 11:09:31 +08:00
liumangmang
518e3e8efc
feat: add one-click sync for website group bindings
2026-06-01 09:06:01 +08:00
liumangmang
3ab3a5e26f
feat: add multi-tab support to remote browser
2026-05-30 09:51:51 +08:00
liumangmang
5c20ddc8e6
feat: sync account priorities after rate changes
2026-05-29 17:51:12 +08:00
liumangmang
c5778bb3e7
feat: persist browser sessions and update admin workflows
2026-05-29 16:00:43 +08:00
SmartUp Developer
4971263a3a
perf: 前端按需引入 Element Plus + Vite 拆包 + template 优化
2026-05-25 00:18:08 +08:00
SmartUp Developer
3a31d185a4
fix: reuse upstream keys for account import
2026-05-24 23:18:40 +08:00
liumangmang
6044b00685
feat: 上游 Key 唯一化、分组导入跳过、账号导入平台识别&远端校验&base_url 注入
...
- 上游 Key 命名改为 {prefix}-{upstream.id}-{safe_group_name}-{group_id}
- 唯一约束 (upstream_id, group_id, managed_prefix) 加 managed_prefix 列
- 上游检测成功时同步 Key 状态,远端已删/分组已删自动清理
- 重复分组导入跳过,目标网站已存在同名分组返回 exists
- 账号导入平台自动识别(auto/manual 模式)
- 全选可导入 Key 按钮 + 目标分组自动匹配
- 导入幂等:已导入过的 Key 校验远端账号,不存在则重建
- 新增同步接口 POST /sync-imported-upstream-keys
- account_exists() 通过拉取账号列表判断,避免 404 误判
- credentials.base_url 注入来源上游地址,避免 401
- 前端导入弹窗自动同步+刷新按钮+并发/优先级设置
- 新增 12 个测试覆盖同步、幂等、远端删除、校验失败路径
2026-05-21 01:16:39 +08:00
liumangmang
0a27bba296
fix: 修复远程浏览器登录态保留 & 剪贴板同步问题
2026-05-20 10:13:13 +08:00
liumangmang
6cc797f915
feat: remote browser login persistence + balance display + UI consistency
...
- Retain login state in remote browser profiles (don't delete on disconnect)
- Add GET /api/browser-sessions/{id}/clipboard for clipboard sync
- Add POST /api/browser-sessions/{id}/autofill-login for manual credential fill
- Add DELETE /api/browser-sessions/profiles/{custom_page_id} for login clear
- Add balance tracking with configurable divisor (balance_divisor)
- Health check on session reuse, idle TTL eviction, background cleanup
- Add first-frame watchdog (10s timeout) to prevent infinite loading
- Reconnect browser on active=true when session was closed
- UI: uniform text-only inline buttons (websites + upstreams pages)
- Fix page switch race with closingRemoteSessionPromise
2026-05-20 09:44:20 +08:00
SmartUp Developer and Claude Opus 4.7
4c71148ff9
feat: one-click upstream auth refresh from custom page viewer
...
- Add linked_upstream_id to CustomPage model with DB migration
- New POST /api/custom-pages/{pid}/refresh-auth endpoint extracts
credentials from active remote browser and updates linked upstream
- PageViewer toolbar shows key icon button when page has linked upstream
- CustomPages form adds upstream dropdown for remote_browser pages
- Auth capture extracts New-Api-User from localStorage uid/user/self API
- Upstream client sends New-Api-User header in cookie auth mode
- Fix auth capture dialog: transparent background, field persistence,
login URL defaults to base_url/login, focus on click for keyboard input
- Fix upstream test ASCII encoding with non-header characters validation
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-19 09:27:14 +08:00