@ycodium-ai/plugin-im 0.2.3265 → 0.2.3306
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -4
- package/dist/index.js +7944 -7349
- package/locales/en.json +48 -1
- package/locales/zh-CN.json +48 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -165,18 +165,20 @@ per-message text. How depends on the platform:
|
|
|
165
165
|
|
|
166
166
|
An adapter opts in with the optional `turnCards` surface (`src/adapter.ts`).
|
|
167
167
|
Approval messages are posted for every pending request on platforms with
|
|
168
|
-
buttons and
|
|
168
|
+
buttons and settled when the request is answered, here or
|
|
169
169
|
elsewhere (`thread.request-resolved`); WeCom, which answers by number, posts only
|
|
170
170
|
the first and just stops accepting its number. Each bot's **More settings** includes
|
|
171
171
|
an approval timeout in minutes: the default is 60, and 0 turns automatic denial off
|
|
172
172
|
(integers from 0 to 1440). Unanswered approvals are denied automatically at the
|
|
173
|
-
deadline. Lark and Telegram
|
|
173
|
+
deadline. Lark and Telegram show a notice on the approval card or message
|
|
174
174
|
stating the number of minutes; platforms without editable approval cards, and
|
|
175
175
|
failed card updates, send the same notice as chat text. The timeout continues from
|
|
176
176
|
the approval's creation time after a restart, including immediately denying
|
|
177
177
|
overdue requests. Changing the setting recalculates pending deadlines immediately;
|
|
178
178
|
setting it to 0 cancels them. Questions have no timeout.
|
|
179
179
|
|
|
180
|
+
Once a request has been answered or has timed out, Lark cards and Telegram messages show the result first, followed by the original approval content; timeout notices sent as chat text include a short excerpt of that content.
|
|
181
|
+
|
|
180
182
|
On a platform whose `turnCards` set
|
|
181
183
|
`rotatesOnInteraction` (Lark: patching a card does not move it), an approval or
|
|
182
184
|
question that someone answered seals the open reply card as "continues below" and the
|
|
@@ -195,7 +197,9 @@ optional `choiceCards` surface (`ImChoiceCard`, `src/adapter.ts`): Lark patches
|
|
|
195
197
|
card, Telegram edits a message and its inline keyboard. A request is posted on
|
|
196
198
|
`thread.user-input-pending` (read with `listPendingUserInputs`), one card per
|
|
197
199
|
question, and answered through `ctx.threads.userInput.respond` once every question
|
|
198
|
-
has an answer; a free-form answer is the next ordinary message in the chat
|
|
200
|
+
has an answer; a free-form answer is the next ordinary message in the chat (its
|
|
201
|
+
attachments, and any waiting ones, go along in `attachmentsByQuestionId`; an
|
|
202
|
+
option-only question leaves them waiting for the next message), and
|
|
199
203
|
`thread.request-resolved` freezes the cards of a question answered elsewhere or
|
|
200
204
|
closed unanswered. WeCom writes the options as numbers and the
|
|
201
205
|
reply is parsed in `src/questionCards.ts`. A message that lands behind a running
|
|
@@ -272,7 +276,7 @@ is sent to the chat. `chat_type` (1 single, 2 group) comes from the last inbound
|
|
|
272
276
|
conversation and is left out when none has arrived since the plugin started, as plain text does.
|
|
273
277
|
A picture goes as `image` only when it is PNG, JPEG or GIF within 10 MB (`imageMimeTypes`).
|
|
274
278
|
|
|
275
|
-
Chat commands: `/stop`, `/continue`, `/compact`, `/status`, `/version`, `/new`, `/sessions`, `/archived`, `/resume`, `/history [count]`, `/model`,
|
|
279
|
+
Chat commands: `/stop`, `/steer <instruction>`, `/batch`, `/send`, `/cancel`, `/continue`, `/compact`, `/status`, `/version`, `/new`, `/sessions`, `/archived`, `/resume`, `/history [count]`, `/model`,
|
|
276
280
|
`/reasoning`, `/permission`, `/plan`, `/repo`, `/group`, `/team`, `/thread`, `/help`, `/panel`. In a chat with no project
|
|
277
281
|
`/sessions`, `/resume` and the team commands answer with the project picker. `/version` and `/archived` still answer. `/sessions` and `/resume` only list and
|
|
278
282
|
switch threads this plugin opened, since the host lets a plugin send only into
|
|
@@ -280,6 +284,10 @@ its own threads. `/continue` calls `threads.turnQueue.resume` for the chat's thr
|
|
|
280
284
|
when its queue is paused (a `/stop` or a failure pauses it), which is how WeCom
|
|
281
285
|
resumes a paused queue from the chat; it is not `/resume`, which already switches threads.
|
|
282
286
|
|
|
287
|
+
`/steer <instruction>` adds text to the turn running in this chat, regardless of the bot's queue mode. It preserves multiple lines and rejects images and files. While the host waits for an answer or approval it is refused and not kept; the user handles that first or sends `/stop`, then sends it again. The waiting check reads the host execution view, not the plugin interaction records. With no bound session or running turn, it replies without starting work. If the turn ends just as the host accepts the instruction, it waits as the next message. Files sent on their own before it are not attached; they stay for the next ordinary message. Type it; panels and native command menus do not list it. There is no Chinese alias.
|
|
288
|
+
|
|
289
|
+
`/batch` collects up to 10 text messages in a private chat without replying or starting a turn. `/send` submits them together as one input; a failed submission keeps them for retry. `/cancel` discards them. Repeating `/batch` reports progress, and a full batch never submits automatically. Attachments are refused without counting them; other slash commands are blocked until `/send` or `/cancel`. Starting a batch is refused in a group, before a project is picked, while the chat targets a team, or while the host reports a running turn or pending answer or approval. If the project has been archived or deleted when `/send` is sent, nothing is submitted and the batch is kept. After unarchiving, `/send` works again; to switch projects (the only way on for a deleted one), `/cancel` (discarding it), then `/repo` and start again with `/batch` (other commands stay blocked while collecting). These commands take no arguments, have no Chinese aliases, and appear in `/help` but not panels or native menus. Batches live only in memory: restarting Ycodium clears a collecting batch, and its messages must be resent. See [Batch input](../../docs/user/im-bots.md#batch-input).
|
|
290
|
+
|
|
283
291
|
`/history [count]` previews the current session's recent user and assistant messages in private chats only (default 3, maximum 5), oldest first. It does not start a turn or change the session. Images and files appear as placeholders; long text is split for the platform, with a notice when the preview text is incomplete. Type the command in the chat; panels and native command menus do not list it. With the reply language set to Chinese, `会话历史 [数量]` works too.
|
|
284
292
|
|
|
285
293
|
`/version` answers with one line, the plugin name and its version. It takes no arguments; if anything follows it, the reply is a usage reminder. It works in private chats and groups, does not read the session, and does not start a turn. Type it; panels and native command menus do not list it. There is no Chinese alias.
|