Commit graph

124 commits

Author SHA1 Message Date
bitxeno
60e00bbca9 feat(telegram): register command menu and menu button on bot start
Add setMyCommands and setChatMenuButton to the Telegram Bot API client
and register a 12-command menu with a commands-type menu button when a
bot runtime connects. Menu setup failures are logged as warnings and do
not block startup.

Co-authored-by: xmanrui <841206367@qq.com>
2026-08-21 22:11:04 +08:00
xmanrui
7fbb459e00 release: prepare dsh-im 0.17.1 2026-08-21 19:09:07 +08:00
xmanrui
5e5c7e46c5 fix(channels): clarify unsupported image model errors 2026-08-21 19:07:18 +08:00
xmanrui
c3b3a29f27 release: prepare dsh-im 0.17.0 2026-08-21 16:57:10 +08:00
xiemanR
6cafba863e
Merge pull request #24 from NIU-001-LIU/feat/feishu-watch-push
feat(feishu): persistent session watches and completion pushes
2026-08-21 16:35:00 +08:00
xmanrui
a199c65356 fix(feishu): make watch completion delivery reliable 2026-08-21 16:29:45 +08:00
liuwenbo00
4e325c62e0 feat(feishu): session-list rows as V2 column pairs (fixed star toggle + session button)
Each session row is a column_set with a fixed 90px watch-toggle column
(⭐关注/⭐取关 for already-watched sessions) and a weighted session button
carrying the number label; number replies bind the session. Replaces the
stacked button pair; also honors the per-bot archived-session policy.
2026-08-21 16:04:22 +08:00
liuwenbo00
1790ec21ac feat(feishu): watchlist entry in the menu card 2026-08-21 16:04:00 +08:00
liuwenbo00
10fd429852 feat(feishu): hide archived sessions by default (/archived on to reveal) 2026-08-21 16:02:32 +08:00
liuwenbo00
961dd5503d feat(feishu): /archived on|off toggle for archived sessions in lists
The session list (and the numeric /watch index) honors a per-bot persisted
policy: /archived off hides archived sessions from cards and index
resolution, /archived on restores them. Defaults to on.
2026-08-21 16:02:14 +08:00
liuwenbo00
5055ffe6c8 feat(feishu): watch button on session-list cards, archived badge 2026-08-21 16:01:55 +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
xmanrui
0579c24b13 release: prepare dsh-im 0.16.0 2026-08-21 13:45:56 +08:00
xmanrui
c1a3b0cf97 fix(feishu): add one-click card callback repair 2026-08-21 13:43:02 +08:00
xmanrui
0e62c69382 fix(feishu): make interactive card menus reliable 2026-08-21 11:27:33 +08:00
xmanrui
60a364118e Merge pull request #23 from NIU-001-LIU/feat/feishu-card-menus 2026-08-21 11:19:17 +08:00
xmanrui
1a8bc2af69 release: prepare dsh-im 0.15.0 2026-08-21 10:32:22 +08:00
xmanrui
77dea74326 fix(weixin): classify activation failures 2026-08-21 10:30:43 +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
832bd539a2 feat(office): mark connector as experimental 2026-08-21 04:23:51 +08:00
xmanrui
f12315e30d release: prepare dsh-im 0.14.0 2026-08-21 04:08:23 +08:00
xmanrui
605ea44c5f fix(office): use a neutral base URL example 2026-08-21 03:57:59 +08:00
xmanrui
68bb948c01 fix(telegram): refine access mode controls 2026-08-21 01:57:12 +08:00
xmanrui
24e690498b fix: preserve Telegram compatibility and stabilize Office 2026-08-21 01:37:21 +08:00
xiemanR
7f114e1c36
Merge pull request #20 from mrpompy/local/telegram-private-allowlist
feat: connect AI Office jobs to local Harness
2026-08-21 01:12:18 +08:00
xmanrui
e85dfa6a79 refactor: simplify plugin branding 2026-08-20 17:37:44 +08:00
xmanrui
4c5d9722e8 feat: update plugin branding 2026-08-20 17:18:23 +08:00
xmanrui
37e0668b0e docs: reduce README logo size 2026-08-20 17:00:49 +08:00
xmanrui
7dc994f259 feat: refresh README branding 2026-08-20 16:58:02 +08:00
pompy
3fa2cc05b2 feat: execute AI Office jobs in Harness 2026-08-20 12:22:30 +08:00
pompy
b0606159e0 feat: secure Telegram access and connect AI Office 2026-08-20 11:58:27 +08:00
xmanrui
e3ae772106 release: prepare dsh-im 0.13.0 2026-08-20 03:16:26 +08:00
xmanrui
8121557460 feat: support numbered model selection 2026-08-20 03:11:20 +08:00
xmanrui
12112b0881 docs: update product slogan 2026-08-20 03:04:37 +08:00
xmanrui
dc37e3c78a docs: highlight multi-bot channel support 2026-08-20 02:21:07 +08:00
xmanrui
a210acef6f docs: streamline channel setup guide 2026-08-20 02:13:48 +08:00
xmanrui
56229869bf docs: document bot interactions and features 2026-08-20 01:59:56 +08:00
xmanrui
df5923ff39 test: reject bundled DSH runtime packages 2026-08-20 01:59:00 +08:00
xmanrui
926a98a608 release: prepare dsh-im 0.12.0 2026-08-20 01:32:35 +08:00
xmanrui
99ce38e9a4 feat: add model and turn control commands 2026-08-20 01:28:51 +08:00
xmanrui
fc8f120e13 docs: fix plugin install command for pnpm workspace 2026-08-19 22:20:30 +08:00
xmanrui
443d3b4799 docs: use dynamic dshfind badge 2026-08-19 15:54:47 +08:00
xmanrui
5e960b14b4 docs: link dshfind badges 2026-08-19 15:51:43 +08:00
xmanrui
b076f02c03 docs: localize channel badges 2026-08-19 15:33:04 +08:00
xmanrui
a6a2ed8ae3 docs: add project and channel badges 2026-08-19 15:27:21 +08:00
xmanrui
8aa2e45597 chore: improve package metadata 2026-08-19 14:47:50 +08:00
xmanrui
7a7bc6f245 docs: prefer npm installation 2026-08-19 14:41:55 +08:00
xmanrui
ffdf92ead6 release: prepare dsh-im 0.11.0 2026-08-19 12:43:37 +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