liuwei
|
265f3835b4
|
已按你说的改成“命中即跳出 + 后台入队处理”,插件调度仍然是独占策略,没有做并行插件处理。
主要改动在 main.py:
process_message(...) 现在只做入队,立刻返回 True, "queued",主链路立即释放。
原来的完整处理逻辑迁到 _process_message_impl(...),由后台 worker 消费队列执行。
新增队列 worker 循环 _message_worker_loop(...),并在 start()/stop() 管理生命周期。
增加 _ensure_workers_started(),避免插件在无事件循环阶段 create_task 报错(延迟到有 loop 时启动)。
保留了之前的 LLM 防阻塞措施:to_thread + semaphore + timeout。
配置也加在 config.toml 的 [runtime]:
llm_max_concurrency = 3
llm_call_timeout_sec = 120
queue_worker_count = 2
queue_maxsize = 500
已做语法校验:py_compile 通过。
|
2026-04-15 10:23:05 +08:00 |
|
liuwei
|
4cf5a05088
|
这次实际改的是按钮背后的同步逻辑,不是页面文案本身。现在 /contacts/api/update 触发后会:
个人联系人、公众号:已存在就跳过,不存在才写入。
群:不再删库重建,已有群保留;新群会写入。
群成员:已存在就跳过,不存在就写入。
如果成员这次不在群里了,会把 db/contacts_db.py 里的 status 标成 2,前端会显示“已退群”。
如果整个群查不到了,也不再删除群资料,只把该群历史成员标记为“已退群”。
改动在:
robot.py
db/contacts_db.py
我还做了语法校验,py_compile 通过。需要的话我也可以继续帮你把“更新通讯录”按钮的成功提示改成更明确,比如“已完成增量同步,未删除历史数据”。
|
2026-04-15 09:28:44 +08:00 |
|
liuwei
|
28e038a25c
|
member_context: split daily weekly monthly digest scheduling
|
2026-04-14 10:53:46 +08:00 |
|
liuwei
|
1800ae585a
|
fix: show group plugin stats in detail dialog
|
2026-04-13 17:16:38 +08:00 |
|
liuwei
|
299a32fa16
|
feat: add real detail views for stats pages
|
2026-04-13 17:09:21 +08:00 |
|
liuwei
|
29dc59c3f1
|
style: improve plain button contrast across dashboard
|
2026-04-13 16:21:49 +08:00 |
|
liuwei
|
7df4bd216f
|
feat: gate media downloads by group and retry douyu checks
|
2026-04-13 15:53:34 +08:00 |
|
liuwei
|
d581b9650e
|
feat: improve system message display in dashboard
|
2026-04-13 15:30:33 +08:00 |
|
liuwei
|
fc43321f94
|
chore: keep traceback out of debug logs
|
2026-04-13 15:05:13 +08:00 |
|
liuwei
|
ce9726d37d
|
fix: improve douyu scheduled check error logging
|
2026-04-13 14:48:45 +08:00 |
|
liuwei
|
2a79c5cb3e
|
refactor: tighten group member change filtering
|
2026-04-13 13:04:58 +08:00 |
|
liuwei
|
f7da70e920
|
chore: drop local emoji test artifacts
|
2026-04-13 12:22:22 +08:00 |
|
liuwei
|
7ee5ba93ab
|
fix: support spaced emoji media attributes
|
2026-04-13 12:21:06 +08:00 |
|
liuwei
|
45d97b2989
|
feat: preview emoji media in message list
|
2026-04-13 12:10:37 +08:00 |
|
liuwei
|
ada1b656e0
|
feat: dedupe and schedule emoji media downloads
|
2026-04-13 12:06:58 +08:00 |
|
liuwei
|
9698f9577f
|
feat: revamp contacts chat workspace
|
2026-04-13 11:47:34 +08:00 |
|
liuwei
|
e20d57b291
|
chore: remove legacy robot navigation copy
|
2026-04-13 11:21:00 +08:00 |
|
liuwei
|
f52ace9487
|
refactor: merge group permissions into contacts
|
2026-04-13 11:18:59 +08:00 |
|
liuwei
|
ec6c1308db
|
feat: add group detail dashboard insights
|
2026-04-13 11:04:20 +08:00 |
|
liuwei
|
e2b19c0614
|
refactor(ai_auto_response): relax short reply truncation
|
2026-04-13 09:55:23 +08:00 |
|
liuwei
|
b10ec3493a
|
feat(message_summary): beautify overview stats pills
|
2026-04-13 09:54:42 +08:00 |
|
liuwei
|
8ccf96d6de
|
优化一下总结布局
|
2026-04-13 09:35:29 +08:00 |
|
liuwei
|
0f0acc1729
|
feat(message_summary): add group overview stats section
|
2026-04-13 09:18:44 +08:00 |
|
liuwei
|
0e3eda8865
|
tune(ai_auto_response): shorten llm replies
|
2026-04-13 09:05:41 +08:00 |
|
liuwei
|
4e7a8e6798
|
fix(ai_auto_response): clean think noise from parsed fields
|
2026-04-10 17:06:13 +08:00 |
|
liuwei
|
52392edcc0
|
fix(ai_auto_response): sanitize dify wrapped think output
|
2026-04-10 16:59:18 +08:00 |
|
liuwei
|
f3354d39a8
|
fix(ai_auto_response): keep complete social short replies
|
2026-04-10 16:54:12 +08:00 |
|
liuwei
|
762b6d5252
|
删除测试代码
|
2026-04-10 16:53:13 +08:00 |
|
liuwei
|
0c90c5d74f
|
fix(ai_auto_response): avoid forced split of single short replies
|
2026-04-10 16:51:11 +08:00 |
|
liuwei
|
5e80287530
|
切换到dify,还是不要直连,dify更方便
|
2026-04-10 16:41:14 +08:00 |
|
liuwei
|
cc59447be8
|
切换到十号的grok
|
2026-04-10 16:12:55 +08:00 |
|
liuwei
|
29a624eb5c
|
chore(config): update ai auto response llm endpoint
|
2026-04-10 13:47:14 +08:00 |
|
liuwei
|
f96e891ad9
|
tune(ai_auto_response): loosen short reply limits for persona flavor
|
2026-04-10 13:45:50 +08:00 |
|
liuwei
|
a1aa05e3b9
|
feat(ai_auto_response): add admin-controlled persona switching
|
2026-04-10 13:15:35 +08:00 |
|
liuwei
|
c280fa8dab
|
rebalance ai_auto_response participation tuning
|
2026-04-10 10:44:10 +08:00 |
|
liuwei
|
3f9ae6442d
|
tighten ai_auto_response participation and spam guard
|
2026-04-10 09:56:34 +08:00 |
|
liuwei
|
d2856bee2e
|
soften ai_auto_response group domain steering
|
2026-04-10 09:45:39 +08:00 |
|
liuwei
|
ef283c1818
|
tune ai_auto_response short reply and followup gating
|
2026-04-10 09:39:33 +08:00 |
|
liuwei
|
a67b8c296d
|
update message summary default time range
|
2026-04-10 09:27:08 +08:00 |
|
liuwei
|
42b2014f12
|
unify plugin llm clients on shared utils layer
|
2026-04-10 09:13:42 +08:00 |
|
liuwei
|
a99bbcca39
|
add ai_auto_response llm client compatibility shim
|
2026-04-10 09:06:53 +08:00 |
|
liuwei
|
c0620e6cee
|
shrink ai_auto_response prompt pipeline
|
2026-04-10 09:04:22 +08:00 |
|
liuwei
|
f580c69736
|
refactor ai_auto_response plugin architecture
|
2026-04-09 17:46:30 +08:00 |
|
liuwei
|
cc65378544
|
feat(ai_auto_response): handle image follow-up more safely
|
2026-04-09 10:06:39 +08:00 |
|
liuwei
|
3900d38952
|
fix(douyu): compact long audience trends adaptively
|
2026-04-09 09:52:19 +08:00 |
|
liuwei
|
5dfc17f811
|
fix(douyu): aggregate audience trend by minute
|
2026-04-09 09:50:21 +08:00 |
|
liuwei
|
4e2dea86af
|
fix(dashboard): avoid blocking admin web requests
|
2026-04-09 09:20:47 +08:00 |
|
liuwei
|
cf675db2da
|
chore: remove local douyu debug artifacts from repo
|
2026-04-08 17:05:37 +08:00 |
|
liuwei
|
867ed0a2ec
|
feat(douyu): add audience trend chart to daily report
|
2026-04-08 17:03:43 +08:00 |
|
liuwei
|
8909b8c386
|
fix: avoid clipping douyu report shadows
|
2026-04-08 14:55:29 +08:00 |
|
liuwei
|
7e93ca730f
|
feat: refine douyu active user display
|
2026-04-08 14:44:44 +08:00 |
|
liuwei
|
b56822b196
|
feat: polish douyu active user cards
|
2026-04-08 14:36:05 +08:00 |
|
liuwei
|
41c8ce403c
|
chore: adjust douyu daily report schedule
|
2026-04-08 14:29:03 +08:00 |
|
liuwei
|
ea3a088c63
|
feat: enrich douyu daily summary cards
|
2026-04-08 14:26:46 +08:00 |
|
liuwei
|
b73594975d
|
fix: restore douyu core active users in daily reports
|
2026-04-08 14:23:52 +08:00 |
|
liuwei
|
772f45cb2f
|
feat: separate global llm settings from monitor page
|
2026-04-08 14:16:37 +08:00 |
|
liuwei
|
3d671c0da0
|
feat: improve llm settings ui and douyu daily fallback
|
2026-04-08 14:09:21 +08:00 |
|
liuwei
|
1ab0f61e2f
|
fix: resolve dify init and douyu session errors
|
2026-04-08 13:57:57 +08:00 |
|
liuwei
|
480ebee8c7
|
feat: add idempotent douyu daily report command
|
2026-04-08 13:51:51 +08:00 |
|
liuwei
|
28a4911c13
|
chore: remove douyu local llm secrets
|
2026-04-08 13:45:27 +08:00 |
|
liuwei
|
aecb62cb4d
|
refactor: centralize llm backend configuration
|
2026-04-08 13:43:41 +08:00 |
|
liuwei
|
df1939d60b
|
chore(douyu): enable llm daily reports
|
2026-04-08 13:21:15 +08:00 |
|
liuwei
|
66f4a3e604
|
feat(douyu): add daily danmu report pipeline
|
2026-04-08 13:17:29 +08:00 |
|
liuwei
|
6401ec02de
|
Refine member context profiling detail
|
2026-04-08 10:27:14 +08:00 |
|
liuwei
|
fa98c9e6a5
|
tune xiaoniu config
|
2026-04-08 09:43:55 +08:00 |
|
liuwei
|
f4715f104a
|
adjust xiaoniu runtime config
|
2026-04-08 09:38:21 +08:00 |
|
liuwei
|
67eec32f7f
|
unify xiaoniu topic selection and reply planning
|
2026-04-08 09:23:10 +08:00 |
|
liuwei
|
8ead2c43bf
|
stabilize xiaoniu anti-spam and silent defenses
|
2026-04-08 08:53:47 +08:00 |
|
liuwei
|
1671bea3a3
|
fix: fallback quoted image lookup by md5
|
2026-04-07 17:58:34 +08:00 |
|
liuwei
|
d99f1a07d1
|
fix: only use downloaded media paths for quoted images
|
2026-04-07 17:50:08 +08:00 |
|
liuwei
|
f9417a201f
|
fix: prefer local quoted media paths in dashboard
|
2026-04-07 17:46:55 +08:00 |
|
liuwei
|
238e478f52
|
fix: reuse referenced message media in dashboard quotes
|
2026-04-07 17:44:15 +08:00 |
|
liuwei
|
e823c1049f
|
fix: proxy quoted media in dashboard messages
|
2026-04-07 17:40:10 +08:00 |
|
liuwei
|
867f00435c
|
feat: improve quoted message rendering in dashboard
|
2026-04-07 17:35:03 +08:00 |
|
liuwei
|
3d56b3895a
|
harden xiaoniu defenses and directed cooldowns
|
2026-04-07 17:26:13 +08:00 |
|
liuwei
|
02bde14d52
|
improve xiaoniu reply chunk splitting
|
2026-04-07 16:48:00 +08:00 |
|
liuwei
|
9545664318
|
relax xiaoniu reply planner gating
|
2026-04-07 16:31:29 +08:00 |
|
liuwei
|
c8a7958e2b
|
move xiaoniu runtime logs to debug
|
2026-04-07 16:25:34 +08:00 |
|
liuwei
|
96432039cc
|
add retry for xiaoniu api requests
|
2026-04-07 16:17:58 +08:00 |
|
liuwei
|
2b6deff4ba
|
filter invalid xiaoniu model echoes
|
2026-04-07 16:06:52 +08:00 |
|
liuwei
|
271954cfbb
|
adjust xiaoniu runtime config
|
2026-04-07 16:04:33 +08:00 |
|
liuwei
|
58faa4322c
|
fix xiaoniu mention gating and vector memory config
|
2026-04-07 16:00:31 +08:00 |
|
liuwei
|
fabcb92f3f
|
use richer member memory in xiaoniu replies
|
2026-04-07 15:47:32 +08:00 |
|
liuwei
|
0ac08c45c0
|
tune xiaoniu address style by group
|
2026-04-07 15:38:52 +08:00 |
|
liuwei
|
a29b625bc6
|
refine xiaoniu natural name mentions
|
2026-04-07 15:37:01 +08:00 |
|
liuwei
|
19d2938870
|
improve xiaoniu recipient cues and name-prefixed replies
|
2026-04-07 15:32:38 +08:00 |
|
liuwei
|
9e95b805ec
|
require directed questions for xiaoniu replies
|
2026-04-07 15:21:45 +08:00 |
|
liuwei
|
5ca9a8d1d9
|
tune xiaoniu low-frequency social interjections
|
2026-04-07 14:52:38 +08:00 |
|
liuwei
|
5a02121ace
|
allow multi-part replies for xiaoniu qa responses
|
2026-04-07 14:39:41 +08:00 |
|
liuwei
|
42feb29a40
|
add dota2 match history boundary for xiaoniu
|
2026-04-07 14:12:48 +08:00 |
|
liuwei
|
daf5170008
|
tune xiaoniu mention reply behavior
|
2026-04-07 14:09:31 +08:00 |
|
liuwei
|
acf3177571
|
use latest group image for xiaoniu image followups
|
2026-04-07 14:00:08 +08:00 |
|
liuwei
|
7c12738967
|
add multimodal quote handling for xiaoniu bot
|
2026-04-07 13:51:15 +08:00 |
|
liuwei
|
61edbbe987
|
fix: simplify emoji message display in dashboard
|
2026-04-07 13:29:35 +08:00 |
|
liuwei
|
389e4db37e
|
fix: improve dashboard action button visibility
|
2026-04-07 13:18:08 +08:00 |
|
liuwei
|
7cdda82e39
|
feat: add dashboard restart action and improve text button contrast
|
2026-04-07 13:14:13 +08:00 |
|
liuwei
|
4423f64272
|
feat: improve friend circle like state handling
|
2026-04-07 13:08:12 +08:00 |
|
liuwei
|
dd8c5b1829
|
feat: improve friend circle media and detail rendering
|
2026-04-07 13:04:19 +08:00 |
|
liuwei
|
2938a6b056
|
fix: normalize dashboard nav path matching
|
2026-04-07 12:56:48 +08:00 |
|
liuwei
|
684a22b3a6
|
fix: repair friend circle dashboard template
|
2026-04-07 12:55:34 +08:00 |
|