将 test/pre-mcp-discovery 分支上多位同学的能力改动整体合入 main, 服务发现端点保持生产 https://mcp.dingtalk.com,未携带分支上的预发改动。 主要内容: - 修雨域(chat / report / todo / contact / mail)对齐 wukong 基线 (#355) - DWS 内容生产能力增强 (#387)、文档导出与 OA 对齐 (#362 #388 #390) - envelope 注册 cli.Aliases 为 cobra aliases、命令结构与 JSON 解析优化 - skills 多包同步 wukong 对齐内容(attendance/calendar/minutes/oa/sheet 等) - product/oa 进一步对齐 wukong 排除项:未携带 566b4e1(test: point service discovery to pre-mcp.dingtalk.com); 以下 4 个常量保持生产:skill_command.go / auth/endpoints.go / cli/loader.go / market/registry.go。 Co-authored-by: john <32427341+wqyenjoy@users.noreply.github.com> Co-authored-by: wxianfeng <wang.fl1429@gmail.com>
6.6 KiB
6.6 KiB
doc comment(文档评论:list / create / reply / create-inline)
前置条件(MUST READ): 执行本命令前,必须先用 Read 工具读取以下文件:
../doc.md— 命令路由 + 场景索引 + 意图判断 + 工作流同任务常配合:
dws contact user search(查--mention用 userId)/doc-block.md(划词评论必须先取 blockId 与 paragraph 文本)
doc comment list(查询文档评论列表)
Usage:
dws doc comment list [flags]
Example:
dws doc comment list --node <DOC_ID>
dws doc comment list --node <DOC_ID> --type inline --resolve-status unresolved
dws doc comment list --node <DOC_ID> --limit 20 --cursor <TOKEN>
Flags:
--node string 目标文档的标识,支持传入 URL 或 ID (必填)
--limit int 每页返回的评论数量,默认 50,最大 50
--cursor string 分页游标,从上一次请求的返回结果中获取 (首次请求不传)
--type string 按评论类型过滤: global (全文评论) / inline (划词评论)
--resolve-status string 按解决状态过滤: resolved (已解决) / unresolved (未解决)
doc comment create(创建全文评论)
Usage:
dws doc comment create [flags]
Example:
dws doc comment create --node <DOC_ID> --content "这里需要修改"
dws doc comment create --node <DOC_ID> --content "请review" --mention uid1,uid2
Flags:
--node string 目标文档的标识,支持传入 URL 或 ID (必填)
--content string 评论的文字内容,纯文本 (必填)
--mention string 被 @ 的用户 uid 列表,逗号分隔
doc comment reply(回复评论)
Usage:
dws doc comment reply [flags]
Example:
dws doc comment reply --node <DOC_ID> --comment-key <COMMENT_KEY> --content "同意"
dws doc comment reply --node <DOC_ID> --comment-key <COMMENT_KEY> --content "比心" --emoji
dws doc comment reply --node <DOC_ID> --comment-key <COMMENT_KEY> --content "请确认" --mention uid1,uid2
Flags:
--node string 目标文档的标识,支持传入 URL 或 ID (必填)
--content string 回复的文字内容,表情回复时填写表情名称 (必填)
--comment-key string 被回复评论的 commentKey,格式: {13位毫秒时间戳}{32位UUID},可从 list/create 结果获取 (必填)
--emoji 设为 true 时作为表情贴图回复 (默认 false)
--mention string 被 @ 的用户 uid 列表,逗号分隔
doc comment create-inline(创建划词评论)
Usage:
dws doc comment create-inline [flags]
Example:
dws doc comment create-inline --node <DOC_ID> --block-id <BLOCK_ID> --start 0 --end 10 --content "这里需要修改"
dws doc comment create-inline --node <DOC_ID> --block-id <BLOCK_ID> --start 5 --end 20 --content "建议调整" --selected-text "被选中的原文"
dws doc comment create-inline --node <DOC_ID> --block-id <BLOCK_ID> --start 0 --end 10 --content "请review" --mention uid1,uid2
Flags:
--node string 目标文档的标识,支持传入 URL 或 ID (必填)
--block-id string 评论标记所在的块 ID,可通过 dws doc block list 获取 (必填)
--start int 评论标记在块内文本中的起始字符偏移量,从 0 开始 (必填)
--end int 评论标记在块内文本中的结束字符偏移量,必须大于 start (必填)
--content string 评论的文字内容,纯文本 (必填)
--selected-text string 选中文本的内容,填写后评论列表中会展示「引用原文:xxx」
--mention string 被 @ 的用户 uid 列表,逗号分隔
关键说明
--mention接受userId列表(逗号分隔),需要先用dws contact user search --query "<姓名>"拿到 userId。--comment-key是 13 位毫秒时间戳 + 32 位 UUID 的拼接字符串,从list/create/create-inline返回中提取。- 划词评论的
--start/--end是块内文本字符偏移量,从 0 开始;通过./doc-block.mdblock list取paragraph.text后人工或脚本计算。 reply加--emoji时--content填表情名称(如比心、赞),不是文字内容。
上下文传递
| 从返回中提取 | 用于 |
|---|---|
commentList[].commentKey |
comment reply 的 --comment-key |
comment create commentKey |
comment reply 的 --comment-key |
comment create-inline commentKey |
comment reply 的 --comment-key |
./doc-block.md block list 的 blocks[].element.id |
comment create-inline 的 --block-id |
./doc-block.md block list 的 blocks[].element.paragraph.text |
计算 create-inline 的 --start / --end 偏移量 |
dws contact user search 的 userId |
comment create/reply/create-inline 的 --mention |
常用模板
# 查看文档全部评论
dws doc comment list --node <DOC_ID> --format json
# 仅看未解决的划词评论
dws doc comment list --node <DOC_ID> --type inline --resolve-status unresolved --format json
# 创建全文评论
dws doc comment create --node <DOC_ID> --content "这里需要补充数据来源" --format json
# 创建评论 + @人(先 contact user search 拿 userId)
dws contact user search --query "张三" --format json
# 提取 userId 后:
dws doc comment create --node <DOC_ID> --content "请确认这部分" --mention <uid1>,<uid2> --format json
# 文字回复
dws doc comment reply --node <DOC_ID> --comment-key <COMMENT_KEY> --content "已修改" --format json
# 表情回复(--content 填表情名称)
dws doc comment reply --node <DOC_ID> --comment-key <COMMENT_KEY> --content "比心" --emoji --format json
# 划词评论(先 block list 取 blockId + paragraph.text,计算 start/end)
dws doc block list --node <DOC_ID> --format json
# 计算偏移后:
dws doc comment create-inline --node <DOC_ID> --block-id <BLOCK_ID> --start 0 --end 10 --content "这里需要修改" --format json
# 划词评论 + 引用原文 + @人
dws doc comment create-inline --node <DOC_ID> --block-id <BLOCK_ID> --start 5 --end 20 --content "请确认这部分" --selected-text "被选中的原文内容" --mention <uid1>,<uid2> --format json
参考
../doc.md§意图判断(如何路由到本命令族)./doc-block.md(取 blockId 与块内文本以计算划词偏移)dws contact user search(取 mention 用的 userId,跨产品命令)