This release promotes the sealed v1.0.61-beta.3 contents to stable.
Changed
-
Agent-ready command contracts — expands reviewed Help, Schema, safety,
selection, result, pagination, and recovery guidance across the CLI, and
moves static MCP authoring and published-tool invocation onto explicit
dws dev mcpanddws mcp publishedcommand surfaces. -
Collaboration and event workflows — adds Chat Thread promotion,
conversation-file upload, bounded message pagination, safer quoted replies,
DingTalk task lifecycle events, and VoIP invite event consumption. -
Document and data operations — broadens Sheet batch and CSV controls,
strengthens AI Table routing and composite verification, hardens Drive and
Wiki shortcuts, and adds safer delegated authorization plus URL-only,
optional-output, overwrite-protected, and concurrent-writer-safe downloads. -
Organization and automation commands — adds contact label and custom
field management, tightens attendance date handling and DingTalk task
workflows, and improves login, Windows Skill installation, and executable
doctor recovery guidance. -
Runtime and connector reliability — preserves compatible document,
Markdown, chat, and shortcut result shapes while improving DING, Whiteboard,
Qoder Stream, and cross-product verification and failure evidence.
Changes since v1.0.61-beta.3
Added
-
Chat conversation-file upload — adds
chat conversation-file uploadfor local files, returning reusabledentryIdandspaceIdwithout sending a chat message while leaving the retiredchat file uploadpath unchanged. -
Chat message list page-all —
dws chat message listnow accepts--page-allto iterate the time-boundary pagination automatically and return one mergedmessagesarray (withpagesFetched,stopReason,nextPage, and per-page failure diagnostics).--page-limit(default 50),--max-items, and--page-delaytune the sweep; without--page-allthe command keeps its exact single-page behavior. -
Delegation auth capability options — when
--principal-user-idis set, the per-toolcheck_capabilityverification now carries a tool-specificoptionspayload so the server can authorize the exact operation.createsends the create action parameters (name/type/target folder or workspace),upload/get_file_upload_infosend the upload action parameters (file name and size),import/create_import_sessionsend the target node together with file name, suffix, and size,copy/movesend the resolved source node, permission management sends the target members, anddrive publish(set_file_publish) sends the share-scope target (shareScopeSetParam) so making a file internet-public (WEB) is pre-checked. Tools without a mapping continue to check without anoptionskey. -
Permission target members mapping — permission-management delegation checks normalize both the new structured member format and the legacy
--userslist. Legacy user ids are converted into the structured target-member shape using the current logged-in enterprise corpId (resolved through the$corpIdruntime default), keeping old and new invocations equivalent. -
Import and upload dry-run delegation parity —
doc importanddoc uploadnow run the delegation pre-check on their dry-run previews, matching the execution path. A dry-run combined with--principal-user-idis verified against the command's real first delegated call (create_import_session/get_file_upload_info) before any preview is rendered, and a denied principal blocks the preview. -
Import target folder node resolution —
extractNodeIdnow recognizestargetFolderId(the keydoc import --folderuses to carry its destination), so folder-targeted imports resolve a node id and are gated correctly.copy/moveremain unaffected because an explicitnodeIdstill takes precedence over the folder keys. -
Drive download URL-only mode —
dws drive downloadanddws drive download-versionaccept--url-only, a non-downloading mode that returns the temporary signed download URL and required request headers (downloadUrl/headers, plus optionalfileName/fileSize/version) without writing any file locally; the caller (Agent runtime / external system) performs the download itself. Signed URLs keep literal&separators in JSON output so they are copy-paste usable.--url-onlyis mutually exclusive with--output/--overwrite/--part-size/--parallel/--no-resume(explicit combinations fail fast) and stays effective through thedownload --version Ncompatibility routing.
Changed
-
Drive download optional output —
dws drive downloadanddws drive download-versionno longer require--output: when omitted, files are saved to the current directory with the filename inferred from the responsefileName(falling back to the download URL); explicit--outputbehavior (file path or directory) is unchanged. -
Drive download overwrite guard —
dws drive downloadanddws drive download-versionnow reject downloads when the target file already exists, returning a structuredINPUT_FILE_ALREADY_EXISTSerror with recovery guidance; pass--overwriteto proceed. Re-running the same download used to silently overwrite the existing file. The guard is enforced both before the transfer starts and atomically at publish time (no-replace link), so a file that appears during a long download is never silently overwritten. Resume artifacts (.dwspart/.dwspart.meta) are not treated as conflicts.
Fixed
-
AI Table composite verification — accepts the service's real
newRecordIds, view-filter, and workflow-detail response shapes, and retries only idempotent table-copy read-backs so delayed visibility no longer reports a false partial success. -
Workflow deployment status reporting — replaces
resolved.enablewithresolved.enableRequested;verification.runningnow reports the workflow's observed remote state instead of mirroring whether--enablewas requested. -
Chat message reply (#1210) — allows personal and bot quoted replies in ordinary groups when conversation metadata omits
convThreadEnabled, using the matching group searchchannel=falseas positive evidence while continuing to block topic-circle targets. -
DING failure handling and resource identity — stop when robot credentials are missing or the selected robot is invalid, and preserve source message IDs separately from DING IDs. Recall accepts opaque server-returned DING IDs without guessing resource type from their prefixes; callers check identity provenance in the receipt.
-
Whiteboard verification and recovery — validate connector payloads locally, normalize numeric coordinate comparisons, return compact successful update receipts, and preserve committed-write evidence on readback failure without recommending duplicate append operations.
-
DING and Whiteboard guidance — align mono/multi references, clarify product ownership, and reduce redundant discovery and readback without dropping business information.
-
Drive download concurrent-writer safety —
dws drive downloadanddws drive download-versionno longer risk publishing corrupted mixed content when two processes download to the same target concurrently. Streamed (non-ranged) downloads now write to a uniquely created temp file in the target directory instead of the shared<target>.dwspart, so concurrent writers can no longer truncate each other. Ranged/resume downloads keep the fixed.dwspartpath (required for checkpoint reuse) and take a cross-process lock (<target>.dwspart.lock): a second concurrent writer fails fast with holder diagnostics (pid/host/start time) instead of interleaving writes; the atomic no-replace publish still guards the final target either way. -
Drive shortcut verification — adds bounded automatic pagination for list, search, and recent results, preserves existing data fields alongside unified pagination metadata, identifies pagination failures by their actual operation, rejects metadata-only statistics, and preserves committed resource evidence when create or upload read-back names differ.
-
Qoder Stream replies (#1217) — sends Qoder CLI user messages as typed text-content blocks and surfaces
errors[]from failed stream results, preventing successful DingTalk delivery from degrading into “本地 agent 无文本输出”. -
Drive and Wiki shortcut verification — supports workspace-targeted file uploads and strengthens space-type, pagination, node create/copy/move, and imported-name evidence.
-
Workspace uploads now include the final file name and size in the initial credential request so upload-specific authorization can reject the operation before any file bytes are transferred.