June 2026 4 个事件
UI 翻新 · 移动端适配 · 稳定版发布 更新
状态 已完成
组件 全端 UI + 后端修复
时间 June 20, 2026
June 20, 2026 UTC+8 管理面板 dashborad.html 全面中文化、移除误导性「失败」统计;review.html 重做列表项(图片/发布状态标识)+ 手机端侧边栏滑动审核体验 + 审核后自动跳下一条
June 20, 2026 UTC+8 移动端适配 全站 viewport 缩放从 0.45 提升至 0.85;导航按钮加 flex-wrap 防止挤叠;历史页手机端时间线重设计(左竖线 + 信息纵向排列)
June 20, 2026 UTC+8 后端修复 修复 run.py 日志文件十六进制计数器溢出 bug(0000000A 后不再递增);用户图片 1:1 黑边扩展恢复按原始像素判定,不做 EXIF 扭转
June 20, 2026 UTC+8 版本发布 RV_1.21_Stable 稳定发行版发布;版本号从顶部横幅移至页脚;投稿按钮移除「有限度」标签
架构重构 · 全功能上线 更新
状态 已完成
组件 全组件重构
时间 June 16, 2026
June 16, 2026 UTC+8 重构 代码模块化:拆分 text_to_img.py、igbot_selenium.py,main.py 只做调度
June 16, 2026 UTC+8 管理面板 登录页 + 管理面板 UI 全面重做(渐变、动效、硬件监控)
June 16, 2026 UTC+8 IG Bot Selenium 浏览器自动发帖成功,支持用户图/TTI 降级策略
June 16, 2026 UTC+8 配置驱动 新增 backend_config.json:AI 审核开关、政策开关、文字生图开关
June 16, 2026 UTC+8 隧道自动化 start_tunnel_auto.py 全自动抓取 URL + 更新 config.json + GitHub push
June 16, 2026 UTC+8 修复 修复 12+ 项问题:导航链接、重复 ID、HID 搜索、标签字段、磁盘温度显示等
Auth Refactor · Structured Logging · Tunnel / App Decoupling Update
Status Resolved
Component FastAPI Backend + Vanilla JS Admin SPA
Date June 18, 2026
June 18, 2026 UTC+8 Bearer Auth Migrated admin auth from session-cookie to HTTP Authorization: Bearer <token> scheme. FastAPI Depends() admin_required now resolves identity via triple fallback: Cookie introspection → _token query param → Bearer Header extraction. Vanilla JS admin SPA rewritten with fetch() Authorization interceptor; localStorage token lifecycle synchronized with server-side SQLite admin_token table. CORS middleware wrapped in try / except to guarantee Access-Control-Allow-Origin preflight headers even when downstream middleware raises 500.
June 18, 2026 UTC+8 Audit Logging Instrumented check_token() with Python logging.Logger DEBUG-level probes: token row existence in SQLite → TTL expiration computed via datetime.utcnow() – created_at delta → final bool verdict. create_admin_token() / login endpoint now emit structured log records (token UUID prefix + username) for request trace correlation. Eliminates black-box login-flash debugging.
June 18, 2026 UTC+8 Tunnel Separation Decoupled networking layer from application lifecycle: start_tunnel_separate.bat spawns cloudflared quick tunnel as a detached subprocess, independent of Uvicorn worker lifespan. FastAPI server launched with --notunnel flag so restarts never invalidate the public DNS record. Architecture now cleanly split: L4 tunnel (cloudflared) ↔ L7 application (Uvicorn + FastAPI).
June 18, 2026 UTC+8 Runtime Patches Fixed StreamCatch stdout wrapper — forwarded isatty() / fileno() syscalls to underlying buffer, preventing recursive AttributeError spiral when Uvicorn probes terminal capabilities. Added missing typing.TypedDict import causing ImportError crash on cold start. Fixed StaticFiles Mount route precedence bug that swallowed admin subpath resolution. Repaired trailing } JSON syntax error in status / index.html breaking the whole script block. Added .trim() to config.json URL fetch to guard against trailing-whitespace → %20 percent-encoded fetch() 400.
项目重启 · 版本更新推送 更新
状态 已完成
组件 全组件(后端 + 前端 + IG Bot)
时间 June 15, 2026
June 15, 2026 UTC+8 重启 所有比赛已完结,开发者回归空闲,决定重启本项目并推进更新
June 15, 2026 UTC+8 推送 完成多项 Bug 修复、新增管理面板、IG 自动推送机器人、保活机制、优化标题/内容逻辑、更新前端页面
July 2026 3 个事件
Multi-Admin Reviewer Attribution · Polling Auto-Refresh Update
Status Resolved
Component FastAPI Backend + Jinja2 Embedded Panel + Vanilla JS WebEnd
Date July 08, 2026
July 08, 2026 UTC+8 Reviewer Tracing Extended admin_token SQLite schema with nullable username VARCHAR column via ALTER TABLE migration. Refactored check_token() return signature from Optional[bool] → Optional[str] — now returns authenticated username on success, None on rejection. FastAPI admin_required Depends() injects str identity directly into route handler signatures. POST /api/admin/review resolves reviewer server-side from token binding, discarding untrusted client-supplied field entirely. ReviewBody Pydantic model reviewer field demoted to Optional[str]. Embedded Jinja2 admin table and WebEnd review.html render 👤 reviewer badge per submission row + detail pane row.
July 08, 2026 UTC+8 Auto-Refresh Implemented setInterval-based 15-second polling loop on both /admin embedded Jinja2 dashboard and review.html WebEnd panel. Each tick issues parallel fetch() → GET /api/admin/stats + /api/admin/submissions. Stats cards and submission table tbody patched via innerHTML swap on JSON response to avoid full-page repaint and preserve scroll position.
Edge WebDriver Stability Hardening · Emoji Caption Injection Fix Fix
Status Resolved
Component Selenium WebDriver (msedgedriver) + Edge Chromium
Date July 08, 2026
July 08, 2026 UTC+8 Edge Stability Provisioned isolated --user-data-dir=KYAutomation/ profile directory instead of sharing the user Default profile, preventing taskkill.exe-induced corruption on SingletonLock collision. Pre-launch cleanup of SingletonLock / SingletonSocket / SingletonCookie lockfiles before selenium.webdriver.Edge() constructor. Switched to --remote-debugging-port=0 for kernel-assigned ephemeral TCP port, eliminating fixed-port conflict across driver restarts. Enforced --window-size=1920,1080 to guarantee non-zero viewport dimensions for fresh profiles. Wrapped driver instantiation in 3-retry loop with EC.presence_of_element_located on about:blank body as liveness probe. Scoped taskkill to current user SID via /FI "USERNAME eq %USERNAME%" to avoid terminating system-wide Edge processes. Stripped deprecated flags: --no-sandbox (Edge 150+ no-op), --disable-dev-shm-usage (Linux-only), excludeSwitches / useAutomationExtension (Chromium-specific experimental, unsupported by EdgeDriver).
July 08, 2026 UTC+8 Emoji Fix Replaced WebElement.send_keys() caption injection with driver.execute_script("arguments[0].textContent = caption") JavaScript DOM assignment. Root cause: msedgedriver IME backend enforces BMP-only codepoint range (U+0000–U+FFFF); astral-plane emoji such as 😆 (U+1F606) exceed this plane and trigger WebDriverException with no fallback. JS textContent setter bypasses the IME entirely, supporting full Unicode Supplementary Multilingual Plane (U+10000–U+1FFFF). Additionally dispatched synthetic input Event with { bubbles: true } so Instagram's React fiber reconciler detects the change via its controlled-component state sync, preventing caption ghosting where the DOM updates but React state does not.
Hot Log Rotation · Error Suffix Tagging · AI Digest Generation Update
Status Resolved
Component run.py Launcher + Python logging Module + Uvicorn Worker Pool
Date July 08, 2026
July 08, 2026 UTC+8 Hot Rotation Rewrote run.py as a multi-threaded log orchestration layer: a daemon threading.Timer loop fires every 3600 s (configurable via --rotate-interval N, disable with --no-rotate). threading.RLock guards StreamCatch.write() to serialize concurrent writes from Uvicorn's async worker pool. Rotation critical section (io.open new file descriptor → close old fd) executes under lock; regex analysis and file rename run post-unlock to minimize write-path blocking. Uvicorn.Server.run() remains on the main thread, decoupled from the rotation daemon lifecycle — no process restart required.
July 08, 2026 UTC+8 Suffix Tagging Post-rotation analysis pipeline: full-content re.search across rotated log for ERROR | WARNING | Exception | Traceback | timeout patterns. Filename suffix convention: _E (errors present), _W (warnings present), _EW (both). WMI GPU sensor noise (recurring failed WMI query) excluded via negative-lookahead regex to prevent false-positive _W tagging on every rotation cycle. Context extraction captures ±1 line around each match for forensic correlation.
July 08, 2026 UTC+8 AI Digest Synchronous digest generation alongside each rotation: {hex}_ai_digest.log written with structured plaintext metadata — time_range (first→last timestamp), total_lines, error_count, warning_count, status_label (CLEAN / _E / _W / _EW). Deduplicated error contexts with ±1 line window for each unique match. Deduplicated warning inventory. GET /api/admin/logs extended JSON response schema: files[] (recent 20 rotated log filenames), digests[] (recent 20 digest filenames), total_lines (current active log). Five logger.error() callsites in main.py upgraded to exc_info=True for automatic full Python traceback attachment in log stream output.
February 2026 2 个事件
Backend API 服务中断 服务中断
状态 已解决
组件 Backend API, 数据库
影响范围 API Server Database
February 22, 2026 3:24 UTC+8 调查中 发现后端API服务异常,请求响应超时,正在排查根因
February 23, 2026 3:49 UTC+8 修复中 进网光纤光信号丢失, 己联系工程师
February 23, 2026 4:51 UTC+8 监控中 已修复服务节点故障,api服务恢复,持续监控运行状态
February 23, 2026 4:58 UTC+8 已解决 所有API节点恢复正常,服务完全可用,故障已解决
KYsercet 计划性DEV 计划DEV
描述 还在做啦
组件 前端到后端的发包
时间 February 05, 2026 00:00 - March 07, 2026 00:00 CST
February 15, 2026 00:00 CST DEV 内测用户可以优先访问