




















@@ -11,7 +11,10 @@ import {
1111createChannelReplyPipeline,
1212resolveChannelSourceReplyDeliveryMode,
1313} from "openclaw/plugin-sdk/channel-reply-pipeline";
14-import { resolveChannelStreamingBlockEnabled } from "openclaw/plugin-sdk/channel-streaming";
14+import {
15+formatChannelProgressDraftLine,
16+resolveChannelStreamingBlockEnabled,
17+} from "openclaw/plugin-sdk/channel-streaming";
1518import { recordInboundSession } from "openclaw/plugin-sdk/conversation-runtime";
1619import {
1720hasFinalInboundReplyDispatch,
@@ -665,47 +668,89 @@ export async function processDiscordMessage(
665668await maybeBindStatusReactionsToToolReaction(payload);
666669await statusReactions.setTool(payload.name);
667670await draftPreview.pushToolProgress(
668-payload.name ? `tool: ${payload.name}` : "tool running",
671+formatChannelProgressDraftLine({
672+event: "tool",
673+name: payload.name,
674+phase: payload.phase,
675+args: payload.args,
676+}),
669677{ toolName: payload.name },
670678);
671679},
672680onItemEvent: async (payload) => {
673681await draftPreview.pushToolProgress(
674-payload.progressText ?? payload.summary ?? payload.title ?? payload.name,
682+formatChannelProgressDraftLine({
683+event: "item",
684+itemKind: payload.kind,
685+title: payload.title,
686+name: payload.name,
687+phase: payload.phase,
688+status: payload.status,
689+summary: payload.summary,
690+progressText: payload.progressText,
691+meta: payload.meta,
692+}),
675693);
676694},
677695onPlanUpdate: async (payload) => {
678696if (payload.phase !== "update") {
679697return;
680698}
681699await draftPreview.pushToolProgress(
682-payload.explanation ?? payload.steps?.[0] ?? "planning",
700+formatChannelProgressDraftLine({
701+event: "plan",
702+phase: payload.phase,
703+title: payload.title,
704+explanation: payload.explanation,
705+steps: payload.steps,
706+}),
683707);
684708},
685709onApprovalEvent: async (payload) => {
686710if (payload.phase !== "requested") {
687711return;
688712}
689713await draftPreview.pushToolProgress(
690-payload.command ? `approval: ${payload.command}` : "approval requested",
714+formatChannelProgressDraftLine({
715+event: "approval",
716+phase: payload.phase,
717+title: payload.title,
718+command: payload.command,
719+reason: payload.reason,
720+message: payload.message,
721+}),
691722);
692723},
693724onCommandOutput: async (payload) => {
694725if (payload.phase !== "end") {
695726return;
696727}
697728await draftPreview.pushToolProgress(
698-payload.name
699- ? `${payload.name}${payload.exitCode === 0 ? " ✓" : payload.exitCode != null ? ` (exit ${payload.exitCode})` : ""}`
700- : payload.title,
729+formatChannelProgressDraftLine({
730+event: "command-output",
731+phase: payload.phase,
732+title: payload.title,
733+name: payload.name,
734+status: payload.status,
735+exitCode: payload.exitCode,
736+}),
701737);
702738},
703739onPatchSummary: async (payload) => {
704740if (payload.phase !== "end") {
705741return;
706742}
707743await draftPreview.pushToolProgress(
708-payload.summary ?? payload.title ?? "patch applied",
744+formatChannelProgressDraftLine({
745+event: "patch",
746+phase: payload.phase,
747+title: payload.title,
748+name: payload.name,
749+added: payload.added,
750+modified: payload.modified,
751+deleted: payload.deleted,
752+summary: payload.summary,
753+}),
709754);
710755},
711756onCompactionStart: async () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。