19 Commits

Author SHA1 Message Date
hmo d406068c89 fix(easytier): add --no-listener flag to prevent port conflicts
Without --no-listener, EasyTier opens a listener on the TUN/TAP interface which can conflict with other EasyTier instances on the same network.

Ultraworked with Sisyphus

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-06-25 01:24:47 +08:00
zhiwei 1417552990 fix: group chat detection + article URL handling (Xiaohongshu/WeChat/zhihu)
- 群聊检测: 通过 protocol 的 group_id 字段识别群消息
- 引用消息: 处理 ref_msg 中的转发文章/引用内容
- 文章URL: 支持 mp.weixin.qq.com / xiaohongshu.com / xhslink.com / zhihu.com
- CDN图片: 占位函数,后续实现 AES 解密下载
- 图片OCR: 统一失败处理,不再发送两条消息
2026-06-23 20:48:57 +08:00
hmo 4cf125231e docs: merge EasyTier into AgentsMeeting + cleanup hosts approach 2026-06-23 03:53:04 +08:00
hmo 5a5cc1b45d feat: kanban session routing for xxm + xiaoguo 2026-06-22 11:39:27 +08:00
hmo 08f04e773b fix(xxm): use send_message instead of send_raw for proper UTF-8 encoding 2026-06-21 16:23:28 +08:00
hmo 5d35d97f0a merge: resolve conflict in xmpp_agent_core.py (keep unified version) 2026-06-21 16:17:21 +08:00
hmo babbc46801 refactor(xxm): consolidate 4 bot implementations into unified xmpp_agent_core.py
- Merge bot_base.py, gateway/scripts/xmpp_bot.py, bots/*, xmpp_bot_rest.py
  into single xmpp_agent_core.py with --agent flag (xxm|mohe|zhiwei|xiaoguo)
- Add xxm_bot.py wrapper (encoding=utf-8 for Windows exec)
- Fix slixmpp connect() API: use host=/port= keyword args (was tuple)
- Clean up orphans: bots/, scripts/, hermes_state.py, xmpp_bot.py, xmpp_bot_rest.py
- Add docs/CLEANUP_PLAN.md documenting the migration
- Update README.md project structure
- Also: fix WeChat agent path resolution (relative paths)
2026-06-21 16:13:57 +08:00
mohe aa7b67fc2b readonly: discard LLM response, never send; default=readonly for non-coordinator 2026-06-21 10:40:47 +08:00
mohe f1590e08d1 revert bare-name match, keep only @ mention 2026-06-20 20:21:21 +08:00
mohe 9a45f155a8 match nick without @ (XMPP strips @ symbol) 2026-06-20 20:18:47 +08:00
mohe be8699ae4c lead= switch, @mention auto-grant 2026-06-20 20:16:09 +08:00
mohe efc4cd1a9e coordinator prompt: first job is to moderate, not to speak 2026-06-20 19:57:03 +08:00
mohe ad3e0f004b coordinator: default all can speak, REVOKE=read-only 5min, GRANT overrides 2026-06-20 19:54:37 +08:00
mohe aabec04d8a non-speaking bots still see messages for context (read-only LLM injection) 2026-06-20 19:07:50 +08:00
mohe 90429116c7 coordinator: use XMPP in-band signaling instead of shared DB (cross-machine compatible) 2026-06-20 19:02:04 +08:00
mohe 457ad27044 implement coordinator pattern: GRANT-based turn control, code-level speak permission 2026-06-20 18:53:44 +08:00
mohe 947bb1e6d0 intercept __SILENT__/__REPLY__ misuse in LLM response body 2026-06-20 01:48:37 +08:00
mohe 5051b0bfd7 add silent phrase interception: block LLM announcing silence instead of being silent 2026-06-20 01:41:42 +08:00
mohe 2d0f390657 unify xmpp bots: single xmpp_agent_core.py + --agent param wrappers 2026-06-20 01:05:12 +08:00