Repository navigation
本版本将已交付的 v1.0.63-beta.3 晋级正式版,汇总本版本线三个 beta 的变化,并纳入下方列出的 beta 后变更。
Added
- 数字员工 — 新增管理、能力资源、运行追踪、员工身份登录与本地 Agent/DSH 接入;支持草稿、发布、Skill ZIP 上传与员工域 MCP 配置,使用
agentUuid/userId身份契约。草稿配置与发布分别执行,事件连接状态区分 IPC、Agent 初始化和实际传输就绪。 - 通讯录与邮箱查人 — 支持通过 dingtalkId 查询 userId,通过企业邮箱单个或批量查询员工;批量查询分别保留已成功、未找到、失败与未知结果,避免把未确认结果报告为未找到。
- 考勤审批与鉴权快照 — 增加审批时长计算、出差/外出配套日程校验及复杂加班设置查询;
auth status --readonly提供不联网、不刷新、不写凭据的本地状态快照。 - 等待能力 — 框架增加声明式轮询、事件与自动回退等待;声明支持的命令提供
--wait/--wait-timeout,超时保留pending与最后观察状态,事件与轮询共用截止时间。 - 白板与 AI 表格恢复 — 增加白板 SVG 预览、差异确认、个人/团队及模板中心模板;AI 表格提供只读写入结果查询及保留原 clientToken 的不确定写入恢复路径。
Changed
- Schema 与启动性能 — 每次执行保持完整 Cobra 命令树,减少元数据和初始化分配;支持平台在安装或首次使用时从本机声明生成身份及经过认证的持久缓存。缓存缺失或损坏时修复,运行时插件场景由隔离子进程完成缓存构建与修复。
- 消息读取与国际登录 — 智能消息读取在策略允许时解密第三方加密消息,保留逐项解密台账;MCP 与输出投影保留大整数精度。国际登录默认使用英文,国内登录沿用现有语言设置。
- 数字员工参数与文档 — 主程序类型统一使用
--type,可见范围使用--user-ids,保留历史参数兼容;支持可选创建提示词、发布本地员工前按需初始化提示词,以及草稿文本的空值校验。更新 OA TableField 二维数组示例、Devapp/Devdoc 流程及文档列表路由。 - 参数错误 — 框架统一参数校验的错误分类与退出码,保留业务错误及取消/超时的原有语义。
- AI 搜问证据 — 丰富搜索结果的证据与解析详情,使用说明要求先核对证据再给出结论或交接后续操作。
Fixed
- 跨平台发布 — 修复 Windows SafeChat CGO 运行库崩溃,以及 Darwin amd64 产物被 dyld 拒绝启动的问题;Darwin 构建固定 macOS 11.0 最低目标,签名资产验收检查
SG_READ_ONLY并实际启动可执行的 Darwin 产物。 - AI 表格回执与分页 — 表单分享按返回身份、显式请求字段和 CP 同步状态验证结果;未完整确认时保留部分失败证据。未知写入不重放创建;失效游标丢弃旧快照结果,复合流程停止后续写入。配套恢复接口仍依赖对应 MCP 服务与网关部署。
- 登录恢复 — 缺失 DEK 或旧密文不匹配时允许重新登录,取得新凭据后才替换目标;登录中的临时身份查询立即使用本次 MCP 端点覆盖,保留刷新及暂时 Keychain 故障的保护。
- 消息与事件 — 修复单聊引用回复的误拒绝,保留 OA 审批事件业务字段;个人 Stream 正确响应系统控制帧,数字员工连接沿用事件来源默认规则,改进重连及 Windows 正常停止判断。
- 文件与凭据边界 — 数字员工 Skill ZIP 使用同一已打开句柄完成校验与上传,防止路径替换;补充失败清理、绑定回执和日志脱敏验证。
Removed
- 旧合同审查入口 — 隐藏历史
contract review benefit|create|analysis|result命令并标记不可用;保留历史参数入口,但以command_retired拒绝执行,不再调用旧 MCP。
Changes since v1.0.63-beta.3
Added
-
Add
dws aicard explain <name>,lint, andpreview. The embedded DingTalk A2UI protocol supports native offline lookup and structural validation without Python. Preview validates a complete new-card file and sends it to the current user's direct chat; dry-run does not send. Include the DWS authoring Skill and report request acceptance separately from client-rendering evidence. -
Drive & Wiki set-share-scope — add
dws drive permission set-share-scopeanddws wiki permission set-share-scopefor managing node-level and workspace-level share visibility (PRIVATE / ORGANIZATION / PUBLIC) with partial-update semantics, role control, partner inclusion, organization search/recommend toggles, password protection and expiration (drive node only). -
OA 审批模板创建与更新命令 — 新增
dws oa approval template create(oa/create_process_template)与dws oa approval template update(oa/update_process_template),均为企业钉钉管理员能力。两者支持逐项参数模式(create必填--name、--schema-content;update必填--process-code、--name、--schema-content、--process-config),也支持--from-document传入完整 JSON 文档的绝对路径整体配置,两种模式互斥;--schema-content、--process-config等对象参数以 JSON 字符串发送给 MCP,--plugin-configs、--visible-range、--manager-user-ids以数组发送,均支持直接 JSON、@文件与-标准输入。CLI 侧做本地校验:schemaContent控件props.id唯一性检查(递归进children嵌套控件)与processConfig结构校验,并解析 MCP 返回的810001(同名模板冲突)/810002(模板数量超限)拒绝码为失败输出而非静默重试;--dry-run仅做本地校验并展示请求参数(executed=false),成功统一由data.processCode返回模板编码。构造processConfig时若未显式指定审批人类型,审批节点默认使用部门主管(target_management)而非直属主管。Skill 文档:新增oa-template-write.md(从oa.md拆分模板写入路由,渐进披露)与连接器审批人规则target_connect_approval.md,并补充 50+ 个控件 schema、流程节点、选人规则子文档;oa.md增加模板管理路由条目、process-nodes.md增加连接器审批人条目、SKILL.md引用oa-template-write.md。验证状态:变更代码含完整单测(含schema_oa_template_contract_test.goSchema 契约测试)与mono-multi-coverage.yaml的oa-template-write注册;模板名称是否可用、数量是否超限由创建 MCP 校验,dry-run 不能证明名称可用,建议创建/更新后再用template detail核对实际状态。 -
AI 表格访问密钥 — 新增 SQL Sheet API Key 的创建、查询和撤销命令,以及对应的 Agent 使用说明;完整凭据仅创建时返回,创建结果未知时先查询状态。
Changed
- Git hooks 改为通过
make setup-hooks显式启用,提交前仅检查暂存区格式与空白,不修改工作区。 - 发布辅助脚本在退出时可靠清理临时目录和锁,并为下载增加有界重试、超时和阶段诊断。
Fixed
-
固定 AI 卡片协议 JSON 的 Git 检出换行为 LF,修复 Windows 自动转换 CRLF 后协议哈希校验失败、卡片查询和校验命令无法使用的问题。
-
修复 Windows 鉴权文件替换遇到短暂文件占用时的失败,保留旧文件并对受限错误执行有界重试。
-
修复 Linux Skill 安装期间的目录身份校验,固定目录句柄并在结束后释放。
-
修复产品命令根名称与产品 ID 不一致时的 Schema 缓存定位。
-
AI 听记整包导出支持服务端明确成功的空摘要,仍保留分析等待器的严格判断。
-
钉钉招聘创建职位时正确处理校园招聘默认值,并保留 Connector 返回的业务错误信息。
Security
- Password argv sanitization — add
--passwordto the timing/perf report sensitive-flag allowlist soSanitizeCommandredacts it in both--password <value>and--password=<value>forms. This also fixes a pre-existing plaintext leak wheredws drive publish set --password …wrote the raw secret into theDWS_PERF_REPORTargv record. Thedrive permission set-share-scope --dry-runpreview now masks the password value as***while still emittingrequirePassword; real calls keep sending the correct secret and no business RPC is issued during preview.