Commit graph

31 commits

Author SHA1 Message Date
xmanrui
dc10cb22c8 fix(weixin): distinguish loopback Harness denial 2026-08-22 22:59:24 +08:00
xmanrui
83ee0d63a7 fix(weixin): refine Harness access errors 2026-08-22 18:56:49 +08:00
xmanrui
eb21b14f60 fix(weixin): classify Harness health failures 2026-08-22 04:21:00 +08:00
xmanrui
eea29fe296 feat: add agent preset chat commands 2026-08-22 04:04:44 +08:00
xmanrui
01576f65c6 fix: complete per-bot agent preset lifecycle 2026-08-22 00:20:23 +08:00
iamyaojie
a1bdf2c1f8 Merge remote-tracking branch 'upstream/main' into feat/per-bot-agent-preset
Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	lib/index.js
2026-08-21 22:34:11 +08:00
iamyaojie
3161816cc4 feat: 按机器人选择 Agent Preset
在九个渠道的设置页卡片上选择 Host 已有预设;未选则跟随默认,只影响之后新建的会话。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 19:19:45 +08:00
xmanrui
5e5c7e46c5 fix(channels): clarify unsupported image model errors 2026-08-21 19:07:18 +08:00
xmanrui
a199c65356 fix(feishu): make watch completion delivery reliable 2026-08-21 16:29:45 +08:00
liuwenbo00
beb269dc0e feat(feishu): persistent session watches and completion pushes
- /watch resolves the target READ-ONLY: sessions are validated against
  registered workspace listings (current or any other) without binding the
  conversation or switching workspaces. /unwatch and /watchlist round out
  the command set; the watchlist card supports button and number-reply
  unwatching.
- Watches persist in the state store (sessionId + title + chatId + lastSeq)
  and resume at runtime start: the bridge starts the global event-mux
  watcher in its constructor when the harness supports it.
- Completion pushes fire on turn/end, deduped by sessionId + turn id, with
  the seq watermark persisted per watch. After a mux reconnect the bridge
  replays each watched session's recent history (session.history) through
  the normal handler, so missed turn/end events are compensated without
  duplicates.
- Bound-session push targets are persisted (chatTargets) instead of living
  only in memory, and refresh on every accepted message.
- Watch failures map to safe user-facing messages.
2026-08-21 16:01:33 +08:00
liuwenbo00
6366404c42 feat(feishu): interactive card menus and session/workspace list cards
- /m (or /menu) opens a card menu; /sessionlist and /workspacelist render
  cards with bind/switch buttons; number replies stay usable as a fallback
  when the app does not subscribe card.action.trigger.
- card.action.trigger callbacks validate the operator's open_id against the
  allowed senders: group members outside the allowlist can never drive
  binding, workspace switches or other card actions.
- Session-list pagination uses page numbers everywhere (buttons carry
  sessions:<page>), fixing the previous double page-size scaling that
  skipped pages past 20 sessions.
- Bind/workspace failures map to safe user-facing messages instead of raw
  error details.
- Apps registered after this change subscribe card.action.trigger during
  the scan flow.
2026-08-21 10:03:23 +08:00
xmanrui
24e690498b fix: preserve Telegram compatibility and stabilize Office 2026-08-21 01:37:21 +08:00
xmanrui
8121557460 feat: support numbered model selection 2026-08-20 03:11:20 +08:00
xmanrui
99ce38e9a4 feat: add model and turn control commands 2026-08-20 01:28:51 +08:00
xmanrui
7e96c9ce55 merge: honor Harness default agent preset 2026-08-19 11:29:44 +08:00
xmanrui
3ac70a7c65 fix: remember direct recipients for connection tests 2026-08-19 11:24:50 +08:00
xmanrui
fb61c4235f feat: send test messages during bot connection checks 2026-08-19 03:52:52 +08:00
xmanrui
8a64f2bc8c fix: honor Harness default agent preset for IM sessions 2026-08-19 03:26:02 +08:00
xmanrui
65c842c045 feat: support image prompts across IM channels 2026-08-19 02:56:14 +08:00
xmanrui
1cc7a26f30 feat: support compact command across IM channels 2026-08-18 23:20:05 +08:00
xmanrui
33d1cd43a7 fix: clarify session index binding scope 2026-08-18 22:17:39 +08:00
C3H3-AI
55ed947d9a Merge remote-tracking branch 'upstream/main' 2026-08-18 19:46:22 +08:00
C3H3-AI
3bc642bb82 feat: IM session list relative time + /session N index binding
Local UX enhancements on top of upstream ce8b9e8:
- harness-client.mjs: add toEpochMs/sessionTimeMs, attach time to sessions
- workspace-command.mjs: /sessionlist relative time, /session N index binding
2026-08-18 19:46:16 +08:00
xmanrui
66bdad6299 fix: support Harness approvals across IM channels 2026-08-18 16:45:25 +08:00
xmanrui
cd8175d341 fix: support Harness interactions across IM channels 2026-08-18 14:13:10 +08:00
xmanrui
3e7e1dcdd7 fix: support Harness interactions in DingTalk and Feishu 2026-08-18 13:03:15 +08:00
xmanrui
1af8610cd5 feat: bind bot chats to existing harness sessions 2026-08-18 02:59:29 +08:00
xmanrui
28381468b3 feat: add workspace session list command 2026-08-18 01:38:18 +08:00
xmanrui
1fe6180813 feat: add workspace list command 2026-08-18 00:39:16 +08:00
xmanrui
44dd50216a feat: support per-bot workspace switching 2026-08-17 23:56:27 +08:00
xmanrui
cb74e1c4c7 Add Telegram and Discord IM channels 2026-08-16 14:47:16 +08:00