dsh-crwu-workbench 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1516 -0
- package/LICENSE +26 -0
- package/README.en.md +204 -0
- package/README.md +521 -0
- package/SECURITY.md +39 -0
- package/bin/darwin-arm64/crwu +0 -0
- package/bin/darwin-arm64/dws +0 -0
- package/bin/darwin-arm64/ossutil +0 -0
- package/bin/manifest.json +82 -0
- package/bin/win32-x64/crwu.exe +0 -0
- package/bin/win32-x64/dws.exe +4 -0
- package/bin/win32-x64/ossutil.exe +0 -0
- package/common/skills/.synced.json +8 -0
- package/common/skills/crwu-dws/SKILL.md +208 -0
- package/common/skills/crwu-dws/references/00-/347/233/256/345/275/225/345/277/253/347/205/247schema.md +113 -0
- package/common/skills/crwu-dws/references/01-/345/256/241/346/240/270/344/270/213/350/275/275/344/270/216manifest/350/247/204/350/214/203.md +115 -0
- package/common/skills/crwu-dws/references/02-/347/274/223/345/255/230/344/270/216/345/205/234/345/272/225/346/237/245/346/211/276/350/247/204/350/214/203.md +119 -0
- package/common/skills/crwu-dws/scripts/test_dws_source_contract.py +493 -0
- package/common/skills/crwu-h3yun-login/SKILL.md +130 -0
- package/common/skills/crwu-h3yun-query/SKILL.md +192 -0
- package/config/crwu-workbench.yml +26 -0
- package/cordis.patch.yml +46 -0
- package/lib/client.js +10346 -0
- package/lib/index.js +11584 -0
- package/package.json +119 -0
- package/scripts/prepare.mjs +59 -0
- package/skills/README.md +26 -0
- package/skills/crwu/crwu-audit/SKILL.md +152 -0
- package/skills/crwu/crwu-audit/references/00-input-and-route-profile.md +232 -0
- package/skills/crwu/crwu-audit/references/01-report-id-resolution.md +13 -0
- package/skills/crwu/crwu-audit/references/02-scope-classification.md +25 -0
- package/skills/crwu/crwu-audit/references/03-asset-classification.md +27 -0
- package/skills/crwu/crwu-audit/references/04-business-classification.md +63 -0
- package/skills/crwu/crwu-audit/references/05-method-classification.md +66 -0
- package/skills/crwu/crwu-audit/references/06-overlay-classification.md +42 -0
- package/skills/crwu/crwu-audit/references/07-skill-registry.md +57 -0
- package/skills/crwu/crwu-audit/references/08-union-dispatch-rules.md +142 -0
- package/skills/crwu/crwu-audit/references/09-review-risk-classification.md +85 -0
- package/skills/crwu/crwu-audit/references/10-capability-gap-proposal.md +68 -0
- package/skills/crwu/crwu-audit/references/11-html-delivery-spec.md +881 -0
- package/skills/crwu/crwu-audit/references/12-leaf-common-contract.md +202 -0
- package/skills/crwu/crwu-audit/references/13-dingtalk-result-publish.md +88 -0
- package/skills/crwu/crwu-audit/references/14-orchestration-workflow.md +52 -0
- package/skills/crwu/crwu-audit/references/99-maintenance.md +62 -0
- package/skills/crwu/crwu-audit/scripts/README.md +157 -0
- package/skills/crwu/crwu-audit/scripts/audit_delivery.py +2736 -0
- package/skills/crwu/crwu-audit/scripts/audit_result.schema.json +1659 -0
- package/skills/crwu/crwu-audit/scripts/examples/audit-result.sample.json +739 -0
- package/skills/crwu/crwu-audit/scripts/fetch_review_records.py +85 -0
- package/skills/crwu/crwu-audit/scripts/media_extract.py +513 -0
- package/skills/crwu/crwu-audit/scripts/prepare_materials.py +1252 -0
- package/skills/crwu/crwu-audit/scripts/test_audit_delivery.py +1678 -0
- package/skills/crwu/crwu-audit/scripts/test_audit_multiaxis_router.py +1339 -0
- package/skills/crwu/crwu-audit/scripts/test_fetch_review_records.py +77 -0
- package/skills/crwu/crwu-audit/scripts/test_media_extract.py +332 -0
- package/skills/crwu/crwu-audit/scripts/test_prepare_materials.py +1081 -0
- package/skills/crwu/crwu-audit/template/audit-report.html +435 -0
- package/skills/crwu/crwu-audit-asset-asset-group-goodwill/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-asset-group-goodwill/references/00-applicability.md +28 -0
- package/skills/crwu/crwu-audit-asset-asset-group-goodwill/references/01-kb-assembly.md +31 -0
- package/skills/crwu/crwu-audit-asset-asset-group-goodwill/references/02-review-focus.md +21 -0
- package/skills/crwu/crwu-audit-asset-asset-group-goodwill/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-debt/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-debt/references/00-applicability.md +40 -0
- package/skills/crwu/crwu-audit-asset-debt/references/01-kb-assembly.md +41 -0
- package/skills/crwu/crwu-audit-asset-debt/references/02-review-focus.md +54 -0
- package/skills/crwu/crwu-audit-asset-debt/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-enterprise-value/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-enterprise-value/references/00-applicability.md +31 -0
- package/skills/crwu/crwu-audit-asset-enterprise-value/references/01-kb-assembly.md +35 -0
- package/skills/crwu/crwu-audit-asset-enterprise-value/references/02-review-focus.md +33 -0
- package/skills/crwu/crwu-audit-asset-enterprise-value/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-equipment/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-equipment/references/00-applicability.md +40 -0
- package/skills/crwu/crwu-audit-asset-equipment/references/01-kb-assembly.md +39 -0
- package/skills/crwu/crwu-audit-asset-equipment/references/02-review-focus.md +52 -0
- package/skills/crwu/crwu-audit-asset-equipment/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-intangible/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-intangible/references/00-applicability.md +36 -0
- package/skills/crwu/crwu-audit-asset-intangible/references/01-kb-assembly.md +40 -0
- package/skills/crwu/crwu-audit-asset-intangible/references/02-review-focus.md +68 -0
- package/skills/crwu/crwu-audit-asset-intangible/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-inventory/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-inventory/references/00-applicability.md +28 -0
- package/skills/crwu/crwu-audit-asset-inventory/references/01-kb-assembly.md +31 -0
- package/skills/crwu/crwu-audit-asset-inventory/references/02-review-focus.md +21 -0
- package/skills/crwu/crwu-audit-asset-inventory/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-mining-right/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-mining-right/references/00-applicability.md +31 -0
- package/skills/crwu/crwu-audit-asset-mining-right/references/01-kb-assembly.md +35 -0
- package/skills/crwu/crwu-audit-asset-mining-right/references/02-review-focus.md +33 -0
- package/skills/crwu/crwu-audit-asset-mining-right/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-other/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-other/references/00-applicability.md +28 -0
- package/skills/crwu/crwu-audit-asset-other/references/01-kb-assembly.md +31 -0
- package/skills/crwu/crwu-audit-asset-other/references/02-review-focus.md +21 -0
- package/skills/crwu/crwu-audit-asset-other/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-portfolio/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-portfolio/references/00-applicability.md +28 -0
- package/skills/crwu/crwu-audit-asset-portfolio/references/01-kb-assembly.md +31 -0
- package/skills/crwu/crwu-audit-asset-portfolio/references/02-review-focus.md +21 -0
- package/skills/crwu/crwu-audit-asset-portfolio/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-realestate/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-realestate/references/00-applicability.md +43 -0
- package/skills/crwu/crwu-audit-asset-realestate/references/01-kb-assembly.md +75 -0
- package/skills/crwu/crwu-audit-asset-realestate/references/02-review-focus.md +93 -0
- package/skills/crwu/crwu-audit-asset-realestate/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-scrap-materials/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-scrap-materials/references/00-applicability.md +28 -0
- package/skills/crwu/crwu-audit-asset-scrap-materials/references/01-kb-assembly.md +31 -0
- package/skills/crwu/crwu-audit-asset-scrap-materials/references/02-review-focus.md +21 -0
- package/skills/crwu/crwu-audit-asset-scrap-materials/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-asset-transport-equipment/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-asset-transport-equipment/references/00-applicability.md +31 -0
- package/skills/crwu/crwu-audit-asset-transport-equipment/references/01-kb-assembly.md +35 -0
- package/skills/crwu/crwu-audit-asset-transport-equipment/references/02-review-focus.md +33 -0
- package/skills/crwu/crwu-audit-asset-transport-equipment/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-asset-operation/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-asset-operation/references/00-applicability.md +30 -0
- package/skills/crwu/crwu-audit-biz-asset-operation/references/01-kb-assembly.md +32 -0
- package/skills/crwu/crwu-audit-biz-asset-operation/references/02-review-focus.md +42 -0
- package/skills/crwu/crwu-audit-biz-asset-operation/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-consulting-review/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-consulting-review/references/00-applicability.md +30 -0
- package/skills/crwu/crwu-audit-biz-consulting-review/references/01-kb-assembly.md +32 -0
- package/skills/crwu/crwu-audit-biz-consulting-review/references/02-review-focus.md +40 -0
- package/skills/crwu/crwu-audit-biz-consulting-review/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-financial-reporting/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-financial-reporting/references/00-applicability.md +41 -0
- package/skills/crwu/crwu-audit-biz-financial-reporting/references/01-kb-assembly.md +40 -0
- package/skills/crwu/crwu-audit-biz-financial-reporting/references/02-review-focus.md +64 -0
- package/skills/crwu/crwu-audit-biz-financial-reporting/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-financing-debt/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-financing-debt/references/00-applicability.md +31 -0
- package/skills/crwu/crwu-audit-biz-financing-debt/references/01-kb-assembly.md +34 -0
- package/skills/crwu/crwu-audit-biz-financing-debt/references/02-review-focus.md +47 -0
- package/skills/crwu/crwu-audit-biz-financing-debt/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-investment-capital/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-investment-capital/references/00-applicability.md +31 -0
- package/skills/crwu/crwu-audit-biz-investment-capital/references/01-kb-assembly.md +34 -0
- package/skills/crwu/crwu-audit-biz-investment-capital/references/02-review-focus.md +47 -0
- package/skills/crwu/crwu-audit-biz-investment-capital/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-judicial-liquidation-compensation/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-judicial-liquidation-compensation/references/00-applicability.md +30 -0
- package/skills/crwu/crwu-audit-biz-judicial-liquidation-compensation/references/01-kb-assembly.md +32 -0
- package/skills/crwu/crwu-audit-biz-judicial-liquidation-compensation/references/02-review-focus.md +40 -0
- package/skills/crwu/crwu-audit-biz-judicial-liquidation-compensation/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-tax-history/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-tax-history/references/00-applicability.md +29 -0
- package/skills/crwu/crwu-audit-biz-tax-history/references/01-kb-assembly.md +30 -0
- package/skills/crwu/crwu-audit-biz-tax-history/references/02-review-focus.md +33 -0
- package/skills/crwu/crwu-audit-biz-tax-history/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-biz-transaction-disposal/SKILL.md +38 -0
- package/skills/crwu/crwu-audit-biz-transaction-disposal/references/00-applicability.md +31 -0
- package/skills/crwu/crwu-audit-biz-transaction-disposal/references/01-kb-assembly.md +34 -0
- package/skills/crwu/crwu-audit-biz-transaction-disposal/references/02-review-focus.md +47 -0
- package/skills/crwu/crwu-audit-biz-transaction-disposal/references/03-common-contract.md +202 -0
- package/skills/crwu/crwu-audit-datacheck/SKILL.md +59 -0
- package/skills/crwu/crwu-audit-datacheck/references/00-KB/350/243/205/351/205/215/350/241/250.md +25 -0
- package/skills/crwu/crwu-audit-datacheck/references/01-runtime-and-check-catalog.md +139 -0
- package/skills/crwu/crwu-audit-datacheck/scripts/recalc_check.py +521 -0
- package/skills/crwu/crwu-audit-datacheck/scripts/test_recalc_check.py +419 -0
- package/skills/crwu/crwu-audit-datacheck/scripts/test_skill_self_containment.py +44 -0
- package/skills/crwu/crwu-audit-external-data/SKILL.md +73 -0
- package/skills/crwu/crwu-audit-external-data/references/00-KB/350/243/205/351/205/215/350/241/250.md +38 -0
- package/skills/crwu/crwu-audit-external-data/references/01-connector-access.md +116 -0
- package/skills/crwu/crwu-audit-external-data/references/02-verification-workflow.md +78 -0
- package/skills/crwu/crwu-audit-external-data/scripts/connector_probe.py +374 -0
- package/skills/crwu/crwu-audit-external-data/scripts/test_connector_probe.py +264 -0
- package/skills/crwu/crwu-audit-output-filter/SKILL.md +34 -0
- package/skills/crwu/crwu-audit-output-filter/references/00-applicability.md +7 -0
- package/skills/crwu/crwu-audit-output-filter/references/01-kb-assembly.md +11 -0
- package/skills/crwu/crwu-audit-output-filter/references/02-review-focus.md +25 -0
- package/skills/crwu/crwu-audit-public-general-standards/SKILL.md +46 -0
- package/skills/crwu/crwu-audit-public-general-standards/references/00-applicability.md +41 -0
- package/skills/crwu/crwu-audit-public-general-standards/references/01-kb-assembly.md +66 -0
- package/skills/crwu/crwu-audit-public-general-standards/references/02-review-focus.md +111 -0
- package/skills/crwu/crwu-audit-public-general-standards/references/03-execution-contract.md +89 -0
- package/skills/crwu/crwu-dev-audit-optimize/SKILL.md +98 -0
- package/skills/crwu/crwu-dev-audit-optimize/references/00-/344/274/230/345/214/226/350/247/204/350/214/203/344/270/216/346/226/207/344/273/266/350/220/275/347/202/271.md +132 -0
- package/skills/crwu/crwu-dev-audit-optimize/references/01-/345/217/215/351/246/210/345/256/232/344/275/215/344/270/216/347/224/273/345/203/217/346/265/201/347/250/213.md +108 -0
- package/skills/crwu/crwu-dev-audit-optimize/references/02-/346/226/271/346/241/210/346/250/241/346/235/277/344/270/216/347/241/256/350/256/244/351/227/250/347/246/201.md +92 -0
- package/skills/crwu/crwu-dev-audit-optimize/references/03-AI/344/272/272/345/267/245/345/267/256/350/267/235/345/210/206/346/236/220/346/265/201/347/250/213.md +95 -0
- package/skills/crwu/crwu-dev-audit-optimize/scripts/examples/gap-analysis.sample.json +116 -0
- package/skills/crwu/crwu-dev-audit-optimize/scripts/gap_analysis.schema.json +33 -0
- package/skills/crwu/crwu-dev-audit-optimize/scripts/gap_analysis_delivery.py +475 -0
- package/skills/crwu/crwu-dev-audit-optimize/scripts/test_gap_analysis_delivery.py +855 -0
- package/skills/crwu/crwu-dev-audit-optimize/template/NOTICE.echarts.txt +7 -0
- package/skills/crwu/crwu-dev-audit-optimize/template/echarts.min.js +45 -0
- package/skills/crwu/crwu-dev-audit-optimize/template/gap-analysis-report.html +71 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/SKILL.md +74 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/00-responsibility-and-modes.md +62 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/01-kb-source-discovery.md +89 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/02-child-skill-contract.md +99 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/03-review-item-execution-contract.md +51 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/04-registry-and-mapping-update.md +73 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/05-validation-and-delivery.md +127 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/06-live-routing-reconciliation.md +136 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/references/07-kb-skill-map.md +411 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/scripts/README.md +200 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/scripts/check_audit_skill_mappings.py +2477 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/scripts/kb_tool.py +577 -0
- package/skills/crwu/crwu-dev-audit-skill-maintainer/scripts/test_audit_skill_maintainer.py +5097 -0
- package/skills/dws/LICENSE +178 -0
- package/skills/dws/NOTICE +17 -0
- package/skills/dws/dingtalk-aisearch/SKILL.md +83 -0
- package/skills/dws/dingtalk-aisearch/references/aisearch.md +249 -0
- package/skills/dws/dingtalk-aisearch/references/intent-guide.md +15 -0
- package/skills/dws/dingtalk-aisearch/references/lite-recipes.md +31 -0
- package/skills/dws/dingtalk-aitable/SKILL.md +139 -0
- package/skills/dws/dingtalk-aitable/references/06-data-analytics.md +11 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-advperm.md +251 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-attachment.md +49 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-best-practices.md +48 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-cell-value.md +346 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-dashboard-chart.md +46 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-data-analysis-sop.md +131 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-datasource.md +272 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-error-recovery.md +128 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-export-import.md +113 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-field-properties.md +238 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-field.md +186 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-filter-sort.md +135 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-form.md +130 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-formula-guide.md +224 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-primary-doc.md +58 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-create.md +52 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-delete.md +20 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-history.md +97 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-name-key.md +47 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-query.md +120 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-share.md +54 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-stats.md +59 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-update.md +66 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-upsert.md +89 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-view-config.md +140 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-view-extras.md +195 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-view-types.md +95 -0
- package/skills/dws/dingtalk-aitable/references/aitable/aitable-workflow.md +384 -0
- package/skills/dws/dingtalk-aitable/references/aitable-record-ops.md +80 -0
- package/skills/dws/dingtalk-aitable/references/aitable-section.md +30 -0
- package/skills/dws/dingtalk-aitable/references/aitable.md +59 -0
- package/skills/dws/dingtalk-aitable/references/field-rules.md +17 -0
- package/skills/dws/dingtalk-aitable/references/intent-guide.md +17 -0
- package/skills/dws/dingtalk-aitable/references/recipes/conventions.md +44 -0
- package/skills/dws/dingtalk-aitable/references/url-patterns.md +144 -0
- package/skills/dws/dingtalk-aitable/scripts/aitable_export_via_task.py +210 -0
- package/skills/dws/dingtalk-aitable/scripts/aitable_import_via_task.py +173 -0
- package/skills/dws/dingtalk-aitable/scripts/bulk_add_fields.py +273 -0
- package/skills/dws/dingtalk-aitable/scripts/import_records.py +333 -0
- package/skills/dws/dingtalk-aitable/scripts/upload_attachment.py +190 -0
- package/skills/dws/dingtalk-calendar/SKILL.md +137 -0
- package/skills/dws/dingtalk-calendar/references/03-meeting.md +56 -0
- package/skills/dws/dingtalk-calendar/references/calendar.md +760 -0
- package/skills/dws/dingtalk-calendar/references/intent-guide.md +9 -0
- package/skills/dws/dingtalk-calendar/references/lite-recipes.md +25 -0
- package/skills/dws/dingtalk-calendar/scripts/calendar_free_slot_finder.py +199 -0
- package/skills/dws/dingtalk-calendar/scripts/calendar_schedule_meeting.py +233 -0
- package/skills/dws/dingtalk-calendar/scripts/calendar_today_agenda.py +139 -0
- package/skills/dws/dingtalk-chat/SKILL.md +127 -0
- package/skills/dws/dingtalk-chat/references/01-messaging.md +103 -0
- package/skills/dws/dingtalk-chat/references/card/callback.md +10 -0
- package/skills/dws/dingtalk-chat/references/card/create.md +27 -0
- package/skills/dws/dingtalk-chat/references/card/schema.md +14 -0
- package/skills/dws/dingtalk-chat/references/card/update.md +13 -0
- package/skills/dws/dingtalk-chat/references/chat/chat-bot.md +187 -0
- package/skills/dws/dingtalk-chat/references/chat/chat-conversation.md +165 -0
- package/skills/dws/dingtalk-chat/references/chat/group-admin.md +144 -0
- package/skills/dws/dingtalk-chat/references/chat/group-discovery.md +121 -0
- package/skills/dws/dingtalk-chat/references/chat/message-actions.md +132 -0
- package/skills/dws/dingtalk-chat/references/chat/message-media.md +76 -0
- package/skills/dws/dingtalk-chat/references/chat/message-query.md +135 -0
- package/skills/dws/dingtalk-chat/references/chat/thread.md +46 -0
- package/skills/dws/dingtalk-chat/references/chat-emoji-list.md +216 -0
- package/skills/dws/dingtalk-chat/references/chat.md +140 -0
- package/skills/dws/dingtalk-chat/references/contracts.md +70 -0
- package/skills/dws/dingtalk-chat/references/intent-guide.md +56 -0
- package/skills/dws/dingtalk-contact/SKILL.md +122 -0
- package/skills/dws/dingtalk-contact/references/08-directory.md +51 -0
- package/skills/dws/dingtalk-contact/references/contact.md +595 -0
- package/skills/dws/dingtalk-contact/references/intent-guide.md +14 -0
- package/skills/dws/dingtalk-contact/references/lite-recipes.md +30 -0
- package/skills/dws/dingtalk-contact/references/recipes/conventions.md +44 -0
- package/skills/dws/dingtalk-contact/scripts/contact_dept_members.py +130 -0
- package/skills/dws/dingtalk-doc/SKILL.md +112 -0
- package/skills/dws/dingtalk-doc/references/04-document.md +57 -0
- package/skills/dws/dingtalk-doc/references/contracts.md +40 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-block.md +39 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-comment.md +29 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-create.md +54 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-export.md +30 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-import.md +28 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-info.md +12 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-media.md +46 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-read.md +56 -0
- package/skills/dws/dingtalk-doc/references/doc/doc-update.md +87 -0
- package/skills/dws/dingtalk-doc/references/doc/format/doc-jsonml-cookbook.md +469 -0
- package/skills/dws/dingtalk-doc/references/doc/format/doc-jsonml-schema.json +526 -0
- package/skills/dws/dingtalk-doc/references/doc/format/doc-jsonml-schema.md +711 -0
- package/skills/dws/dingtalk-doc/references/doc/style/doc-create-workflow.md +414 -0
- package/skills/dws/dingtalk-doc/references/doc/style/doc-style-guideline.md +404 -0
- package/skills/dws/dingtalk-doc/references/doc/style/doc-update-workflow.md +316 -0
- package/skills/dws/dingtalk-doc/references/doc.md +82 -0
- package/skills/dws/dingtalk-doc/references/intent-guide.md +20 -0
- package/skills/dws/dingtalk-drive/SKILL.md +128 -0
- package/skills/dws/dingtalk-drive/references/drive.md +126 -0
- package/skills/dws/dingtalk-drive/references/folder-sync.md +40 -0
- package/skills/dws/dingtalk-drive/references/intent-guide.md +22 -0
- package/skills/dws/dingtalk-drive/references/lite-recipes.md +39 -0
- package/skills/dws/dingtalk-event/SKILL.md +106 -0
- package/skills/dws/dingtalk-event/references/event-im-keys.md +54 -0
- package/skills/dws/dingtalk-event/references/event-im-lifecycle.md +35 -0
- package/skills/dws/dingtalk-event/references/event-im-operations.md +52 -0
- package/skills/dws/dingtalk-event/references/event-im-output.md +39 -0
- package/skills/dws/dingtalk-event/references/event-im.md +58 -0
- package/skills/dws/dingtalk-event/references/event-oa.md +155 -0
- package/skills/dws/dingtalk-event/references/event-todo.md +50 -0
- package/skills/dws/dingtalk-event/references/event-voip.md +69 -0
- package/skills/dws/dingtalk-mail/SKILL.md +113 -0
- package/skills/dws/dingtalk-mail/references/09-mail.md +45 -0
- package/skills/dws/dingtalk-mail/references/intent-guide.md +8 -0
- package/skills/dws/dingtalk-mail/references/lite-recipes.md +45 -0
- package/skills/dws/dingtalk-mail/references/mail.md +1889 -0
- package/skills/dws/dingtalk-mail/references/recipes/conventions.md +44 -0
- package/skills/dws/dingtalk-mail/scripts/mail_send_with_cc.py +122 -0
- package/skills/dws/dingtalk-mail/scripts/mail_unread_summary.py +114 -0
- package/skills/dws/dingtalk-minutes/SKILL.md +116 -0
- package/skills/dws/dingtalk-minutes/references/07-minutes.md +149 -0
- package/skills/dws/dingtalk-minutes/references/10-minutes-speaker-match.md +32 -0
- package/skills/dws/dingtalk-minutes/references/11-minutes-speaker-correct.md +40 -0
- package/skills/dws/dingtalk-minutes/references/intent-guide.md +79 -0
- package/skills/dws/dingtalk-minutes/references/lite-recipes.md +25 -0
- package/skills/dws/dingtalk-minutes/references/minutes.md +210 -0
- package/skills/dws/dingtalk-minutes/references/recipes/conventions.md +33 -0
- package/skills/dws/dingtalk-minutes/scripts/minutes_recent_summary.py +196 -0
- package/skills/dws/dingtalk-minutes/scripts/test_minutes_scripts.py +222 -0
- package/skills/dws/dingtalk-misc/SKILL.md +55 -0
- package/skills/dws/dingtalk-misc/references/05-reporting.md +29 -0
- package/skills/dws/dingtalk-misc/references/agoal.md +302 -0
- package/skills/dws/dingtalk-misc/references/attendance-intent-guide.md +7 -0
- package/skills/dws/dingtalk-misc/references/attendance-report.md +109 -0
- package/skills/dws/dingtalk-misc/references/attendance-schedule.md +115 -0
- package/skills/dws/dingtalk-misc/references/attendance-vacation.md +129 -0
- package/skills/dws/dingtalk-misc/references/attendance.md +149 -0
- package/skills/dws/dingtalk-misc/references/dev/app.md +42 -0
- package/skills/dws/dingtalk-misc/references/dev/connect.md +108 -0
- package/skills/dws/dingtalk-misc/references/dev/credentials.md +26 -0
- package/skills/dws/dingtalk-misc/references/dev/dev-index.md +13 -0
- package/skills/dws/dingtalk-misc/references/dev/event.md +47 -0
- package/skills/dws/dingtalk-misc/references/dev/mcp.md +106 -0
- package/skills/dws/dingtalk-misc/references/dev/member.md +19 -0
- package/skills/dws/dingtalk-misc/references/dev/permission.md +56 -0
- package/skills/dws/dingtalk-misc/references/dev/recipes.md +58 -0
- package/skills/dws/dingtalk-misc/references/dev/robot.md +74 -0
- package/skills/dws/dingtalk-misc/references/dev/security.md +21 -0
- package/skills/dws/dingtalk-misc/references/dev/version.md +99 -0
- package/skills/dws/dingtalk-misc/references/dev/webapp.md +22 -0
- package/skills/dws/dingtalk-misc/references/devapp.md +148 -0
- package/skills/dws/dingtalk-misc/references/devdoc-intent-guide.md +7 -0
- package/skills/dws/dingtalk-misc/references/devdoc.md +42 -0
- package/skills/dws/dingtalk-misc/references/ding.md +184 -0
- package/skills/dws/dingtalk-misc/references/hrbrain.md +67 -0
- package/skills/dws/dingtalk-misc/references/live.md +23 -0
- package/skills/dws/dingtalk-misc/references/markdown.md +167 -0
- package/skills/dws/dingtalk-misc/references/oa/oa-form-components.md +345 -0
- package/skills/dws/dingtalk-misc/references/oa/oa-process-nodes.md +374 -0
- package/skills/dws/dingtalk-misc/references/oa.md +1014 -0
- package/skills/dws/dingtalk-misc/references/openapi-explorer.md +47 -0
- package/skills/dws/dingtalk-misc/references/pat.md +52 -0
- package/skills/dws/dingtalk-misc/references/profile.md +41 -0
- package/skills/dws/dingtalk-misc/references/recruit.md +89 -0
- package/skills/dws/dingtalk-misc/references/report-conventions.md +44 -0
- package/skills/dws/dingtalk-misc/references/report-intent-guide.md +11 -0
- package/skills/dws/dingtalk-misc/references/report-lite-recipes.md +25 -0
- package/skills/dws/dingtalk-misc/references/report.md +109 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-batch-operations.md +104 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-chart.md +69 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-comment.md +166 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-conditional-format.md +59 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-dimension-operations.md +60 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-dropdown.md +103 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-export.md +135 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-filter-view.md +51 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-filter.md +181 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-formula.md +192 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-import.md +76 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-media-image.md +263 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-pivot-table.md +292 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-range-operations.md +161 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-read-data.md +60 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-revision-changeset.md +46 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-search-replace.md +120 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-style-format.md +71 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-version.md +84 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-workbook.md +59 -0
- package/skills/dws/dingtalk-misc/references/sheet/sheet-write-data.md +93 -0
- package/skills/dws/dingtalk-misc/references/sheet-conventions.md +44 -0
- package/skills/dws/dingtalk-misc/references/sheet-intent-guide.md +12 -0
- package/skills/dws/dingtalk-misc/references/sheet.md +166 -0
- package/skills/dws/dingtalk-misc/references/skill.md +98 -0
- package/skills/dws/dingtalk-misc/references/unsupported-scripts.md +49 -0
- package/skills/dws/dingtalk-misc/references/url-patterns.md +144 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/compose.md +200 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/01-overview.md +57 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/02-query.md +288 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/03-update.md +249 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/04-text-style.md +395 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/05-shape-frame-group-connector.md +186 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/06-vector-icon-path.md +313 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/07-examples-errors-write-support.md +270 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/08-catalogs.md +61 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1.md +54 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/replace.md +41 -0
- package/skills/dws/dingtalk-misc/references/whiteboard/vector.md +51 -0
- package/skills/dws/dingtalk-misc/references/whiteboard.md +115 -0
- package/skills/dws/dingtalk-misc/scripts/aiapp_create_and_poll.py +138 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_my_record.py +91 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_report_checkin.py +440 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_report_common.py +1698 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_report_daily.py +558 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_report_detail.py +809 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_report_monthly.py +758 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_report_record.py +947 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_schedule_export.py +344 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_schedule_import.py +498 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_team_shift.py +89 -0
- package/skills/dws/dingtalk-misc/scripts/attendance_vacation_balance.py +617 -0
- package/skills/dws/dingtalk-misc/scripts/finance_daily_cashflow.py +70 -0
- package/skills/dws/dingtalk-misc/scripts/finance_expense_flow.py +138 -0
- package/skills/dws/dingtalk-misc/scripts/oa_batch_approve.py +158 -0
- package/skills/dws/dingtalk-misc/scripts/oa_pending_review.py +132 -0
- package/skills/dws/dingtalk-misc/scripts/report_received_today.py +315 -0
- package/skills/dws/dingtalk-misc/scripts/yida_custom_page_update.py +401 -0
- package/skills/dws/dingtalk-misc/scripts/yida_form_builder.py +526 -0
- package/skills/dws/dingtalk-misc/scripts/yida_form_fields.py +315 -0
- package/skills/dws/dingtalk-misc/scripts/yida_form_inspector.py +311 -0
- package/skills/dws/dingtalk-misc/scripts/yida_form_update.py +185 -0
- package/skills/dws/dingtalk-misc/scripts/yida_jsx_pipeline.py +1588 -0
- package/skills/dws/dingtalk-misc/scripts/yida_page_compiler.py +1441 -0
- package/skills/dws/dingtalk-misc/scripts/yida_page_generate.py +514 -0
- package/skills/dws/dingtalk-misc/scripts/yida_page_schema.py +519 -0
- package/skills/dws/dingtalk-misc/scripts/yida_page_self_check.py +398 -0
- package/skills/dws/dingtalk-misc/scripts/yida_process_flow.py +1478 -0
- package/skills/dws/dingtalk-misc/scripts/yida_process_update.py +589 -0
- package/skills/dws/dingtalk-misc/scripts/yida_report_builder.py +494 -0
- package/skills/dws/dingtalk-misc/scripts/yida_report_charts.py +1434 -0
- package/skills/dws/dingtalk-misc/scripts/yida_report_update.py +244 -0
- package/skills/dws/dingtalk-misc/scripts/yida_schema_common.py +340 -0
- package/skills/dws/dingtalk-shared/SKILL.md +83 -0
- package/skills/dws/dingtalk-shared/references/capability-limits.md +31 -0
- package/skills/dws/dingtalk-shared/references/channel-login.md +26 -0
- package/skills/dws/dingtalk-shared/references/confirmation.md +59 -0
- package/skills/dws/dingtalk-shared/references/error-codes.md +155 -0
- package/skills/dws/dingtalk-shared/references/global-reference.md +122 -0
- package/skills/dws/dingtalk-shared/references/intent-guide.md +537 -0
- package/skills/dws/dingtalk-shared/references/recipes/conventions.md +45 -0
- package/skills/dws/dingtalk-shared/references/recipes/lite-catalog.md +275 -0
- package/skills/dws/dingtalk-shared/references/recipes/meta.md +67 -0
- package/skills/dws/dingtalk-shared/references/routing.md +52 -0
- package/skills/dws/dingtalk-shared/references/runtime-contract.md +11 -0
- package/skills/dws/dingtalk-shared/references/schema-usage.md +88 -0
- package/skills/dws/dingtalk-shared/references/url-patterns.md +144 -0
- package/skills/dws/dingtalk-shared/references/workflow-routing.md +45 -0
- package/skills/dws/dingtalk-todo/SKILL.md +119 -0
- package/skills/dws/dingtalk-todo/references/02-task.md +70 -0
- package/skills/dws/dingtalk-todo/references/intent-guide.md +15 -0
- package/skills/dws/dingtalk-todo/references/lite-recipes.md +68 -0
- package/skills/dws/dingtalk-todo/references/recipes/conventions.md +44 -0
- package/skills/dws/dingtalk-todo/references/todo.md +517 -0
- package/skills/dws/dingtalk-todo/scripts/todo_batch_create.py +354 -0
- package/skills/dws/dingtalk-todo/scripts/todo_daily_summary.py +153 -0
- package/skills/dws/dingtalk-todo/scripts/todo_overdue_check.py +101 -0
- package/skills/dws/dingtalk-wiki/SKILL.md +117 -0
- package/skills/dws/dingtalk-wiki/references/intent-guide.md +14 -0
- package/skills/dws/dingtalk-wiki/references/lite-recipes.md +44 -0
- package/skills/dws/dingtalk-wiki/references/wiki-members.md +32 -0
- package/skills/dws/dingtalk-wiki/references/wiki-node-ops.md +46 -0
- package/skills/dws/dingtalk-wiki/references/wiki.md +65 -0
- package/skills/dws/provenance.json +27 -0
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# Lite Recipe 完整步骤
|
|
2
|
+
|
|
3
|
+
> 核心流程步骤 3 判定为 lite 后,按本文件中对应 recipe 的步骤**直接执行**。
|
|
4
|
+
> 所有命令均须加 `--format json`(下文省略)。
|
|
5
|
+
|
|
6
|
+
## #1 消息沟通
|
|
7
|
+
|
|
8
|
+
所有消息沟通相关的命令详情、参数说明、意图路由和复合工作流,请查阅 `dingtalk-chat`。
|
|
9
|
+
|
|
10
|
+
## #2 任务管理
|
|
11
|
+
|
|
12
|
+
### create-todo
|
|
13
|
+
|
|
14
|
+
1. 确定执行者:指定姓名 → `aisearch person --query "<姓名>" --dimension name` → `userId`;未指定 → `contact user get-self` → `userId`;多人 → 逐个搜索逗号拼接。
|
|
15
|
+
2. 创建:`todo task create --title "<标题>" --executors <userId>[,<userId2>...] --priority <优先级>`(可选 `--due "<截止ISO>"`)→ `todoTaskId`
|
|
16
|
+
|
|
17
|
+
### todo-query-ops
|
|
18
|
+
|
|
19
|
+
- 查询:`todo task list [--status false|true]`(不传=全部)
|
|
20
|
+
- 详情:`todo task get --task-id <id>`
|
|
21
|
+
- 完成/重开:`todo task done --task-id <id> --status <true|false>`
|
|
22
|
+
- 按主题筛选:list 后按标题关键词过滤
|
|
23
|
+
|
|
24
|
+
## #3 会议日程
|
|
25
|
+
|
|
26
|
+
### list-today-meetings
|
|
27
|
+
|
|
28
|
+
**优先**:加载 `dingtalk-calendar` sub-skill 后按其「今天/明天/本周日程」recipe 执行;该自动化脚本只在 `dingtalk-calendar` 包内可用。
|
|
29
|
+
备选:`dws calendar event list --start "<今日起始ISO>" --end "<今日结束ISO>"`(须加 `--format json`)
|
|
30
|
+
|
|
31
|
+
### check-users-busy
|
|
32
|
+
|
|
33
|
+
查询多人在某时段内的闲忙(**busy**,不是用 `event list` 扫日程):
|
|
34
|
+
|
|
35
|
+
1. 解析用户:对每个姓名执行 `aisearch person --query "<姓名>" --dimension name` → `userId`;多人将 `userId` 用英文逗号拼接(无空格或按 `dingtalk-calendar` `busy search` 要求)。
|
|
36
|
+
2. 确认时段:用户须给出或可收敛为明确的 `--start` / `--end`(ISO-8601);若未给出,**先追问**起止时间,禁止用任意默认全天窗口代替用户意图。
|
|
37
|
+
3. 执行:`dws calendar busy search --users <userId1,userId2,...> --start "<ISO>" --end "<ISO>" --format json`
|
|
38
|
+
|
|
39
|
+
详见 `dingtalk-calendar` 中「查询用户闲忙状态」。
|
|
40
|
+
|
|
41
|
+
## #4 文档知识
|
|
42
|
+
|
|
43
|
+
### query-doc
|
|
44
|
+
|
|
45
|
+
1. 全局搜索:`drive search --query "<关键词>"` → `nodeId`(聚合钉盘+文档空间)
|
|
46
|
+
2. 空间内搜索:`wiki node search --workspace <WS_ID> --query "<关键词>"` → `nodeId`
|
|
47
|
+
3. `doc read --node <nodeId>`(按需;大文档只抽章节)
|
|
48
|
+
|
|
49
|
+
### list-folder-docs
|
|
50
|
+
|
|
51
|
+
`drive list --workspace <WS_ID>` 或 `wiki node list --workspace <WS_ID>`
|
|
52
|
+
|
|
53
|
+
## #5 工作汇报
|
|
54
|
+
|
|
55
|
+
### query-report-list
|
|
56
|
+
|
|
57
|
+
1. 收到的日志:先把用户时间词转成起止时间,再执行 `report inbox list --start "<YYYY-MM-DDT00:00:00+08:00>" --end "<YYYY-MM-DDT23:59:59+08:00>" --cursor 0 --size 20 --format json`。用户只说“最近/近期/最近收到”时默认最近 7 天。
|
|
58
|
+
2. 我发过/我创建的日志:首条查询必须用 `report outbox list --cursor 0 --size 20 --format json`;如用户指定时间,补 `--start "<YYYY-MM-DDT00:00:00+08:00>" --end "<YYYY-MM-DDT23:59:59+08:00>"`。
|
|
59
|
+
3. 按发件人过滤收件箱:先 `aisearch person --query "<姓名>" --dimension name --format json` 取 `userId/staffId`,再加 `--sender-user-ids <id>`;空结果必须说明未找到该发件人的日志,不得改选其他人。
|
|
60
|
+
4. 面向用户时必须基于 `result[]` 拼 Markdown 表,表头固定为 `日期 | 标题 | 发送人 | 状态 | 钉钉链接`;每条 `result[]` 都会带这五个中文字段,不要把 `reportId` / `日志ID` 作为主列。
|
|
61
|
+
5. 用户要正文、详情、统计、汇总或总结多篇日志时,必须用内部保留的 `reportId` 逐篇执行 `report entry get --report-id <reportId> --format json` 或 `report entry stats --report-id <reportId> --format json`;选前 5 篇时调用次数应等于实际选中篇数。
|
|
62
|
+
|
|
63
|
+
时间 flag 硬约束:只允许 `--start` / `--end`;禁止 `--start-date` / `--end-date` / `--date`。不要只传 `2026-05-04`,必须展开成 `2026-05-04T00:00:00+08:00` 这种完整 ISO;禁止 UTC `Z` / `date -u`。
|
|
64
|
+
|
|
65
|
+
硬约束:`report inbox list` 是收到的日志(别人发给我),`report outbox list` 是我创建/发出的日志(我发给别人)。不要混淆方向;不要回答"API 不支持收到的日志"。
|
|
66
|
+
|
|
67
|
+
> 旧命令兼容:`report list` / `report inbox` / `report sent` / `report created` / `report detail` / `report stats` 仍可执行,但已 deprecated,stderr 会打废弃提醒,新计划一律使用 `inbox list` / `outbox list` / `entry get` / `entry stats`。
|
|
68
|
+
|
|
69
|
+
禁止:不要先查 help,不要为了格式化列表创建脚本;不要传 `--size 50/100`。`report inbox` 可作为兼容入口使用,但新计划优先写规范命令 `report inbox list --start "<YYYY-MM-DDT00:00:00+08:00>" --end "<YYYY-MM-DDT23:59:59+08:00>" --cursor 0 --size 20 --format json`。
|
|
70
|
+
|
|
71
|
+
### check-report-read-status
|
|
72
|
+
|
|
73
|
+
`report entry stats --report-id <reportId>` → 已读/未读
|
|
74
|
+
|
|
75
|
+
## #7 听记与会后
|
|
76
|
+
|
|
77
|
+
> 产品命令完整参考见 `dingtalk-minutes`。full recipe 见 `dingtalk-minutes/references/07-minutes.md`。
|
|
78
|
+
|
|
79
|
+
### minutes-query(查询与获取)
|
|
80
|
+
|
|
81
|
+
> **scope 选择铁律(P2 真实 badcase)**:`list` 后的 scope 决定查询范围,最高频误判是把"我能访问的所有听记"错选成 `mine`:
|
|
82
|
+
> - `mine` = **仅我自己创建/发起**的听记(范围最窄)
|
|
83
|
+
> - `shared` = **仅他人共享给我**的听记
|
|
84
|
+
> - `all` = **我可访问的全部**(= mine ∪ shared,范围最广)
|
|
85
|
+
> - **判定口诀**:query 含"访问/权限/可见/能看到/所有/我的"等覆盖范围语义 → 一律走 `all`;**仅当**明确说"我创建的/我发起的/我录的" → 才走 `mine`。**不要因为句子里有"我"字就退化成 `mine`。**
|
|
86
|
+
> - 错误:`我能访问的所有听记` → `list mine`(漏掉共享给我的,判定不通过)
|
|
87
|
+
> - 正确:`我能访问的所有听记` → `dws minutes list all --format json`
|
|
88
|
+
|
|
89
|
+
> **选对象铁律(0605 P2 EDD badcase 提炼,命令对了但选错听记 = 整任务失败)**:list/搜索拿到结果后,必须按语义精准锁定目标听记,详见 `dingtalk-minutes`「选对象铁律 S1~S6」。速记:
|
|
90
|
+
> - **S1 跨组织汇总**:以 list 返回的 `taskUuid + title + organizationName` 三元组为准逐条照抄,组织与听记不可张冠李戴。
|
|
91
|
+
> - **S2 "最近一次某类会议"**:先 `--query "<主题词>"`(如周会)过滤出该类,再在候选里取时间最新;主题匹配优先级高于时间。
|
|
92
|
+
> - **S3 比时长最长**:必须读 `durationMicros` 字段做数值比较,禁止凭印象/标题猜,口头结论与操作的 taskUuid 须自洽。
|
|
93
|
+
> - **S4 内容为空**:锁定 taskUuid 后所有 get/update 复用同一 id;某字段为空就如实说,**禁止偷偷切换到另一条听记**。
|
|
94
|
+
> - **S5 模糊日期匹配不到**:日期可能是"会议主题日期"而非"创建日期",按标题关键词搜,精确日期没命中就放宽 ±7 天/同主题候选请用户确认,**禁止直接报"找不到"**。搜索回退策略:① 先 `--query "<主题关键词>"` 不带日期搜 → ② 若结果过多则加 `--start/--end` 扩大到 ±7 天 → ③ 列出候选让用户确认。
|
|
95
|
+
> - **S6 给标题没给 id**:必须先 `list all --query "<标题关键词>"` 定位 taskUuid 再 update/get,禁止凭记忆直接填 `--id` 跳过定位。
|
|
96
|
+
|
|
97
|
+
**列表查询**(`list` 后**必须**跟 scope:`mine`/`shared`/`all`,默认补 `all`):
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# 我可访问的所有听记(默认)
|
|
101
|
+
dws minutes list all --format json
|
|
102
|
+
# 按关键词服务端搜索(严禁全量拉取后本地 grep)
|
|
103
|
+
dws minutes list all --query "周会" --format json
|
|
104
|
+
# 按时间范围筛选(ISO-8601 格式)
|
|
105
|
+
dws minutes list mine --start "2026-05-01T00:00:00+08:00" --end "2026-05-25T23:59:59+08:00" --format json
|
|
106
|
+
# 关键词 + 时间组合
|
|
107
|
+
dws minutes list all --query "需求评审" --start "2026-05-25T00:00:00+08:00" --end "2026-05-25T23:59:59+08:00" --format json
|
|
108
|
+
# 限制条数
|
|
109
|
+
dws minutes list mine --limit 5 --format json
|
|
110
|
+
# 共享给我的听记
|
|
111
|
+
dws minutes list shared --query "ROI" --format json
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
| 参数 | 说明 |
|
|
115
|
+
|------|------|
|
|
116
|
+
| `--query "<关键词>"` | 服务端关键词搜索 |
|
|
117
|
+
| `--start "<ISO-8601>"` | 开始时间 |
|
|
118
|
+
| `--end "<ISO-8601>"` | 结束时间 |
|
|
119
|
+
| `--limit <N>` | 每页条数,默认 10(`--max` 为兼容别名) |
|
|
120
|
+
| `--cursor "<token>"` | 分页 token,首页留空(`--next-token` 为兼容别名) |
|
|
121
|
+
|
|
122
|
+
**获取详情**:
|
|
123
|
+
|
|
124
|
+
- 批量基础信息:`minutes get batch --ids <uuid1,uuid2,...>`
|
|
125
|
+
- 单篇摘要:`minutes get summary --id <taskUuid>`
|
|
126
|
+
- 转写原文(自动翻页):`minutes get transcription --id <taskUuid>`(返回 `cursor` / `nextToken` / `nextCursor` 时用 `--cursor <token>` 继续)
|
|
127
|
+
- 关键词:`minutes get keywords --id <taskUuid>`
|
|
128
|
+
- 待办事项:`minutes get todos --id <taskUuid>`
|
|
129
|
+
- 基础信息:`minutes get info --id <taskUuid>`
|
|
130
|
+
- 音频地址:`minutes get audio --id <taskUuid>`
|
|
131
|
+
|
|
132
|
+
> `--id`/`--uuid`/`--task-uuid` 三者等价。推荐 `--id`。
|
|
133
|
+
|
|
134
|
+
### minutes-edit(编辑与替换)
|
|
135
|
+
|
|
136
|
+
- **替换转写文字**:`minutes replace-text --id <taskUuid> --search "旧文字" --replace "新文字"`
|
|
137
|
+
- 执行前检查特殊字符(引号/书名号/括号等),若包含先提示用户确认去除
|
|
138
|
+
- 替换成功后追问是否加热词:`minutes hot-word add --words "新文字"`
|
|
139
|
+
- **替换发言人**:先统一搜人取得 dingUid → `minutes speaker replace --id <taskUuid> --from "发言人X" --to "姓名" --target-uid <userId>`
|
|
140
|
+
- 查询 dingUid:`aisearch person --query "姓名" --dimension name --format json` → 取 `userId`
|
|
141
|
+
- 多个匹配 → 列出候选让用户选;无匹配 → 不带 `--target-uid` 执行
|
|
142
|
+
- **修改标题**:`minutes update title --id <taskUuid> --title "新标题"`
|
|
143
|
+
- **修改摘要**:`minutes update summary --id <taskUuid> --content "新内容"`
|
|
144
|
+
- **热词管理**:`minutes hot-word add --words "词1,词2"` / `minutes hot-word list`
|
|
145
|
+
- **思维导图**:`minutes mind-graph create --id <taskUuid>` → `mind-graph status --id <taskUuid>` 轮询至完成
|
|
146
|
+
|
|
147
|
+
### minutes-tag(标签/分组查询)
|
|
148
|
+
|
|
149
|
+
- 查询标签列表:`minutes tag list` → 返回用户在听记页面创建的所有标签/分组(含 tagId 和名称)
|
|
150
|
+
- 按标签查听记:`minutes tag query --tag-id <tagId> [--limit 20] [--cursor <token>]`
|
|
151
|
+
- tagId 来自 `tag list` 返回值,不可编造
|
|
152
|
+
- 支持分页,`--cursor` 传入上一次返回的 nextToken
|
|
153
|
+
|
|
154
|
+
**典型链路**:用户说"帮我看看'周会'标签下的听记" →
|
|
155
|
+
1. `dws minutes tag list --format json` → 按名称匹配找到 tagId
|
|
156
|
+
2. `dws minutes tag query --tag-id <tagId> --format json`
|
|
157
|
+
|
|
158
|
+
### minutes-permission(权限管理)
|
|
159
|
+
|
|
160
|
+
- 添加成员:`minutes permission add --ids <uuid1,uuid2> --member-uids <uid1,uid2> --policy 4`
|
|
161
|
+
- 需先通过 `aisearch person --query "<姓名>" --dimension name` 获取目标 userId
|
|
162
|
+
- policy:0=不可见 / 1=仅查看 / 2=查看+下载 / 3=查看+下载+编辑 / 4=全部权限
|
|
163
|
+
- 移除成员:`minutes permission remove --ids <uuid1,uuid2> --member-uids <uid1,uid2>`
|
|
164
|
+
|
|
165
|
+
### minutes-upload(音频上传)
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
# 创建上传会话
|
|
169
|
+
dws minutes upload create --file-name "meeting.mp3" --file-size 61565431 --format json
|
|
170
|
+
# 上传完成后确认
|
|
171
|
+
dws minutes upload complete --session-id <sid> --format json
|
|
172
|
+
# 取消上传
|
|
173
|
+
dws minutes upload cancel --session-id <sid> --format json
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### 最佳实践案例速查(详见 `dingtalk-minutes`)
|
|
177
|
+
|
|
178
|
+
| 案例 | 场景 | 正确链路 |
|
|
179
|
+
|------|------|----------|
|
|
180
|
+
| 案例 1 | 听记 URL + 创建思维导图 | 提取 taskUuid → `mind-graph create` → `mind-graph status` 轮询;**禁止**走 app-development 或前端库 |
|
|
181
|
+
| 案例 2 | 替换文字后未引导热词 | 检查特殊字符 → `replace-text` → 追问加热词 `hot-word add` |
|
|
182
|
+
| 案例 3 | 查听记拉了不必要的转写 | 用户只要列表 → `list` 即可,**不要**自动拉 `get transcription` |
|
|
183
|
+
| 案例 4 | 拉完转写只输出时间线原文 | 拉完后追问按发言人聚类 → 引导匹配 → 调用 `speaker replace` 写回 |
|
|
184
|
+
| 案例 5 | 查某人说了什么不引导替换 | 推断发言人 → **用户确认** → 结构化总结 → 引导 `speaker replace` |
|
|
185
|
+
| 案例 6 | 通讯录+部门+转写三路印证 | Step 3 画像 + Step 4 `aisearch person` 并发 → 置信度 ≥70% → 确认 → 替换 |
|
|
186
|
+
| 案例 7 | grep 花名误判未参会 | **禁止**在转写文本里 grep 人名判参会;**必须**调 `aisearch person` |
|
|
187
|
+
| 案例 8 | 听记类 query 不走 dws | **禁止**用 session_search/browser_use/activity:search 替代 dws;模糊请求先 `list mine` |
|
|
188
|
+
| 案例 9 | 按标签筛选听记 | `tag list` → 按名称匹配 tagId → `tag query --tag-id <tagId>`;**禁止**编造 tagId |
|
|
189
|
+
|
|
190
|
+
### 听记取数深度约束(0609 点踩 case 提炼)
|
|
191
|
+
|
|
192
|
+
> 详细说明见 `dingtalk-minutes`。
|
|
193
|
+
|
|
194
|
+
- **转写原文硬约束**:用户诉求含「聚焦原话/逐字/沟通细节/具体讨论了什么」等词时,**必须先调 `get transcription` 翻页拉全**,禁止仅凭 summary 出稿
|
|
195
|
+
- **数据源下钻**:听记维度**必须 `get summary`(或 `get transcription`)读正文**,严禁只取标题列表;scope 用 `all`;空时换窗重试或标注
|
|
196
|
+
- **听记链接解析**:聊天消息中遇到听记链接(`flash_minutes_detail`/`SHANJI`)→ 解析 `minutesId` → 调 `minutes get summary/transcription`,禁止把链接降级为关键词
|
|
197
|
+
- **忠实性约束**:源数据无某要素(行动项/责任人/数字)时禁止生成;统计字段基于实际取数计数,不得编造
|
|
198
|
+
- **多源全覆盖**:用户枚举多数据源时每个来源都必须调对应工具;瞬时错误重试;如实声明缺失来源,禁编无来源数字
|
|
199
|
+
|
|
200
|
+
### 间接意图识别铁律
|
|
201
|
+
|
|
202
|
+
query 未提"听记"但任务产出依赖会议讨论内容时(报告/总结/日报/复盘/商业分析/市场感知),听记采集是**必跑前置步骤**:
|
|
203
|
+
|
|
204
|
+
1. **铁律 A**:任务含"会议/讨论/沟通"信息需求 → `dws minutes list` 必跑
|
|
205
|
+
2. **铁律 B**:用户说"文档啥也没有" → 听记优先级更高(唯一结构化数据源)
|
|
206
|
+
3. **铁律 C**:多源聚合场景 → 每个被提及的数据源都必须有采集动作,听记侧 0 调用 = 严重失败
|
|
207
|
+
|
|
208
|
+
## #8 通讯录
|
|
209
|
+
|
|
210
|
+
### get-contact-self
|
|
211
|
+
|
|
212
|
+
`contact user get-self` → 当前用户 userId、部门、主管等
|
|
213
|
+
|
|
214
|
+
### search-person
|
|
215
|
+
|
|
216
|
+
**搜人首选入口**。凡是“找人/搜人/找同事/谁负责/上级/下级/负责人/团队成员”均优先用 `aisearch person`:
|
|
217
|
+
|
|
218
|
+
1. 从用户问题中提取 keyword(人名/业务关键词)和 dimension(维度),规则见 `dingtalk-aisearch`。
|
|
219
|
+
2. `aisearch person --query "<关键词>" --dimension <维度>`
|
|
220
|
+
3. 结果中提取 `userId` 和 `title`(姓名)展示给用户。
|
|
221
|
+
4. 若需要 userId 做后续操作(发消息/建待办),可直接使用结果中的 `userId`。
|
|
222
|
+
5. **重名消歧**:多人同名时禁止默认选第一个,须追加 `contact user get --ids` 获取部门/职位后请用户确认,详见 `dingtalk-contact/references/08-directory.md`「多命中」。
|
|
223
|
+
|
|
224
|
+
### search-user
|
|
225
|
+
|
|
226
|
+
仅在以下**精确查询**场景使用,搜人请优先用 `search-person`:
|
|
227
|
+
|
|
228
|
+
- 需要获取 userId 给其他产品使用(发消息/建待办/约日程)
|
|
229
|
+
- 已有 userId 需查完整详情(`contact user get --ids`)
|
|
230
|
+
|
|
231
|
+
1. `aisearch person --query "<姓名>" --dimension name` → `userId`;**多命中须列出候选请用户确认**。
|
|
232
|
+
2. **重名消歧**:多人同名时禁止默认选第一个,须追加 `contact user get --ids` 获取部门/职位后请用户确认,详见 `dingtalk-contact/references/08-directory.md`「多命中」。
|
|
233
|
+
3. 需详情时:`contact user get --ids <userId>`(多人可 `--ids id1,id2,...`)
|
|
234
|
+
|
|
235
|
+
## #9 邮件
|
|
236
|
+
|
|
237
|
+
### mail-list-mailbox
|
|
238
|
+
|
|
239
|
+
查询当前用户自己的可用邮箱地址列表。**仅返回自己的邮箱**,不能查他人邮箱(查他人邮箱请走 `dingtalk-mail` 中「查找他人邮箱地址」三路并发查询流程)。
|
|
240
|
+
|
|
241
|
+
`mail mailbox list`
|
|
242
|
+
|
|
243
|
+
### mail-search
|
|
244
|
+
|
|
245
|
+
搜索邮件。**必须使用 KQL 语法通过 `--query` 传递查询条件**,禁止臆造 `--subject`、`--from` 等不存在的 flag。
|
|
246
|
+
|
|
247
|
+
1. 获取邮箱地址:`mail mailbox list` → 取用户邮箱地址。若用户已提供邮箱可跳过。
|
|
248
|
+
2. 构造 KQL 查询:根据用户意图将搜索条件转为 KQL 表达式(详见 `dingtalk-mail` 中 KQL 查询字段说明)。
|
|
249
|
+
- 按主题:`subject:周报`、`subject:"项目 进展"`(含空格须加双引号)
|
|
250
|
+
- 按发件人:`from:alice@company.com` 或 `from:"张三"`
|
|
251
|
+
- 按日期:`date>2025-06-01T00:00:00Z`(ISO8601 格式,必须含时间部分)
|
|
252
|
+
- 按文件夹:`folderId:2`(2=收件箱, 1=已发送, 5=草稿, 6=已删除)
|
|
253
|
+
- 按是否有附件:`hasAttachments:true`
|
|
254
|
+
- 组合:`from:alice AND subject:周报 AND date>2025-06-01T00:00:00Z`
|
|
255
|
+
3. 执行搜索:`mail message search --email <邮箱> --query "<KQL表达式>" --limit 20`
|
|
256
|
+
4. 查看详情(按需):`mail message get --email <邮箱> --id <messageId>`
|
|
257
|
+
|
|
258
|
+
### mail-send
|
|
259
|
+
|
|
260
|
+
发送邮件。
|
|
261
|
+
|
|
262
|
+
1. 获取邮箱地址:`mail mailbox list` → 取用户邮箱作为 `--from`。
|
|
263
|
+
2. 确定收件人:用户直接提供邮箱地址 → 直接使用;用户提供姓名 → 走「查找他人邮箱地址」三路并发流程(见 `dingtalk-mail`)。
|
|
264
|
+
3. 发送:`mail message send --from <发件邮箱> --to <收件邮箱> --subject "<主题>" --content "<正文>"`(可选 `--cc`、`--attachment`、`--inline-attachment`)。
|
|
265
|
+
|
|
266
|
+
### mail-reply-forward
|
|
267
|
+
|
|
268
|
+
回复或转发邮件。
|
|
269
|
+
|
|
270
|
+
1. 获取邮箱地址:`mail mailbox list` → 取用户邮箱。
|
|
271
|
+
2. 定位原始邮件:若用户未提供 messageId → 先用 `mail-search` 搜索定位。
|
|
272
|
+
3. 执行:
|
|
273
|
+
- 回复:`mail message reply --from <邮箱> --id <messageId>`(可选 `--to`、`--subject`、`--content`)
|
|
274
|
+
- 回复全部:`mail message reply-all --from <邮箱> --id <messageId>`(可选 `--to`、`--subject`、`--content`)
|
|
275
|
+
- 转发:`mail message forward --from <邮箱> --to <收件邮箱> --id <messageId>`(可选 `--subject`、`--content`)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Recipe 规范
|
|
2
|
+
|
|
3
|
+
> 每个 recipe 是一个 **SKILL.md**,格式与产品 skill 同等身份。
|
|
4
|
+
|
|
5
|
+
## 架构三层
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
Layer 1: _common/conventions.md → 全局共享(认证、安全规则、字段术语)
|
|
9
|
+
相当于 gws-shared/SKILL.md
|
|
10
|
+
|
|
11
|
+
Layer 2: products/*.md → 产品能力(命令用法、flags、示例)
|
|
12
|
+
相当于 gws-gmail/SKILL.md, gws-docs/SKILL.md
|
|
13
|
+
|
|
14
|
+
Layer 3: recipe-xxx/SKILL.md → 组合配方(固定步骤 + 声明依赖)
|
|
15
|
+
相当于 recipe-send-team-announcement/SKILL.md
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Recipe SKILL.md 格式
|
|
19
|
+
|
|
20
|
+
```yaml
|
|
21
|
+
---
|
|
22
|
+
name: recipe-<verb>-<object>
|
|
23
|
+
description: "一句话描述"
|
|
24
|
+
metadata:
|
|
25
|
+
category: "recipe"
|
|
26
|
+
domain: "<领域编号>"
|
|
27
|
+
requires:
|
|
28
|
+
bins:
|
|
29
|
+
- dws
|
|
30
|
+
skills:
|
|
31
|
+
- <product-1>
|
|
32
|
+
- <product-2>
|
|
33
|
+
---
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**正文**只包含:
|
|
37
|
+
1. 标题 + 一句话描述
|
|
38
|
+
2. `> **PREREQUISITE:** ...` 提示加载哪些 skill
|
|
39
|
+
3. `## Steps` — 编号步骤,每步一条 `dws` 命令
|
|
40
|
+
|
|
41
|
+
**不包含**(这些留给 conventions.md 和 best_practice.md):
|
|
42
|
+
- 安全门控/决策分支/踩坑提醒
|
|
43
|
+
- 失败处理策略
|
|
44
|
+
- 数据佐证
|
|
45
|
+
|
|
46
|
+
## 命名规则
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
recipe-<verb>-<object>[-<modifier>]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
| 动词 | 含义 | 示例 |
|
|
53
|
+
|------|------|------|
|
|
54
|
+
| send | 发送 | recipe-send-message |
|
|
55
|
+
| create | 创建 | recipe-create-todo |
|
|
56
|
+
| query | 查询 | recipe-query-doc |
|
|
57
|
+
| write | 写入 | recipe-write-doc |
|
|
58
|
+
| resolve | 解析 | recipe-resolve-contact |
|
|
59
|
+
| generate | 生成 | recipe-generate-daily-report |
|
|
60
|
+
| share | 分享 | recipe-share-doc-and-notify |
|
|
61
|
+
|
|
62
|
+
## 路由规则
|
|
63
|
+
|
|
64
|
+
Agent 识别意图后:
|
|
65
|
+
1. 匹配到 recipe → 加载 recipe 声明的 skills → 按 Steps 执行
|
|
66
|
+
2. 无匹配 recipe → 走领域 best_practice.md 策略指南
|
|
67
|
+
3. 只需单个命令 → 直接查 products/*.md
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# 产品路由
|
|
2
|
+
|
|
3
|
+
仅在用户泛称 DWS/钉钉操作,或者无法从意图直接选择单一产品 skill 时读取。调度器
|
|
4
|
+
已经命中清晰产品 skill 时不要读取本文件。
|
|
5
|
+
|
|
6
|
+
## 一级产品选择
|
|
7
|
+
|
|
8
|
+
| 用户目标 | 读取目标 |
|
|
9
|
+
|---|---|
|
|
10
|
+
| AI 表格、多维表、字段、记录、视图、仪表盘 | [`dingtalk-aitable`](../../dingtalk-aitable/SKILL.md) |
|
|
11
|
+
| 日程、参会人、会议室、闲忙 | [`dingtalk-calendar`](../../dingtalk-calendar/SKILL.md) |
|
|
12
|
+
| 群聊、消息、机器人、Webhook、群成员 | [`dingtalk-chat`](../../dingtalk-chat/SKILL.md) |
|
|
13
|
+
| 实时监听未来 IM 消息、reaction、已读、撤回、群生命周期或 OA 审批变化 | [`dingtalk-event`](../../dingtalk-event/SKILL.md) |
|
|
14
|
+
| 已有 userId 的用户详情、部门、角色、组织关系 | [`dingtalk-contact`](../../dingtalk-contact/SKILL.md) |
|
|
15
|
+
| 文档正文读取、创建、更新、块编辑、媒体和导出 | [`dingtalk-doc`](../../dingtalk-doc/SKILL.md) |
|
|
16
|
+
| 文件搜索、上传下载、复制移动、重命名、权限 | [`dingtalk-drive`](../../dingtalk-drive/SKILL.md) |
|
|
17
|
+
| 邮件查询、搜索、读取和发送 | [`dingtalk-mail`](../../dingtalk-mail/SKILL.md) |
|
|
18
|
+
| 听记列表、摘要、转写、关键字和标题 | [`dingtalk-minutes`](../../dingtalk-minutes/SKILL.md) |
|
|
19
|
+
| 待办创建、查询、更新、完成和删除 | [`dingtalk-todo`](../../dingtalk-todo/SKILL.md) |
|
|
20
|
+
| 知识库/钉盘空间、空间节点和成员管理 | [`dingtalk-wiki`](../../dingtalk-wiki/SKILL.md) |
|
|
21
|
+
| 姓名模糊找人、负责人、上下级、工号、手机号语义线索、企业知识和行为记录搜索 | [`dingtalk-aisearch`](../../dingtalk-aisearch/SKILL.md) |
|
|
22
|
+
| 完整手机号精确反查,或已有 userId 后查人员详情、部门和角色 | [`dingtalk-contact`](../../dingtalk-contact/SKILL.md) |
|
|
23
|
+
| Markdown / `.md` 内容读取、创建、覆盖、局部修改或版本差异比较 | [`dingtalk-misc`](../../dingtalk-misc/SKILL.md) → [`markdown.md`](../../dingtalk-misc/references/markdown.md) |
|
|
24
|
+
| 组织大脑、人才池、员工档案专项、职业历程、绩效、结构化人才搜索 | [`dingtalk-misc`](../../dingtalk-misc/SKILL.md) → [`hrbrain.md`](../../dingtalk-misc/references/hrbrain.md) |
|
|
25
|
+
| PAT 行为授权、scope 授权、授权浏览器策略 | [`dingtalk-misc`](../../dingtalk-misc/SKILL.md) → [`pat.md`](../../dingtalk-misc/references/pat.md) |
|
|
26
|
+
| 切换组织、跨组织、多组织、profile 管理 | [`dingtalk-misc`](../../dingtalk-misc/SKILL.md) → [`profile.md`](../../dingtalk-misc/references/profile.md) |
|
|
27
|
+
| 审批查询与处理、考勤、会议、电子表格、日志、DING、直播、开放平台应用、技能市场安装等长尾产品 | [`dingtalk-misc`](../../dingtalk-misc/SKILL.md) |
|
|
28
|
+
| 宜搭 / AI 应用创建脚本 / 财务辅助脚本(无稳定产品面) | [`dingtalk-misc`](../../dingtalk-misc/SKILL.md) → [`unsupported-scripts.md`](../../dingtalk-misc/references/unsupported-scripts.md);默认说明未产品化,勿当正式 CLI |
|
|
29
|
+
|
|
30
|
+
选择 `dingtalk-misc` 后,先读取其 `SKILL.md` 产品索引,再只读取命中产品的单个
|
|
31
|
+
reference,不要加载全部长尾产品文档。
|
|
32
|
+
|
|
33
|
+
## 高频边界
|
|
34
|
+
|
|
35
|
+
- `aisearch person`:按姓名、职责、上下级、工号或手机号线索语义找人;`contact`:
|
|
36
|
+
完整手机号精确反查,或拿到 userId 后查详情、部门和角色;`mail`:邮件内容与收发。
|
|
37
|
+
- `drive`:对任何文件都成立的存储操作;`doc`:文档正文和块内容;`wiki`:空间与
|
|
38
|
+
节点组织。
|
|
39
|
+
- `.md` 内容读写走 `markdown`(`dingtalk-misc`);复制、移动、删除等实体操作走 `drive`。
|
|
40
|
+
- `aitable`:字段/记录式数据表;`sheet`:单元格、公式、多工作表。`sheet` 位于
|
|
41
|
+
[`dingtalk-misc`](../../dingtalk-misc/references/sheet.md)。
|
|
42
|
+
- `calendar`:日历事件、参会人和会议室;视频会议(conference)当前 CLI 不支持,请在钉钉客户端操作;
|
|
43
|
+
`minutes`:会后听记内容。
|
|
44
|
+
- `report`:钉钉日志系统中的日报/周报;`doc`:普通文档创作;`todo`:个人任务。
|
|
45
|
+
- `chat`:发送消息、读取历史消息和主动群操作;独立的 `event`:未来个人 IM/OA/Todo 事件长连接监听;
|
|
46
|
+
`ding`:强提醒,位于 `dingtalk-misc`。
|
|
47
|
+
- `hrbrain` / `markdown` / `pat` / `profile` 均位于 `dingtalk-misc`。
|
|
48
|
+
- 请假、加班、外出、出差、补卡等考勤业务审批优先走 `attendance`;其他通用审批查询、同意、
|
|
49
|
+
拒绝、转交和撤销走 `oa`。两者均位于 `dingtalk-misc`;未来审批任务或实例变化的实时通知走
|
|
50
|
+
独立的 `dingtalk-event`。
|
|
51
|
+
|
|
52
|
+
边界仍无法判断时,只读取 [intent-guide.md](intent-guide.md) 的对应章节。
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
## 最小 DWS 执行契约
|
|
2
|
+
|
|
3
|
+
- 只通过 `dws` CLI 操作钉钉;结构化读取使用 `--format json`,按真实返回判断结果。
|
|
4
|
+
- 已知命令直接执行。只有 leaf 参数或安全语义不确定时读取精确 Schema,只有 Cobra flag 不确定时读取精确 leaf Help;不要加载产品级 Catalog 代替选路。
|
|
5
|
+
- 不猜命令、flag、字段、ID、账号或时间。后续 ID 必须来自真实返回;零命中、多候选或类型不明时停止并消歧。
|
|
6
|
+
- 解析目标、读取上下文和最终执行必须使用同一 profile;不得跨组织复用 userId、openDingTalkId 或 openConversationId。多账号组织只使用明确的 `isOrgCurrent=true` 默认账号;没有默认账号时要求用户指定,禁止选择第一项、最近登录或最近使用账号。
|
|
7
|
+
- 不输出或记录 token、refresh token、appSecret、webhook token 等凭据;宿主已注入认证时不要索要凭据。
|
|
8
|
+
- 写操作必须符合用户明确意图。是否需要确认以最终 Runtime gate 和 Schema 为准;需要确认时先说明对象、动作与影响,再追加 `--yes`。
|
|
9
|
+
- 写后按任务结果契约验证;不能仅凭退出码宣称成功。部分结果、未知投递状态和失败项必须如实保留。
|
|
10
|
+
- 时间戳面向用户展示时转换为带时区的可读时间;默认使用当前会话时区,必要时同时保留原值。
|
|
11
|
+
- 遇到认证、权限、profile、confirmation 或未知错误时,只加载 `dingtalk-shared` 中对应 reference;不要连续猜测替代命令。
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Schema 渐进查询
|
|
2
|
+
|
|
3
|
+
`dws schema` 内嵌当前二进制公开命令面的结构化契约。**Agent 选择命令、读取参数映射/约束和安全语义时优先渐进查询 leaf Schema**;真正组装执行参数前,用 `--help` 确认当前 Cobra 接受的 flags。
|
|
4
|
+
|
|
5
|
+
本节同时适用于基础/原子命令与公开内建 `+` shortcut。用户自定义或未公开 shortcut 不进入发布 Schema;是否可执行仍以当前 Cobra help 为准。
|
|
6
|
+
|
|
7
|
+
## 已知命令路径例外
|
|
8
|
+
|
|
9
|
+
当产品 Skill、意图表或任务 reference **已经给出精确 CLI path** 时:
|
|
10
|
+
|
|
11
|
+
- 不要再查产品级/分组级 Schema,也不要加载完整 Shortcut Catalog
|
|
12
|
+
- 可直接执行;只有参数、约束或安全语义不确定时才读该命令的 leaf Schema
|
|
13
|
+
- 只有当前 Cobra flags 不确定时才补读 leaf Help
|
|
14
|
+
|
|
15
|
+
稳定 command identity 已与真实 Cobra tree 绑定。不要读取 Catalog 文件、native annotation 或其他生成 JSON 来重新推断命令。
|
|
16
|
+
|
|
17
|
+
## 四层查询
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# 第 1 层:产品概览(列出产品 + 工具数 + 用途摘要)
|
|
21
|
+
dws schema
|
|
22
|
+
|
|
23
|
+
# 第 2 层:产品级(该产品工具的 cli_path + description + effect/risk)
|
|
24
|
+
dws schema calendar --compact
|
|
25
|
+
|
|
26
|
+
# 第 3 层:分组级
|
|
27
|
+
dws schema "calendar event" --compact
|
|
28
|
+
|
|
29
|
+
# 第 4 层:Agent leaf(参数契约)
|
|
30
|
+
dws schema "calendar event create" --compact
|
|
31
|
+
|
|
32
|
+
# --all:全量 leaf,仅 CI / 审计 / 参数 baseline
|
|
33
|
+
dws schema --all --format json
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### `--all` 边界(强制)
|
|
37
|
+
|
|
38
|
+
`--all` 输出体积很大。仅在用户明确要求全量导出,或 CI / Catalog 审计 / 参数防丢 baseline 时使用。普通业务任务严禁用 `--all` 做命令发现,也不要把全量结果注入 Agent 上下文;必须按「产品概览 → 产品/分组 → leaf」渐进查询。
|
|
39
|
+
|
|
40
|
+
完整兼容性 baseline 必须使用未裁剪的 `schema --all`;`schema --all --compact` 会移除 provenance 和接口映射字段,不得作为完整 baseline。
|
|
41
|
+
|
|
42
|
+
同一工具省略 `--compact` 的 full leaf 与 `--all` 条目是同一份 `ToolSpec` 契约;compact leaf 只做展示投影,不重新解析语义。Alias 查询只改变路径视图,不得据此重写参数。若同一视图观察到内容差异,按契约漂移报告,不要选一份继续猜。
|
|
43
|
+
|
|
44
|
+
### `--compact`
|
|
45
|
+
|
|
46
|
+
正向字段白名单:保留 `cli_path`、`canonical_path`、`description`、`effect`、`risk`、`confirmation`、`interface_mode`、`availability`、`interface_reason`、`parameters`、`constraints`、`examples`、`use_when`、`avoid_when`;新增 full/audit 字段不会自动泄漏进 Agent 上下文。它有意不返回 `interface_ref`、参数 `property/interface_type` 和 provenance(如 `agent_metadata_source`、`effect_source`、`primary_cli_path` 等);检查这些映射事实时,用 full leaf 配合 `--jq` 精确投影。
|
|
47
|
+
|
|
48
|
+
若旧二进制报 `unknown_flag: --compact`,去掉 `--compact` 重跑同一查询;不要因此判定 leaf 不存在,也不要用 Schema 查业务数据。
|
|
49
|
+
|
|
50
|
+
## 字段速查
|
|
51
|
+
|
|
52
|
+
```jsonc
|
|
53
|
+
{
|
|
54
|
+
"cli_path": "calendar event create",
|
|
55
|
+
"effect": "write", // read | write | destructive
|
|
56
|
+
"risk": "medium", // low | medium | high
|
|
57
|
+
"confirmation": "not_required", // not_required | user_required
|
|
58
|
+
"availability": "available",
|
|
59
|
+
"parameters": { "title": { "type": "string", "required": true } },
|
|
60
|
+
"constraints": { "require_together": [["a", "b"]] }
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
- `confirmation=user_required` → 先确认再加 `--yes`;协议见 [confirmation.md](./confirmation.md)
|
|
65
|
+
- `availability=unavailable` → 不执行;说明 `interface_reason`
|
|
66
|
+
- `parameters.<flag>.required=true` / `cli_required=true` → 按 Schema/Cobra 契约提供参数
|
|
67
|
+
- `constraints.require_together` → 列出的 flag 必须同时提供
|
|
68
|
+
|
|
69
|
+
## Schema、Help 与业务数据边界
|
|
70
|
+
|
|
71
|
+
| 信息 | 事实源 |
|
|
72
|
+
|---|---|
|
|
73
|
+
| 命令是否存在、Cobra 接受哪些 flags | `dws <cli_path> --help` |
|
|
74
|
+
| Agent 选择、CLI 参数/required/组合约束、risk/confirmation | `dws schema "<cli_path>" --compact` |
|
|
75
|
+
| CLI↔RPC 参数映射、接口绑定或 provenance 审计 | full leaf 配合 `--jq` / `--fields` 精确投影;不要把整个 full leaf 注入 Agent 上下文 |
|
|
76
|
+
| shortcut 同上 | 已知路径:`dws schema --cli-path "<service> +<shortcut>" --compact --format json` |
|
|
77
|
+
| 钉钉业务数据 | 真实 `read` / `search` / `list` 等命令 |
|
|
78
|
+
|
|
79
|
+
Schema 与 Help 冲突是**契约漂移**:执行参数只用 Cobra 接受的 flags;安全语义冲突时采用更保守确认,无法确认则停止并报告。
|
|
80
|
+
|
|
81
|
+
`dws schema` 只查询命令契约。完成发现后必须继续执行真实业务命令;不要把 Schema 结果当成业务查询结果。
|
|
82
|
+
|
|
83
|
+
### 两类易混 Schema
|
|
84
|
+
|
|
85
|
+
- `dws event schema <event_key> --flatten`:事件业务字段
|
|
86
|
+
- `dws schema "event consume" --compact`:CLI 命令参数
|
|
87
|
+
|
|
88
|
+
二者不可互相替代。
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# URL 格式与处理规范
|
|
2
|
+
|
|
3
|
+
## 路由第 0 步:意图直达(优先级高于 URL 探测)
|
|
4
|
+
|
|
5
|
+
用户已经明确表达某产品的内容意图时,直接进入对应产品场域,不要先做 URL 类型
|
|
6
|
+
探测。尤其:
|
|
7
|
+
|
|
8
|
+
- 明确提到 Markdown / `.md` 文件的读取或修改,按普通文件走 `drive` 场域:
|
|
9
|
+
先 `dws drive download` 下载到本地处理,再用 `dws drive upload` 回传。
|
|
10
|
+
- 明确“读这篇文档 / 编辑文档正文”进入 `doc`;明确“看这个在线表格数据”进入
|
|
11
|
+
`sheet`。
|
|
12
|
+
|
|
13
|
+
仅当用户只粘贴 URL、没有明确产品意图,或意图与链接类型可能冲突时,才执行下方
|
|
14
|
+
类型探测。
|
|
15
|
+
|
|
16
|
+
## alidocs URL 分流决策(意图不明确时执行)
|
|
17
|
+
|
|
18
|
+
收到 `alidocs.dingtalk.com` URL 且无法从指令判断产品时,必须按以下顺序判断:
|
|
19
|
+
|
|
20
|
+
1. URL 路径含 `/i/p/` → **分享短链**,禁止调用 `dws doc` 任何子命令 → 按下方 [分享短链处理](#分享短链处理) 执行
|
|
21
|
+
2. URL 路径含 `/i/nodes/` → **节点链接**,需探测类型 → 按下方 [alidocs URL 类型探测流程](#alidocs-url-类型探测流程) 执行
|
|
22
|
+
3. URL 路径含 `/spreadsheetv2/` → **电子表格直链**,直接路由到 `sheet`,将完整 URL 原样传给 `--node` 参数
|
|
23
|
+
4. URL 路径含 `/document/edit` 或 `/document/preview` 且 query 参数包含 `dentryKey` → **文档链接**,直接路由到 `doc`,将完整 URL 原样传给 `--node` 参数(URL 中不一定有 `type=d`,只需匹配路径和 `dentryKey` 参数即可)
|
|
24
|
+
5. 其他 alidocs URL 格式 → 告知用户当前暂不支持该链接格式
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 已知 URL 格式
|
|
29
|
+
|
|
30
|
+
需要自行拼接链接时,只能使用以下模板:
|
|
31
|
+
|
|
32
|
+
| 产品 | 用途 | URL 格式 | ID 来源 |
|
|
33
|
+
|------|------|----------|---------|
|
|
34
|
+
| `aitable` | AI表格 Base 链接 | `https://alidocs.dingtalk.com/i/nodes/{baseId}` | `base list/search/create/get` 返回的 `baseId` |
|
|
35
|
+
| `aitable` | AI表格指定数据表链接 | `https://alidocs.dingtalk.com/i/nodes/{baseId}?iframeQuery=sheetId%3D{tableId}` | `baseId` + `table create/get` 或 `base get` 返回的 `tableId` |
|
|
36
|
+
| `aitable` | AI表格指定数据表+视图链接 | `https://alidocs.dingtalk.com/i/nodes/{baseId}?iframeQuery=sheetId%3D{tableId}%26viewId%3D{viewId}` | `baseId` + `tableId` + `view create/get` 返回的 `viewId` |
|
|
37
|
+
| `aitable` | AI表格模板预览 | `https://docs.dingtalk.com/table/template/{templateId}` | `template search` 返回的 `templateId` |
|
|
38
|
+
| `doc` | 文档链接 | `https://alidocs.dingtalk.com/i/nodes/{dentryUuid}` | `doc` 命令返回的 `dentryUuid` |
|
|
39
|
+
| `sheet` | 电子表格链接 | `https://alidocs.dingtalk.com/i/nodes/{dentryUuid}` | `sheet create` 返回的 `dentryUuid` |
|
|
40
|
+
| `sheet` | 电子表格直链 | `https://alidocs.dingtalk.com/spreadsheetv2/{key}/...?dentryKey={key}&type=s` | 用户提供的完整 URL,直接传给 `--node` |
|
|
41
|
+
| `doc` | 文档链接(edit/preview) | `https://alidocs.dingtalk.com/document/{edit\|preview}?...&dentryKey={key}` | 用户提供的完整 URL,直接传给 `--node` |
|
|
42
|
+
| `minutes` | 听记链接 | `https://shanji.dingtalk.com/app/transcribes/{taskUuid}` | `list mine/shared` 返回的 `taskUuid` |
|
|
43
|
+
|
|
44
|
+
不在此表中的产品,禁止自行拼接 URL。命令返回中包含完整链接时直接使用,否则告知用户无法提供。
|
|
45
|
+
|
|
46
|
+
## 分享短链处理
|
|
47
|
+
|
|
48
|
+
`alidocs.dingtalk.com/i/p/{shortKey}` 是钉钉文档的**对外分享短链**,`dws doc` 命令无法解析此格式。
|
|
49
|
+
|
|
50
|
+
### 识别规则
|
|
51
|
+
|
|
52
|
+
URL 路径中包含 `/i/p/` 即为分享短链(无论后面是否还有子路径),例如:
|
|
53
|
+
- `https://alidocs.dingtalk.com/i/p/Y7kmbokZp3pgGLq2`
|
|
54
|
+
- `https://alidocs.dingtalk.com/i/p/Y7kmbokZp3pgGLq2/docs/AY39rGpMPmeVNpXZevZm8OZkXKnaoNQ7`
|
|
55
|
+
- `https://alidocs.dingtalk.com/i/p/AbCdEfGh1234`
|
|
56
|
+
- `https://alidocs.dingtalk.com/i/p/AbCdEfGh1234/sheets/XYZ789`
|
|
57
|
+
|
|
58
|
+
> **关键**:只要 URL 中出现 `/i/p/`,无论后面跟什么子路径(`/docs/...`、`/sheets/...` 等),都属于分享短链,一律禁止调用 `dws doc`。
|
|
59
|
+
|
|
60
|
+
### 处理方式
|
|
61
|
+
|
|
62
|
+
**不要调用 `dws doc` 任何子命令**(包括 `doc info`、`doc read` 等),`dws` 无法解析此格式。
|
|
63
|
+
|
|
64
|
+
- **需要获取文档内容时**:使用 `read_url` 工具直接读取该链接
|
|
65
|
+
- **其他操作(如移动、复制、权限管理等)**:告知用户此链接为分享短链,无法直接执行复制、移动、权限管理等操作。如需保存该文档内容,建议用户在钉钉客户端中打开该页面,手动复制文本内容,然后可通过 `dws doc create` 创建一篇新文档并将内容写入
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
# 需要读取文档内容时(无论 /i/p/ 后面有没有子路径,都用 read_url)
|
|
69
|
+
read_url("https://alidocs.dingtalk.com/i/p/Y7kmbokZp3pgGLq2")
|
|
70
|
+
read_url("https://alidocs.dingtalk.com/i/p/Y7kmbokZp3pgGLq2/docs/AY39rGpMPmeVNpXZevZm8OZkXKnaoNQ7")
|
|
71
|
+
|
|
72
|
+
# 禁止(以下全部会失败,dws 无法解析任何含 /i/p/ 的 URL)
|
|
73
|
+
dws doc info --node "https://alidocs.dingtalk.com/i/p/Y7kmbokZp3pgGLq2" --format json
|
|
74
|
+
dws doc read --node "https://alidocs.dingtalk.com/i/p/Y7kmbokZp3pgGLq2/docs/AY39rGpMPmeVNpXZevZm8OZkXKnaoNQ7" --format json
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### 当 `read_url` 返回内容不完整时
|
|
78
|
+
|
|
79
|
+
钉钉文档分享页是动态渲染的,`read_url` 可能只能获取到页面标题等有限信息,无法获取文档正文。此时**禁止猜测原因**(如"权限不足""文档为空""文档已删除"等),**禁止建议用户"提供 `/i/nodes/` 格式链接"**(分享短链和节点链接是不同体系,普通用户无法自行转换)。应直接告知用户:
|
|
80
|
+
|
|
81
|
+
> 这个链接是钉钉文档的分享短链,由于页面是动态渲染的,我无法通过该链接直接获取文档的完整正文内容。
|
|
82
|
+
>
|
|
83
|
+
> 你可以:
|
|
84
|
+
> 1. 在钉钉客户端中打开该文档,将正文内容复制粘贴给我
|
|
85
|
+
> 2. 如果文档已保存在你的文档空间中,可以告诉我文档名称,我通过 `dws drive search` 搜索后再读取
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## alidocs URL 类型探测流程
|
|
90
|
+
|
|
91
|
+
`alidocs.dingtalk.com/i/nodes/{id}` 是钉钉文档空间的统一 URL,可能指向**文档、电子表格、多维表、文件、文件夹**等不同类型。**禁止仅凭 URL 就假定为文档**,必须先探测类型再路由到正确的产品。
|
|
92
|
+
|
|
93
|
+
### 探测步骤
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
Step 1 → dws drive info --node "<URL>" --format json
|
|
97
|
+
Step 2 → 从返回中提取 extension、nodeType 字段
|
|
98
|
+
Step 3 → 按下方路由规则映射到对应产品
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
> 路由依据是 `extension`,不是 `contentType`。`drive info` 检测到
|
|
102
|
+
> `adoc` / `axls` / `able` 时会自动补充在线文档信息。
|
|
103
|
+
|
|
104
|
+
### 路由映射表
|
|
105
|
+
|
|
106
|
+
| 条件 | 路由到产品 | 后续操作 |
|
|
107
|
+
|------|-----------|---------|
|
|
108
|
+
| `extension=adoc` | `doc` | 加载 `dingtalk-doc` 操作内容 |
|
|
109
|
+
| `extension=axls` | `sheet` | 加载 `dingtalk-misc` 的 `references/sheet.md` 操作(仅 `axls` 在线电子表格) |
|
|
110
|
+
| `extension=able` | `aitable` | 将 nodeId 作为 baseId,加载 `dingtalk-aitable` 操作 |
|
|
111
|
+
| `extension=xlsx` / `xls` / `xlsm` / `csv` | `drive` | 必须用 `dws drive download` 下载到本地处理,禁止走 `sheet` |
|
|
112
|
+
| `nodeType=file`(非在线文档扩展名,含 `md`) | `drive` | 下载用 `dws drive download --node <ID> --output <PATH> --format json`;上传/覆盖用 `dws drive upload` |
|
|
113
|
+
| `nodeType=folder` | `drive` / `wiki` | 调用 `dws drive list --workspace <WS_ID>` 或 `dws wiki node list` 列出子节点 |
|
|
114
|
+
| 以上均不匹配 | — | 告知用户当前暂不支持该类型 |
|
|
115
|
+
|
|
116
|
+
> axls vs xlsx 关键区分:
|
|
117
|
+
> - `axls`(钉钉在线电子表格,`contentType=ALIDOC`)→ 走 `sheet` 产品线(读/写/筛选/导出等服务端原子操作)
|
|
118
|
+
> - `xlsx` / `xls` / `xlsm` / `csv`(上传到文档空间的本地表格文件,`contentType=DOCUMENT`)→ 必须走 `dws drive download` 下载到本地后再解析处理,严禁错误路由到 `sheet` 产品线(sheet 命令只支持在线表格,调用 xlsx 节点会直接报错)
|
|
119
|
+
> - 用户想把在线表格导出为 xlsx 文件 → 用 `dws sheet export`(输入是 `axls`,输出是 xlsx,这是 axls → xlsx 的格式转换,不属于 xlsx 读取场景)
|
|
120
|
+
|
|
121
|
+
### 示例
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# 用户传入: https://alidocs.dingtalk.com/i/nodes/abc123
|
|
125
|
+
dws drive info --node "https://alidocs.dingtalk.com/i/nodes/abc123" --format json
|
|
126
|
+
|
|
127
|
+
# 返回 extension=axls → 在线电子表格,路由到 sheet
|
|
128
|
+
dws sheet list --node "https://alidocs.dingtalk.com/i/nodes/abc123" --format json
|
|
129
|
+
|
|
130
|
+
# 返回 extension=xlsx/xls/csv → 本地表格文件,必须下载处理(禁止走 sheet)
|
|
131
|
+
dws drive download --node "https://alidocs.dingtalk.com/i/nodes/xlsx456" --output <PATH> --format json
|
|
132
|
+
|
|
133
|
+
# 返回 nodeType=file → 普通文件,下载
|
|
134
|
+
dws drive download --node "https://alidocs.dingtalk.com/i/nodes/def456" --output <PATH> --format json
|
|
135
|
+
|
|
136
|
+
# 返回 nodeType=folder → 文件夹,列出子节点
|
|
137
|
+
dws drive list --workspace <WS_ID> --format json
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 何时可跳过探测
|
|
141
|
+
|
|
142
|
+
当用户指令中已明确指定产品(如"帮我读这个文档"、"看下这个表格的数据"),可结合用户意图**跳过探测**直接路由。仅在以下情况**必须执行探测**:
|
|
143
|
+
- 用户只粘贴 URL,无其他上下文
|
|
144
|
+
- 用户指令与 URL 实际类型可能不一致(如说"文档"但实际是表格)
|