hmo
0a3986238e
feat: SenseNova Token Plan余量监控(参考OCG/Kimi CDP模式)
...
- usage_collector_sensenova.py: CDP刮platform.sensenova.cn/console三模型余量
(锚定'模型名+换行+数字%剩余'防图例区误匹配)
- dashboard: /api/usage和/api/keys合并sensenova数据; refresh流程加SSH采集+scp回传
- accounts.json注册key8/9/10(同一SenseNova key三模型视角)
2026-07-23 18:23:16 +08:00
hmo
e59c1bcc53
fix: 移除afw-proxy(已废弃试验)+ocg-key顺序由/api/keys配额动态决定
...
- afw-proxy是早期试验代理,老爸确认已废弃,不入链
- ocg-key*按AgentsMeeting/api/keys健康度排序,session_expired跳过
2026-07-23 16:47:28 +08:00
hmo
eddbee968c
fix: provider链白名单与实际config脱节导致模型无响应
...
- 原allowed仅4个provider(deepseek/volcengine/opencode-go*), config里只有deepseek(402欠费)→全链死
- 现按存活度排序: sense-nova(实测可用+tools支持)→deepseek→afw-proxy→ocg-key*
- 模型名: options.model优先, 否则取provider models字典第一个key
2026-07-23 15:54:38 +08:00
hmo
ea193a9881
chore: retire legacy wechat-hermes-gateway xmpp_bot, unify bridge to :5807
...
Old xmpp_bot.py (PID-locked separately) coexisted with new xmpp_agent_core,
causing duplicate JID connections and split bridge traffic (5802 vs 5807).
Deploy scripts now use new bot's :5807 bridge with X-Api-Key auth.
2026-07-23 13:59:11 +08:00
hmo
b3b8c8dec4
fix: RDP health check uses correct 19-byte X.224 packet
...
Yesterday's malformed packet (TPKT len=0x1b mismatch) made health check
always fail -> every enable triggered needless TermService restarts and
false 'STILL FAILING' reports (root cause of 2026-07-23 morning incident)
2026-07-23 13:48:08 +08:00
hmo
6553e51b8b
fix: RDP tunnel status adopts detached/wild tunnels instead of false-disabled
...
- _rdp_find_tunnel_process(): find ssh.exe hosting -R 8080 forwarding via CIM
- _rdp_status(): adopt actual tunnel process when pid file stale/missing
- _rdp_enable(): adopt existing tunnel instead of spawning duplicate that
fails on 'remote port forwarding failed' (8080 occupied)
- Fixes 2026-07-23 incident: tunnel alive but dashboard showed disabled,
repeated enable attempts failed because port was occupied by working tunnel
2026-07-23 13:34:06 +08:00
hmo
8a27d8e847
fix: RDP enable auto-health-restore on handshake failure, anti-Huorong firewall rule
2026-07-22 16:51:52 +08:00
hmo
d7b2ee0460
chore: gitignore rdp_tunnel.pid(运行时产物)
2026-07-21 23:11:04 +08:00
mohe
42a55f03c2
chore: 移除小果(agent-003)——已全线退役(dashboard默认agents/agents.yaml/auto_heal服务映射)
2026-07-21 22:46:42 +08:00
hmo
74496bacd9
chore: set executable bit on cron wrapper scripts
2026-07-21 01:02:50 +08:00
hmo
37bfbad921
feat: add cron wrapper scripts for OCG and Kimi local collectors
...
- ocg_collect.sh: local OCG collection via HTTP+cookies
- kimi_collect_local.sh: local Kimi collection via Playwright CDP
- Replaces kimi_collect.sh (SSH-to-Windows approach)
2026-07-21 01:00:58 +08:00
hmo
c11222e55c
feat: local Kimi collection via Playwright + headless Chrome on 246
...
- usage_collector_kimi_local.py: Playwright connect_over_cdp to local Chrome
- kimi_login.py: interactive login helper for headless Chrome
- Replaces SSH-to-Windows approach, removes single point of failure
- Chrome CDP service: chrome-kimi-cdp.service (systemd)
2026-07-21 00:56:00 +08:00
hmo
2598b286eb
fix: kimi collector crash on CDP error + auto-start CDP proxy + dashboard renewal badge
...
- usage_collector_kimi: guard /targets dict response, auto-start CDP proxy if down
- usage_collector: add subscribed/renewal fields to HTTP+CDP collection
- dashboard: show UNSUBSCRIBED red badge / renewal-cancelled orange badge
2026-07-20 23:18:40 +08:00
hmo
dc3b3d1868
fix: Kimi collector always reloads page for fresh data
2026-07-19 22:17:12 +08:00
hmo
9a6ff4a3bd
fix: refresh endpoint triggers Kimi collector via SSH to Windows + scp result back
2026-07-19 22:12:46 +08:00
hmo
84423565f8
fix: Kimi collector targets correct membership/subscription tab, parses 3 usage metrics with dates
2026-07-19 21:26:40 +08:00
hmo
c1232ed382
fix: OCG output includes provider field + Kimi collector uses membership/subscription page
2026-07-19 21:09:01 +08:00
hmo
bfb6bfba59
fix: OCG collector skips non-opencode_go provider accounts (key7 Kimi was leaking into OCG section)
2026-07-19 20:22:04 +08:00
hmo
e509334ff4
fix: /api/keys reads Kimi usage_stats_kimi.json for key7 data
2026-07-19 19:47:46 +08:00
hmo
7a43fec2b1
feat: multi-provider usage — Kimi collector via CDP, unified /api/usage, frontend grouping
2026-07-19 19:46:08 +08:00
hmo
94f5f9ec92
feat: add /api/keys endpoint — masked API keys with usage data (rolling/weekly/monthly)
2026-07-19 10:53:32 +08:00
hmo
3128db09c6
docs: add TEMPLATE-GUIDE — how to use AgentsMeeting as reference template for new projects or refactoring
2026-07-19 10:19:27 +08:00
hmo
0b345c2ca1
docs: add HEALTH-PIPELINE + DASHBOARD, update DEPLOY/OPS/QUICKSTART/README — Linux 246 as production standard
2026-07-19 10:09:42 +08:00
hmo
94250e9dda
fix: match crontab entries by script filename (underscore) not task name (hyphen)
2026-07-19 09:25:25 +08:00
hmo
0ed048c327
fix: dashboard monitor checks local crontab + dev-spec adds Linux-first deployment rule
2026-07-19 09:24:03 +08:00
hmo
d6950b0982
rewrite: health check, daily health, todo executor for Linux 246 deployment (native tools, no Windows deps)
2026-07-19 09:21:26 +08:00
hmo
1d4f083b10
fix: use 10s timeout for remote service HTTP checks
2026-07-19 09:12:15 +08:00
hmo
b248fc62c5
fix: auto_heal extract service_key from composite key (agent-XXX:name) for SERVICE_UNIT_MAP lookup
2026-07-19 09:10:39 +08:00
hmo
b56b1b3b47
fix: health check PID now advisory-only, remote services skip local port, add ?§ to task entries
2026-07-19 09:05:16 +08:00
hmo
4bba29965f
fix: handle GBK encoding from Windows schtasks output via SSH
2026-07-19 08:20:08 +08:00
hmo
9fca8185a5
fix: monitor endpoint checks Windows schtasks via SSH instead of Linux systemd/crontab
2026-07-19 08:18:54 +08:00
hmo
a87a4e6d5b
fix: skip scheduled entries in Layer 3 loop to prevent duplicate 定时任务 section
2026-07-18 22:29:02 +08:00
hmo
7dc5cc1c74
fix: add missing hermes_gateway + omlx_server specs + all M map spec fields
2026-07-18 13:28:50 +08:00
hmo
0ac756b241
fix: F Tab unique keys per instance + spec buttons + dedup + naming rules
2026-07-18 13:23:43 +08:00
hmo
c43486a6f2
feat: auto_heal.py + api/autoheal + F Tab auto-heal display
2026-07-18 12:28:47 +08:00
hmo
e4a9b7ff55
fix: api_services cross-platform health URLs + frontend isHealthy() accepts online/remote
2026-07-18 11:52:35 +08:00
hmo
944ce33ac4
fix: wechat_bridge 401 false-negative + hermes xmpp_bot filter + M map key
2026-07-18 11:47:15 +08:00
hmo
471a643050
fix: add expected field back for frontend F Tab rendering
2026-07-18 11:38:47 +08:00
hmo
0139e2949d
fix: xmpp type entries check via ejabberdctl JID online status
2026-07-18 11:33:04 +08:00
hmo
7eee60a7cf
fix: _is_local_host helper for EJABBERD_HOST + local IP
2026-07-18 11:30:31 +08:00
hmo
f5edce71c9
fix: F Tab expected dynamic + AGENTS.md encoding + dev-spec sync
2026-07-18 10:39:35 +08:00
mohe
6da8bf219a
docs: add modify-existing-feature flow with pre-read-spec step; update AGENTS.md, dev-spec.md
2026-07-17 13:29:56 +08:00
hmo
525c53a51a
docs: add 4th red line — implement then sync spec; record learned lesson
2026-07-17 13:18:23 +08:00
hmo
bb26fb4207
chore: add junk file patterns to .gitignore
2026-07-17 00:54:44 +08:00
hmo
f0b2e3f3cc
docs: add architecture diagram + gitignore bot output and temp files
2026-07-17 00:53:42 +08:00
hmo
c3d9f0e661
feat(gateway): 双轨规范体系完善 — 新增 7 个模块 spec (dashboard/xmpp_bot/health_service/watchdog/chat_bridge/session_router/usage_collector) + 修复 3 个已有 spec + dashboard status_reason + Platform ejabberd 集成
2026-07-17 00:33:44 +08:00
hmo
79e8480f3c
fix: remove stale Loading span in Infrastructure tab; add per-service ?/§ for Platform (WeChat Bridge, API Proxy, article_processor) and Ejabberd with dedicated spec files
2026-07-16 22:25:17 +08:00
hmo
c8b641bb65
feat: add ? and § dual-track buttons to Agents, Kanban, Infrastructure tabs
2026-07-16 22:10:53 +08:00
hmo
d1b31dac15
feat: add module spec files for agents, kanban, infra tabs
2026-07-16 22:10:34 +08:00
hmo
6009c20f74
add ? and § dual-track buttons to G/K/F/H tabs + 4 spec JSON files
2026-07-16 18:42:42 +08:00