Let Feishu group Agents listen without noisy replies - #996
Draft
Y1fe1Zh0u wants to merge 1 commit into
Draft
Conversation
Feishu group bots can now accept ordinary user messages, freeze each input on a stable external-group lane, retain provider sender identity, and suppress exact NO_REPLY completions before creating an external outbox. Current-conversation replies stay bound to the originating Session, while explicit cross-Session sends require an execution-time confirmation flag. Constraint: Existing Feishu apps require manual im:message.group_msg approval and publication. Rejected: Let models choose a reply group through send_channel_message | directory guesses can send to the wrong Session. Confidence: high Scope-risk: moderate Directive: Keep ordinary replies on the Run delivery target; cross-Session channel sends must remain explicit and validated. Tested: Backend focused pytest suites (113, 90, 66, and 61 passed); scoped Ruff on modified focused files; frontend npm run build; scripts/arch-guard.sh; live 3010 Feishu ordinary-message, NO_REPLY, origin-Session delivery, and calendar E2E. Not-tested: Multi-worker load and high-volume long-running compaction under production traffic.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
NO_REPLYcompletions before creating a Feishu outbox.send_channel_messagecalls are rejected.im:message.group_msgto the Basic and Full permission JSON templates.Why
The prior integration only received group @ events. After enabling full group-message permission, every message would have produced a visible reply, external group Runs lacked a complete scheduling/cutoff contract, and the model could guess a different group through
send_channel_messageinstead of relying on the Runtime-bound origin target.Impact
Feishu bots can passively observe group conversations, answer direct requests, remain silent when irrelevant, preserve bounded group context, and reliably return normal replies to the originating group. Existing Feishu applications still require manual permission approval and version publication for
im:message.group_msg.Validation
npm run buildpassed.scripts/arch-guard.shpassed with existing baseline warnings.NO_REPLYsuppression, origin-Session delivery, cross-Session guard, and calendar creation/delivery.Deployment note
The feature is already narrowly deployed and live-validated on 3010. The repository working tree retains unrelated user-owned documentation changes that are not included in this PR.