用途:在钉钉沉淀知识里快速查资料、理解项目背景、梳理团队或部门信息、回答制度问题、整理新人入门材料。
主要能力:search 返回匹配文档列表,可用 --limit 控制数量;read 返回 Markdown,长内容写到文件并返回路径,非 ALIDOC 文件下载原文件。PDF 可用 --mode pdf2text 转文本,先下载再用系统 pdftotext -layout 输出 .txt;若系统无 pdftotext,会提示安装 poppler-utils 并退回返回 PDF 路径。可用 --with img-local 把图片下载到 Markdown 同目录 .assets/<文档名>/,--with img 使用图片代理,--with diagram 导出 diagram。
使用方式:进入 scripts 目录后执行
python3 cli.py config check python3 cli.py search "关键词1 关键词2 关键词3" python3 cli.py read "https://alidocs.dingtalk.com/i/nodes/<node_id>" python3 cli.py read <node_id>
需要配置 DINGTALK_APP_KEY、DINGTALK_APP_SECRET、DINGTALK_MY_USER_ID、DINGTALK_MY_OPERATOR_ID。缺少 operatorId 时可执行 python3 cli.py config to-unionid。默认输出写到 skill workspace 下的 .skills-workspace/dingtalk-knowledge-search/outputs/,可用 --output-dir 和 --output-path 写到当前项目。输出缓存默认按远端 modifiedTime 复用,默认 --output-strategy link 硬链接全局缓存,--output-strategy copy 可复制隔离。search 不缓存,node、resolve-url、blocks 使用 SQLite API 缓存并受 --cache-ttl 影响。需要扫码时命令返回 loginRequired: true 和 screenshotPath,扫码后重新执行同一命令。
适用场景:查询团队制度、项目背景、新人材料等沉淀内容,并导出为 Markdown 或文件。
限制:资料未提供并发、权限范围之外的更多细节;PDF 转文本依赖系统 pdftotext 与 poppler-utils;使用图片代理依赖代理服务和原链接有效期。