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,93 @@
|
|
|
1
|
+
# Sheet 写入数据
|
|
2
|
+
|
|
3
|
+
## 进入本阶段的条件
|
|
4
|
+
|
|
5
|
+
仅在任务需要富文本、单元格超链接、数据验证、per-cell 样式、结构化 table 写入,或需要在 csv-put / range update / append 之间选择时读取本文件。普通二维值写入优先遵循上层 sheet.md。
|
|
6
|
+
|
|
7
|
+
## 选择最短写入路径
|
|
8
|
+
|
|
9
|
+
| 目标 | 命令 | 关键边界 |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| 超过 5 行或 20 个单元格的纯值/公式 | dws sheet csv-put | stdin 优先;最多 2M 字符、30000 单元格;覆盖已有内容必须显式 --allow-overwrite |
|
|
12
|
+
| 少量值、富文本、链接、数据验证、逐格样式 | dws sheet range update | --values 必须与目标范围行列数完全一致 |
|
|
13
|
+
| 末尾追加同构记录 | dws sheet append | 每一行列数一致;不要先读取并手算最后一行 |
|
|
14
|
+
| columns/data/dtypes/formats 协议 | dws sheet table-put | 多工作表用 --sheets;总单元格数含表头不超过 30000 |
|
|
15
|
+
|
|
16
|
+
所有既有工作表写入都必须使用真实 sheetId。当前上下文没有时只调用一次:
|
|
17
|
+
|
|
18
|
+
dws sheet +list-sheets --node <NODE_ID> --format json
|
|
19
|
+
|
|
20
|
+
按完整标题唯一匹配;禁止猜 Sheet1、0、default。后续阶段复用同一个 nodeId、sheetId 和 profile。
|
|
21
|
+
|
|
22
|
+
## 小范围与富格式写入
|
|
23
|
+
|
|
24
|
+
dws sheet range update --node <NODE_ID> --sheet-id <SHEET_ID> --range "A1:B2" --values '[[{"type":"text","text":"名称"},{"type":"text","text":"链接"}],[{"type":"text","text":"项目"},{"type":"text","text":"详情","hyperlink":{"type":"path","link":"https://example.com"}}]]' --format json
|
|
25
|
+
|
|
26
|
+
硬约束:
|
|
27
|
+
|
|
28
|
+
- 二维数组中的每格必须是 JSON object,不能直接传 string/number/boolean/null。写值时 type 只取 text 或 richText,数字和布尔值也按 text 字符串传递;只改 hyperlink/dataValidation/cellStyles 时可以省略 type,以保留原值。
|
|
29
|
+
- 用 {} 跳过单元格并保留原值;清空单个格传 {"type":"text","text":""},清空整片范围用 range clear。
|
|
30
|
+
- 单元格级 hyperlink 与 richText 片段链接不要混用。取消整格链接使用 `hyperlink:{"type":"none"}`;不传 hyperlink 表示保留原链接,不能用 null 猜测清除语义。
|
|
31
|
+
- richText 仅在确实需要多片段样式、片段链接、附件或图片时使用;媒体 resourceId/resourceUrl 必须来自本任务 media-upload 的真实返回。
|
|
32
|
+
- dataValidation 是三态:不传表示保留原规则;传 `{"dataValidation":{"type":"none"}}` 表示清除;传 `dropdown` 或 `checkbox` 表示写入新规则。dropdown 的 `options` 与 `sourceRange` 必须且只能传一个;sourceRange 使用 `{"sheetId":"真实ID","a1Notation":"A1:A3"}`,不能传猜测名称。
|
|
33
|
+
- cellStyles 适合“写值时顺带给少量格设置样式”,也可单独传 `{"cellStyles":{...}}` 只改样式并保留原值;整片统一样式进入 sheet-style-format 阶段。
|
|
34
|
+
- 公式以 = 开头;需要字面量等号时前加单引号。
|
|
35
|
+
- 单次建议不超过 1000 行、5000 个单元格;总量不得超过当前命令契约的 30000 单元格。超出时按连续不重叠范围拆分,每块分别回读。
|
|
36
|
+
- 目标范围与 mergedRanges 冲突时,range update 会返回 `MERGED_CELLS_CONFLICT`。先用 info 定位冲突范围,必要时经用户同意取消合并,写入后再按原意恢复;不能把错误当成空结果。
|
|
37
|
+
- SourceRange 下拉在结构移动后必须回读 `sourceRangeStatus`。同一 cell 的值/样式可能已写入,但下拉创建失败时服务端仍可能返回 success=true 并把失败写在 message;必须同时检查 message 和 range read 的 dataValidation。
|
|
38
|
+
|
|
39
|
+
## 大块纯值写入
|
|
40
|
+
|
|
41
|
+
优先 stdin,避免大 JSON 和 shell 转义:
|
|
42
|
+
|
|
43
|
+
dws sheet csv-put --node <NODE_ID> --sheet-id <SHEET_ID> --start-cell A1 --csv - --format json
|
|
44
|
+
|
|
45
|
+
先比较目标范围是否已有内容。只有用户授权覆盖,或该范围由本任务新建且尚未交付时,才加 --allow-overwrite。达到 30000 单元格上限时按不重叠连续块分批,每块写后只回读该块;不要把截断或部分写入称为成功。
|
|
46
|
+
|
|
47
|
+
CSV 必须使用 ASCII 英文逗号 `,`;中文逗号 `,` 不会分列,会把整行写进一个单元格。目标区域含合并单元格时 csv-put 会打散合并并写入,这与 range update 的冲突失败语义不同;需要保留合并时先记录 mergedRanges,写完再恢复。csv-put 只承载值和公式,不承载样式、超链接、richText 或 dataValidation。
|
|
48
|
+
|
|
49
|
+
### 自动类型转换与文本保真
|
|
50
|
+
|
|
51
|
+
普通 CSV 写入沿用默认自动类型转换,示例省略该 flag:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
dws sheet csv-put --node <NODE_ID> --sheet-id <SHEET_ID> --start-cell A1 \
|
|
55
|
+
--csv 'name,score\nAlice,95\nBob,87'
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
用户明确要求“保留前导零 / 不要转日期 / 按文本原样导入 / 禁止类型推断”时才添加 `--auto-convert=false`:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
dws sheet csv-put --node <NODE_ID> --sheet-id <SHEET_ID> --start-cell A1 \
|
|
62
|
+
--auto-convert=false \
|
|
63
|
+
--csv $'id,date,total\n001,2026/8/1,"=SUM(1,2)"'
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
`--auto-convert=false` 只关闭非公式字段的类型推断:`001`、`12.10`、`1E3`、`2026/8/1`、`85%`、`TRUE` 都按原始文本写入;RFC 4180 解码后首字符为 `=` 的字段仍是公式,`'=...` 则作为普通文本保留前置单引号。用户希望识别数字、日期、百分比或布尔时,省略 `--auto-convert`,使用默认 `true`;不要给所有 `csv-put` 无条件添加该参数。有明确列类型要求时改用 `table-put` 的 `dtypes` / `formats`。
|
|
67
|
+
|
|
68
|
+
## 结构化 table 写入
|
|
69
|
+
|
|
70
|
+
dws sheet table-put --node <NODE_ID> --sheets '{"name":"订单","columns":["订单号","金额"],"data":[["9007199254740993",12.5]],"dtypes":{"订单号":"object","金额":"float64"},"formats":{"订单号":"@","金额":"0.00"}}' --format json
|
|
71
|
+
|
|
72
|
+
table-put 只有 --sheets 数据入口,接受单个 spec、spec 数组或 `{ "sheets": [...] }`,也可用 @文件和 stdin;不要发明 --columns/--data 等顶层 flag。table-put 不放入 batch-update。
|
|
73
|
+
|
|
74
|
+
单个 sheet spec 的最小契约:
|
|
75
|
+
|
|
76
|
+
- name 与 sheetId 二选一;name 不存在时创建同名工作表,sheetId 优先且不得猜测。
|
|
77
|
+
- columns 必填、非空、列名去空白后非空且不重复;data 默认空数组,每行宽度必须等于 columns 长度。
|
|
78
|
+
- startCell 默认 A1;mode 取 overwrite(默认)或 append。header 在 overwrite 默认 true、append 默认 false;append 到空表且未显式设置时写表头。
|
|
79
|
+
- allowOverwrite 默认 true;需要保护已有值时显式 false。不要把 csv-put 的默认 false 套到 table-put。
|
|
80
|
+
- dtypes、formats 的键必须来自 columns;单元格值只用 string/number/boolean/null。复用 table-get 时,data 中 `{}` 按空位/null 处理。
|
|
81
|
+
- 单表最多 30000 单元格,包含表头。table-put 不支持 dataValidation、hyperlink、richText、附件或单元格图片;这些能力改用 range update/write-image。
|
|
82
|
+
|
|
83
|
+
商品 ID、订单号、手机号、工号以及超过 2^53-1 的整数必须以 JSON 字符串传入,并在 dtypes/formats 中按列名声明 object 与 @,避免精度损失。写完用 table-get 验证 columns/data/dtypes/formats;table-get 不返回 cellStyles,样式另用 range read 验证。
|
|
84
|
+
|
|
85
|
+
## 写后验证
|
|
86
|
+
|
|
87
|
+
写命令成功只证明请求已接收。必须读回最小受影响范围:
|
|
88
|
+
|
|
89
|
+
dws sheet csv-get --node <NODE_ID> --sheet-id <SHEET_ID> --range "A1:B2" --format json
|
|
90
|
+
|
|
91
|
+
检查 returnedRange、hasMore、truncationReasons 和关键值。公式先用 value-render-option=formula 确认公式文本,再在需要时用 raw_value 或 formula-verify 验证计算结果。富文本、链接或数据验证使用 range read 获取 per-cell 结构;样式与合并用对应对象读命令。
|
|
92
|
+
|
|
93
|
+
对“写成功后立即读为空”的一致性延迟,只重试只读校验,采用 0ms、250ms、500ms、1s 的有界退避;不得重放非幂等写入。四次仍不一致则明确失败,不把空结果伪装成成功。
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# 业务域通用规范
|
|
2
|
+
|
|
3
|
+
> 仅服务本 skill 已迁入的行动指南。安全门控、危险操作确认、`--format json` 等已在本 skill 的 `SKILL.md` 中定义,此处不重复。
|
|
4
|
+
|
|
5
|
+
## 批量查询规范
|
|
6
|
+
|
|
7
|
+
| # | 规范 |
|
|
8
|
+
|---|------|
|
|
9
|
+
| 1 | **并行查详情**:拿到多个 ID 后,用 `&` 合并到同一条 Shell 命令并行执行 + `wait`,**严禁逐条串行** |
|
|
10
|
+
| 2 | **翻页**:分页接口须拉全直至无更多 |
|
|
11
|
+
| 3 | **优先批量 API**:有批量接口则用批量;无则按 #1 并行 |
|
|
12
|
+
| 4 | **群消息**:必须先 `chat search --query` 得 `openConversationId`,再 `chat message list --group <openConversationId> --time "<yyyy-MM-dd HH:mm:ss>" --direction older`;多群同条命令并行 |
|
|
13
|
+
| 5 | **列表少轮次**:带条件搜索/列表 → 一次采全详情;**禁止**无新参数时重复同一 `list` / `search` |
|
|
14
|
+
|
|
15
|
+
## 多源并行采集(公共模式)
|
|
16
|
+
|
|
17
|
+
> recipe 引用方式:`按「多源并行采集」执行(关键词=<X>,时间=<Y>至<Z>)`。
|
|
18
|
+
|
|
19
|
+
- 同条 Shell:`&` 并行 + `wait`;分页须采全。
|
|
20
|
+
- 只保留与主题相关的数据,无关丢弃。
|
|
21
|
+
- 有批量详情接口优先;否则并行拉详情(见上表 #1)。
|
|
22
|
+
- 具体采哪些产品列表由对应 **行动指南 recipe** 与当前产品参考决定;不要引入本文档未覆盖的产品路线。
|
|
23
|
+
|
|
24
|
+
## 字段术语与 ID 传递
|
|
25
|
+
|
|
26
|
+
> list 返回 JSON 后,必须提取下表字段传给后续命令。**禁止用其他字段替代。**
|
|
27
|
+
|
|
28
|
+
| 字段 | 来源 | 传递给 |
|
|
29
|
+
|------|------|--------|
|
|
30
|
+
| `taskUuid` | `minutes list` | `minutes get summary/info/batch --id(s)` |
|
|
31
|
+
| `userId` | `aisearch person` / `contact user search` / `contact dept list-members` | `contact user get --ids`、`todo --executors`、`calendar --users` |
|
|
32
|
+
| `deptId` | `contact dept search` | `contact dept list-members --ids <deptId1,deptId2...>`;多子部门时对每个子部门分别 `dept search` 取 id |
|
|
33
|
+
| `nodeId` | `drive search` / `wiki node search` | `doc read/update --node`、`drive copy/move/rename/delete --node` |
|
|
34
|
+
| `nodeId` | `wiki node list` 中的 folder 类型节点 / `wiki node create --type folder` | `wiki node list --folder`、`wiki node create --folder`、`drive upload --folder`、`drive copy/move --folder` |
|
|
35
|
+
| `eventId` | `calendar event list` | `calendar event get/update --id` |
|
|
36
|
+
| `processInstanceId` | `oa approval list-*` | `oa approval detail/approve --instance-id` |
|
|
37
|
+
| `openConversationId` | `chat search` | `chat message list/send --group` |
|
|
38
|
+
| `todoTaskId` | `todo task list` | `todo task update/done --task-id` |
|
|
39
|
+
| `reportId` | `report inbox list` / `report outbox list` | `report entry get/stats --report-id` |
|
|
40
|
+
| `baseId` / `tableId` | `aitable base search` | `aitable record query --base-id --table-id` |
|
|
41
|
+
| `dentryUuid` | `drive list` / `drive mkdir` | `drive info/download/copy/move/rename/delete --node`、`drive list/mkdir/upload/copy/move --folder` |
|
|
42
|
+
| `dentryId` | `drive info` 的数字字段 | 仅用于 `chat message send --dentry-id` |
|
|
43
|
+
|
|
44
|
+
**ID 边界硬约束**:`dentryId` 通常是纯数字,只表示聊天文件消息需要的钉盘条目数字 ID;它不是父目录 ID。遇到 `drive --node/--folder`、`doc --node`、`wiki node --folder` 时,只能使用 `dentryUuid` / `nodeId` / 文档 URL。若当前上下文只有数字型 `dentryId`,必须先重新 `drive list` / `drive search` / `wiki node list` 获取正确 ID,不能把该数字直接代入后续命令。
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# sheet 局部意图消歧
|
|
2
|
+
|
|
3
|
+
本文件从单 Skill `intent-guide.md` 拆分而来,仅保留与本产品相关的跨产品消歧规则。
|
|
4
|
+
|
|
5
|
+
| 用户说... | 真实意图 | 应该用 | 不要用 | 理由 |
|
|
6
|
+
|---|---|---|---|---|
|
|
7
|
+
| "帮我建一个项目跟踪表" | 创建数据表格 | `aitable` | `doc` / `sheet` | 涉及结构化数据/行列操作,不是富文本文档或电子表格 |
|
|
8
|
+
| "创建一个电子表格" | 创建表格文档 | `sheet` | `aitable` | Excel 式表格/单元格操作,不是多维表记录 |
|
|
9
|
+
| "帮我读一下表格 A1:D10 的数据" | 读取单元格数据 | `sheet` | `aitable` | 按单元格区域读写,不是按记录查询 |
|
|
10
|
+
| "这个 alidocs 表格链接帮我看下"(粘贴原始 URL) | 先 probe 节点类型 | `dws drive info --node` → 按 `extension` 路由 | 直接调 `sheet` | `alidocs/i/nodes/{id}` 可能是文档/axls/able/xlsx 等,禁止凭 URL 猜类型 |
|
|
11
|
+
| "读一下这个 xlsx 的数据" / xlsx 节点链接 | 下载本地表格文件 | `dws drive download --node` | `sheet range read` | xlsx / xls / xlsm / csv 是上传的本地文件(`contentType=DOCUMENT`),sheet 命令只支持在线表格,必须下载后本地解析 |
|
|
12
|
+
| "把这个在线表格导出为 xlsx 文件" | 在线表格格式转换 | `dws sheet export` | `dws drive download` | `export` 是 axls → xlsx 的导出转换;`download` 只能下载已有的 xlsx 节点 |
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# 电子表格(Sheet)
|
|
2
|
+
|
|
3
|
+
> 本文件是 Sheet 常见任务的唯一必读 reference,已经覆盖创建、定位、读写、验证、导出和清理。复杂任务按执行阶段加载精确子 reference:每个阶段最多一份,真正进入下一阶段时才允许继续加载;不要批量预读 `sheet/`、`dingtalk-shared` 或 Drive 文档。
|
|
4
|
+
|
|
5
|
+
<!-- DWS_RUNTIME_CONTRACT_START -->
|
|
6
|
+
## 最小 DWS 执行契约
|
|
7
|
+
|
|
8
|
+
- 只通过 `dws` CLI 操作钉钉;结构化读取使用 `--format json`,按真实返回判断结果。
|
|
9
|
+
- 已知命令直接执行。只有 leaf 参数或安全语义不确定时读取精确 Schema,只有 Cobra flag 不确定时读取精确 leaf Help;不要加载产品级 Catalog 代替选路。
|
|
10
|
+
- 不猜命令、flag、字段、ID、账号或时间。后续 ID 必须来自真实返回;零命中、多候选或类型不明时停止并消歧。
|
|
11
|
+
- 解析目标、读取上下文和最终执行必须使用同一 profile;不得跨组织复用 userId、openDingTalkId 或 openConversationId。多账号组织只使用明确的 `isOrgCurrent=true` 默认账号;没有默认账号时要求用户指定,禁止选择第一项、最近登录或最近使用账号。
|
|
12
|
+
- 不输出或记录 token、refresh token、appSecret、webhook token 等凭据;宿主已注入认证时不要索要凭据。
|
|
13
|
+
- 写操作必须符合用户明确意图。是否需要确认以最终 Runtime gate 和 Schema 为准;需要确认时先说明对象、动作与影响,再追加 `--yes`。
|
|
14
|
+
- 写后按任务结果契约验证;不能仅凭退出码宣称成功。部分结果、未知投递状态和失败项必须如实保留。
|
|
15
|
+
- 时间戳面向用户展示时转换为带时区的可读时间;默认使用当前会话时区,必要时同时保留原值。
|
|
16
|
+
- 遇到认证、权限、profile、confirmation 或未知错误时,只加载 `dingtalk-shared` 中对应 reference;不要连续猜测替代命令。
|
|
17
|
+
<!-- DWS_RUNTIME_CONTRACT_END -->
|
|
18
|
+
|
|
19
|
+
Sheet 操作先读必要范围、做最小修改,再用匹配读命令回读;已有原生命令时不要用本地脚本或多次客户端读写模拟。
|
|
20
|
+
|
|
21
|
+
## 产品边界
|
|
22
|
+
|
|
23
|
+
| 用户或资源 | 路由 |
|
|
24
|
+
|---|---|
|
|
25
|
+
| 明确说“在线电子表格/工作表/单元格/A1/公式/图表/透视表/版本” | `dws sheet`,即使用户同时说“结构化整理”“表头”“记录”也不要改走 AITable |
|
|
26
|
+
| 明确说 Base/多维表/字段类型/记录视图,且没有 Sheet 原生操作 | `dws aitable` |
|
|
27
|
+
| 在线富文本文档 | `dws doc` |
|
|
28
|
+
| 本地 xlsx/xls,用户要转换为在线表格 | `dws sheet import create`;当前只支持 xlsx/xls |
|
|
29
|
+
| Drive 中的 xlsx/xls,用户要转换为在线表格 | 先用 `dws drive download` 下载到本地相对路径,再执行 `dws sheet import create`;不要把二进制节点传给工作表命令 |
|
|
30
|
+
| 只做本地分析,或文件是 xlsm/csv | 留在本地处理;当前 `sheet import` 不支持 xlsm/csv |
|
|
31
|
+
|
|
32
|
+
`sheet` 仅支持在线电子表格(`contentType=ALIDOC`、`extension=axls`)。只有用户给出未知类型 URL/ID 时才调用一次 `dws drive info --node <URL_OR_ID> --format json` 探测;刚由 `sheet create` 返回的资源无需再次 probe。`spreadsheetv2` URL 原样传入 `--node`,不要截短。
|
|
33
|
+
|
|
34
|
+
只有运行时仍无法识别 URL 形态时才按需查看 [链接规范](../../dingtalk-shared/references/url-patterns.md);只有上表无法判定的低频产品歧义才查看 [局部意图消歧](sheet-intent-guide.md)。这两份都不是冷启动必读项。
|
|
35
|
+
|
|
36
|
+
## 常用闭环
|
|
37
|
+
|
|
38
|
+
### 1. 创建
|
|
39
|
+
|
|
40
|
+
| 目标 | 命令 |
|
|
41
|
+
|---|---|
|
|
42
|
+
| 只建空表格 | `dws sheet create --name <NAME> --format json` |
|
|
43
|
+
| 新建并写入初始二维数据 | `dws sheet create-with-data --name <NAME> --values '<2D_JSON>' --format json` |
|
|
44
|
+
| 新建多个 typed 工作表 | `dws sheet create-with-data --name <NAME> --sheets '<SPECS_JSON>' --format json` |
|
|
45
|
+
| 浏览当前可用模板 | `dws sheet template list --format json` |
|
|
46
|
+
| 按关键词搜索模板 | `dws sheet template search --query <TEXT> --format json` |
|
|
47
|
+
| 用模板创建在线表格 | `dws sheet template apply --template-id <TEMPLATE_ID> --name <NAME> --format json` |
|
|
48
|
+
|
|
49
|
+
有初始数据时优先 `create-with-data`,它会创建、定位默认工作表、写入并读回,减少独立调用。空表才用 `create`。后续始终复用返回的真实 `nodeId`;不要从 URL 文本或历史会话猜 ID。
|
|
50
|
+
|
|
51
|
+
模板意图先用 `list` 或 `search` 取得唯一的真实 `templateId`;零个或多个候选时停止并消歧,不能把模板名称猜成 ID。`apply` 会新建在线表格,后续复用其返回的节点信息;不要再执行一次普通 `sheet create`。
|
|
52
|
+
|
|
53
|
+
### 2. 定位工作表
|
|
54
|
+
|
|
55
|
+
- 后续命令不要求 `sheet-id` 时不要为了“保险”调用 `list`。
|
|
56
|
+
- 需要 `sheet-id` 且当前结果没有返回时,用 `dws sheet +list-sheets --node <NODE_ID> --format json`;按完整标题唯一匹配,不猜 `Sheet1`、`0`、`default`。
|
|
57
|
+
- 合并、冻结、行列尺寸/隐藏/分组等结构信息用 `dws sheet info --node <NODE_ID> --sheet-id <SHEET_ID> --format json`,不要从 CSV 空值推断。
|
|
58
|
+
|
|
59
|
+
### 3. 读写选择
|
|
60
|
+
|
|
61
|
+
| 目标 | 首选命令 | 说明 |
|
|
62
|
+
|---|---|---|
|
|
63
|
+
| Agent 快速读值 | `dws sheet csv-get --node <NODE_ID> --sheet-id <SHEET_ID> --range <A1> --format json` | token 最低;关注 `hasMore`、`returnedRange`、`truncationReasons` |
|
|
64
|
+
| 严格完整读取范围 | `dws sheet +read --node <NODE_ID> --sheet-id <SHEET_ID> --range <A1> --format json` | 截断失败关闭 |
|
|
65
|
+
| typed table/dataframe | `dws sheet table-get` / `table-put` | 用于 columns/data/dtypes/formats;不塞进 `batch-update` |
|
|
66
|
+
| 少量值、富文本、链接、数据验证 | `dws sheet range update --node <NODE_ID> --sheet-id <SHEET_ID> --range <A1> --values '<2D_JSON>' --format json` | `--values` 维度必须与范围一致 |
|
|
67
|
+
| 超过 5 行或 20 单元格的纯值/公式 | `dws sheet csv-put --node <NODE_ID> --sheet-id <SHEET_ID> --start-cell A1 --csv - --format json` | stdin 优先;覆盖已有数据时显式 `--allow-overwrite` |
|
|
68
|
+
| 末尾追加记录 | `dws sheet append --node <NODE_ID> --sheet-id <SHEET_ID> --values '<2D_JSON>' --format json` | 不手算最后一行 |
|
|
69
|
+
|
|
70
|
+
长数字 ID、订单号、手机号及超过 `9007199254740991` 的整数按文本写入,避免 JSON number 精度损失。公式以 `=` 开头;需要字面量 `=` 时前加单引号。
|
|
71
|
+
|
|
72
|
+
用户明确要求“保留前导零、不要转日期、按文本原样导入或禁止类型推断”时,`csv-put` 添加 `--auto-convert=false`;它只关闭非公式字段的自动类型转换,公式仍按上述规则处理。其余场景省略该 flag,沿用默认自动转换。
|
|
73
|
+
|
|
74
|
+
### 4. 最小验证
|
|
75
|
+
|
|
76
|
+
- 值写入:只回读受影响范围,优先 `csv-get`;需要公式文本用 `--value-render-option formula`,需要真实计算值用 `raw_value`。
|
|
77
|
+
- 公式任务:写后先确认公式文本,再执行 `formula-verify`;只有 `status=success`、`hasMore=false`、`totalErrors=0` 才能说目标范围未发现公式错误,这仍不等于业务数值一定正确。
|
|
78
|
+
- 结构修改:用 `sheet info` 或对应对象 `list/get`;图表、透视表、筛选、评论、条件格式等不能只凭写响应断言完成。
|
|
79
|
+
- 多个相互依赖的修改尽量使用服务端原子 `batch-update`;不支持的对象按依赖顺序执行,并在最后合并验证,避免每一步都全表回读。
|
|
80
|
+
|
|
81
|
+
### 5. 本地交付与清理
|
|
82
|
+
|
|
83
|
+
| 用户要的文件 | 正确命令 | 不要做 |
|
|
84
|
+
|---|---|---|
|
|
85
|
+
| 单个工作表的纯 RFC4180 CSV | `dws sheet export-csv --node <NODE_ID> --sheet-id <SHEET_ID> --output ./data.csv` | 不要给 `sheet export` 猜 `--format csv`;不要把带 `[row=N]` 的 `csv-get` 输出冒充纯 CSV |
|
|
86
|
+
| 整个工作簿 xlsx | `dws sheet export --node <NODE_ID> --output ./result.xlsx` | 不要自行重复提交或轮询导出任务 |
|
|
87
|
+
| 只供 Agent 阅读 | `dws sheet csv-get ...` | 不需要落盘 |
|
|
88
|
+
|
|
89
|
+
`export-csv` 默认遇到截断就失败且不覆盖已有文件;只有用户明确接受不完整 CSV 时才加 `--allow-truncated`。先根据命令回执确认目标文件成功落盘且非空,再做清理。
|
|
90
|
+
|
|
91
|
+
清理不是 `finally`:只有导出命令成功,且已验证本地文件存在、非空、可交付后,才进入清理步骤。导出失败或本地文件不可验证时保留在线节点并报告失败。
|
|
92
|
+
|
|
93
|
+
用户要求清理时,只能针对本任务创建且 ID 已确认的在线节点。是否需要确认以 `drive +delete` 的 Runtime gate/Schema 为准;需要确认时先向用户说明节点、动作和不可见影响,取得明确确认后,才在下面这条已核对命令上追加 `--yes`:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
dws drive +delete --node <NODE_ID> --format json
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
不要把原请求中的“导出后删除”自动等同于 Runtime 确认,也不要在存储示例中预置 `--yes`。命令和参数已明确时无需读取 Drive reference 或 Help;只有安全语义仍不确定时读取一次该 leaf 的 compact Schema。
|
|
100
|
+
|
|
101
|
+
<!-- VISIBLE_SHORTCUTS_START -->
|
|
102
|
+
## Shortcuts(无专用脚本/recipe 时优先)
|
|
103
|
+
|
|
104
|
+
以下 shortcut 同时进入公开 catalog 与 Runtime Schema。先按本 skill 的意图表、脚本和 recipe 路由:存在精确覆盖该场景的专用脚本/recipe 时按其执行;否则用户意图命中时,shortcut 优先于手写原子命令。命令已选中时直接执行;只在参数或安全语义不确定时读取 Agent leaf Schema(例如 `dws schema --cli-path "sheet +<shortcut>" --compact --format json`),在当前 Cobra flags 不确定时读取 `dws sheet <shortcut> --help`。只有参数映射、接口绑定或 provenance 审计才省略 `--compact`。仅当现有路由和 reference 都无法定位低频能力时,才用 `dws shortcut list --service sheet --format json` 批量发现。
|
|
105
|
+
|
|
106
|
+
| Shortcut | 风险 | 适用场景 |
|
|
107
|
+
|---|---|---|
|
|
108
|
+
| `dws sheet +list-sheets` | read | 严格列出在线电子表格的工作表,并可按完整标题精确筛选 |
|
|
109
|
+
| `dws sheet +read` | read | 完整读取并严格校验在线电子表格范围;截断结果失败关闭 |
|
|
110
|
+
<!-- VISIBLE_SHORTCUTS_END -->
|
|
111
|
+
|
|
112
|
+
## 复杂操作:按阶段加载 reference
|
|
113
|
+
|
|
114
|
+
先用本文件完成路由。只有执行即将进入一个复杂阶段时,才读取该阶段对应的一份子 reference;完成阶段后保留 `nodeId`、`sheetId`、对象 ID、已验证范围和 revision,再进入下一阶段。一个任务可以顺序读取多份,但禁止冷启动并行预读、重复读取已经加载的文件,或因“可能用到”提前加载。常规任务最多三个复杂阶段;超过时应先合并同类操作并复用已加载契约。
|
|
115
|
+
|
|
116
|
+
| 当前执行阶段 | 本阶段唯一子 reference | 原生命令族 |
|
|
117
|
+
|---|---|---|
|
|
118
|
+
| 浏览、搜索或应用模板 | 本文件创建闭环(无需子 reference) | `template list/search/apply` |
|
|
119
|
+
| 工作表增删改、冻结、合并边界、网格线 | [sheet-workbook](sheet/sheet-workbook.md) | `new` / `update` / `copy` / `delete-sheet` / `info` |
|
|
120
|
+
| 读取元数据、分页、大范围值 | [sheet-read-data](sheet/sheet-read-data.md) | `csv-get` / `table-get` / `range read` |
|
|
121
|
+
| 富格式值、超链接、数据验证、typed 写入 | [sheet-write-data](sheet/sheet-write-data.md) | `range update` / `csv-put` / `table-put` / `append` |
|
|
122
|
+
| 公式写入、文本回读、错误扫描 | [sheet-formula](sheet/sheet-formula.md) | `range update` / `formula-verify` |
|
|
123
|
+
| 查找或替换 | [sheet-search-replace](sheet/sheet-search-replace.md) | `find` / `replace` |
|
|
124
|
+
| 清空、排序、填充、复制/移动区域 | [sheet-range-operations](sheet/sheet-range-operations.md) | `range clear/sort/fill/copy-to/move-to` |
|
|
125
|
+
| 多个原子写组合 | [sheet-batch-operations](sheet/sheet-batch-operations.md) | `batch-update` / `range batch-clear` |
|
|
126
|
+
| 行列插删、尺寸、隐藏、移动、分组 | [sheet-dimension-operations](sheet/sheet-dimension-operations.md) | dimension 命令族 |
|
|
127
|
+
| 样式、数字格式、合并 | [sheet-style-format](sheet/sheet-style-format.md) | `range set-style` / `merge-cells` |
|
|
128
|
+
| 下拉选项 | [sheet-dropdown](sheet/sheet-dropdown.md) | dropdown 命令族 |
|
|
129
|
+
| 筛选 | [sheet-filter](sheet/sheet-filter.md) | `filter` 命令族 |
|
|
130
|
+
| 个人筛选视图 | [sheet-filter-view](sheet/sheet-filter-view.md) | `filter-view` 命令族 |
|
|
131
|
+
| 条件高亮、色阶、数据条 | [sheet-conditional-format](sheet/sheet-conditional-format.md) | `cond-format` 命令族 |
|
|
132
|
+
| 图表 | [sheet-chart](sheet/sheet-chart.md) | `chart` 命令族 |
|
|
133
|
+
| 透视表 | [sheet-pivot-table](sheet/sheet-pivot-table.md) | `pivot-table` 命令族 |
|
|
134
|
+
| 评论、回复、更新、删除评论 | [sheet-comment](sheet/sheet-comment.md) | `comment` 命令族 |
|
|
135
|
+
| 图片与附件 | [sheet-media-image](sheet/sheet-media-image.md) | `write-image` / float-image 命令族 |
|
|
136
|
+
| 在线历史版本保存、列表、恢复 | [sheet-version](sheet/sheet-version.md) | `version save/list/revert` |
|
|
137
|
+
| 当前 revision 与编辑审计 | [sheet-revision-changeset](sheet/sheet-revision-changeset.md) | `revision-get` / `changeset-get` |
|
|
138
|
+
| 导入或导出边界/失败恢复 | [sheet-export](sheet/sheet-export.md) 或 [sheet-import](sheet/sheet-import.md) 中与意图匹配的一份 | `export` / `export-csv` / `import create/get` |
|
|
139
|
+
|
|
140
|
+
例如“写公式 → 设置样式 → 创建图表”可在进入三个阶段时依次加载 `sheet-formula`、`sheet-style-format`、`sheet-chart`,但每一阶段只读一份,且下一份必须等上一阶段写入/验证完成后再读。若当前 reference 已能完成后续动作,不再加载;契约错误恢复仍只补读与报错 leaf 精确对应的一份。
|
|
141
|
+
|
|
142
|
+
## 版本与 revision 边界
|
|
143
|
+
|
|
144
|
+
- 在线 Sheet 历史版本只用 `dws sheet version save/list/revert`。恢复是破坏性操作,必须确认精确目标版本;不要用 Doc 的 version 命令。
|
|
145
|
+
- `revision-get` / `changeset-get` 是编辑审计和前向语义变化,不是可恢复的历史快照,也不保证是当前最终值。
|
|
146
|
+
- 不要用 AITable schema snapshot 冒充 Sheet 历史版本。用户明确要求在线电子表格版本时,产品边界优先于“结构化”措辞。
|
|
147
|
+
- 恢复或审计后仍需回读当前目标范围;changeset 不能代替最终值。
|
|
148
|
+
|
|
149
|
+
## 完成检查
|
|
150
|
+
|
|
151
|
+
在最终答复前只做一次紧凑检查:
|
|
152
|
+
|
|
153
|
+
- 资源类型和 profile 正确,所有 ID 来自本任务真实返回。
|
|
154
|
+
- 创建/修改、对象存在性与关键值已有匹配读回;公式没有被普通值回读误判。
|
|
155
|
+
- 用户要求的本地 CSV/xlsx 已成功导出,格式与扩展名一致。
|
|
156
|
+
- 若要求清理,本任务创建的精确在线节点已移入回收站;本地交付物仍保留。
|
|
157
|
+
- 最终答复附上真实在线链接或本地路径,只报告证据支持的行数、对象数、公式状态和清理状态。
|
|
158
|
+
|
|
159
|
+
## 最短错误恢复
|
|
160
|
+
|
|
161
|
+
- 参数校验失败:只修正错误指出的 leaf 参数后重试一次;不要改读父级 Help。
|
|
162
|
+
- `hasMore=true` / 截断:按 `returnedRange` 分块续读;不得把部分结果声称为完整。CSV 落盘默认失败关闭。
|
|
163
|
+
- 导出 xlsx 失败或超时:不要重复提交 `sheet export`;保留在线文档并报告。
|
|
164
|
+
- `create-with-data` 在 create / write / style 间不是原子事务。若错误 `details.status` 为 `unknown` 或 `partial_success`,复用 `details.nodeId` / `details.sheetId` 读回现状,只补失败步骤;不得整体重跑 `create-with-data`,也不得自动删除已写数据。
|
|
165
|
+
- 写入部分成功:先读回确定真实状态,再续做缺失部分;不要盲目重放非幂等创建。
|
|
166
|
+
- 权限或认证失败:停止业务重试并报告;不要切换产品绕过权限。
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# skill — DWS 技能管理
|
|
2
|
+
|
|
3
|
+
> 这是元能力:只管理 dws 平台上的技能资源。Distinct from `dingtalk-shared`(钉钉产品路由入口)、其他 `dingtalk-*` 产品 skill(执行具体业务能力)、本地 Codex skill 开发。命令前缀:`dws skill`。
|
|
4
|
+
|
|
5
|
+
## 意图表
|
|
6
|
+
|
|
7
|
+
| 用户说 | 命令 |
|
|
8
|
+
|---|---|
|
|
9
|
+
| "搜索技能 / 找技能" | `dws skill search --query "<关键词>" [--source DingtalkMarket\|OrgInternal]` |
|
|
10
|
+
| "下载技能包" | `dws skill get --skill-id <skillId>` |
|
|
11
|
+
| "安装市场技能" | `dws skill install <skillId> <target>` |
|
|
12
|
+
| "安装 DWS mono/multi skills" | `dws skill setup --mode <mono\|multi> --target <target>` |
|
|
13
|
+
|
|
14
|
+
## 约束
|
|
15
|
+
|
|
16
|
+
- `skillId` 必须来自 `skill search` 返回,不能用名称代替。
|
|
17
|
+
- `skill install` 的 `skillId` 与 `target` 是位置参数,不是 `--skill-id` flag。
|
|
18
|
+
- `skill setup --mode multi` 可用 `--skill/-s` 只装指定产品,或用 `--exclude/-x` 排除产品,两者不能同时使用。
|
|
19
|
+
- 搜索结果中的 `securityStatus` 需要如实展示;状态异常时不要把安装描述为已通过安全检测。
|
|
20
|
+
- 开源 CLI 不提供技能发布/上传命令;发布需求应转到对应的技能市场发布流程。
|
|
21
|
+
|
|
22
|
+
## 兼容提示
|
|
23
|
+
|
|
24
|
+
- `dws skill find` → `dws skill search --query <关键词>`
|
|
25
|
+
- `dws skill add` → `dws skill install <skillId> <target>`
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 命令参考
|
|
30
|
+
|
|
31
|
+
### 搜索技能
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
Usage:
|
|
35
|
+
dws skill search [flags]
|
|
36
|
+
Example:
|
|
37
|
+
dws skill search --query "周报"
|
|
38
|
+
dws skill search --query "日报" --source OrgInternal
|
|
39
|
+
Flags:
|
|
40
|
+
--query string 搜索关键词 (必填)
|
|
41
|
+
--source string 查询范围:DingtalkMarket / OrgInternal;空格分隔
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
从返回中提取真实 `skillId`、名称、版本、来源与 `securityStatus`。兼容入口 `skill find` 只会提示改用 `search`。
|
|
45
|
+
|
|
46
|
+
### 下载技能包
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
Usage:
|
|
50
|
+
dws skill get --skill-id <skillId>
|
|
51
|
+
Flags:
|
|
52
|
+
--skill-id string 技能 ID (必填)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
成功后返回本地临时目录路径,供检查或后续安装使用。
|
|
56
|
+
|
|
57
|
+
### 安装市场技能
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
Usage:
|
|
61
|
+
dws skill install <skillId> <target>
|
|
62
|
+
Example:
|
|
63
|
+
dws skill install skill-123 claude
|
|
64
|
+
dws skill install skill-123 qoder
|
|
65
|
+
dws skill install skill-123 .
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
`skillId` 来自搜索结果;`target` 使用 `skill install --help` 列出的 Agent 名称,或用 `.` 安装到当前目录。两个值均为位置参数。
|
|
69
|
+
|
|
70
|
+
### 部署 DWS 内置技能
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
Usage:
|
|
74
|
+
dws skill setup [flags]
|
|
75
|
+
Example:
|
|
76
|
+
dws skill setup --mode mono
|
|
77
|
+
dws skill setup --mode multi --target qoder
|
|
78
|
+
dws skill setup --mode multi -s aitable -s calendar --target qoder
|
|
79
|
+
dws skill setup --mode multi -x live -x devdoc --target qoder
|
|
80
|
+
Flags:
|
|
81
|
+
--mode string mono | multi
|
|
82
|
+
--target string 目标 Agent,默认 all
|
|
83
|
+
--source string 显式 skill 源目录
|
|
84
|
+
-s, --skill strings multi 模式只安装指定子 skill
|
|
85
|
+
-x, --exclude strings multi 模式排除指定子 skill
|
|
86
|
+
--yes 仅脚本使用:跳过确认(删除仍先备份)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
`--skill` 与 `--exclude` 互斥。未指定 `--source` 时使用当前二进制内置的 skill 版本。setup 会清理对面模式残留与不在 bundle 内的过期 skill;这些目录在确认前逐条列出,删除前先备份到 `~/.dws/skill-backups/`,备份失败的目录保留原样。代用户执行时不要附加 `--yes` 绕过确认。
|
|
90
|
+
|
|
91
|
+
## 上下文传递
|
|
92
|
+
|
|
93
|
+
| 操作 | 从返回中提取 | 用于 |
|
|
94
|
+
|---|---|---|
|
|
95
|
+
| `skill search` | `skillId`、版本、来源、安全状态 | 下载或安装 |
|
|
96
|
+
| `skill get` | 临时目录 | 本地检查 |
|
|
97
|
+
| `skill install` | 安装目标与结果 | 确认指定 Agent 已安装 |
|
|
98
|
+
| `skill setup` | 已安装/保留/跳过的 skill 列表 | 验证 mono/multi 部署 |
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# 未产品化 / 半悬空脚本清单
|
|
2
|
+
|
|
3
|
+
以下脚本位于 `dingtalk-misc/scripts/`,**没有**对应的稳定产品 reference 与路由行。
|
|
4
|
+
它们不是当前 Agent 默认能力面的一部分。
|
|
5
|
+
|
|
6
|
+
## 使用规则
|
|
7
|
+
|
|
8
|
+
1. **默认不要调用**这些脚本完成用户任务;优先公开 `dws` 命令 / Shortcut。
|
|
9
|
+
2. 仅当用户**明确点名**某脚本文件名,或明确要求「跑仓库里的 yida/finance/aiapp 辅助脚本」时才考虑。
|
|
10
|
+
3. 调用前用 `--help` / 脚本头注释确认参数;写操作仍遵守 [confirmation.md](../../dingtalk-shared/references/confirmation.md)。
|
|
11
|
+
4. 若脚本依赖的 `dws <product>` 子命令在当前二进制不存在,向用户说明能力未暴露,不要改用 HTTP/curl 绕过。
|
|
12
|
+
|
|
13
|
+
## AI 应用(aiapp)
|
|
14
|
+
|
|
15
|
+
| 脚本 | 说明 |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `aiapp_create_and_poll.py` | 创建 AI 应用并轮询;**无** `references/aiapp.md`,mono 产品表历史死链已移除 |
|
|
18
|
+
|
|
19
|
+
## 宜搭(yida)
|
|
20
|
+
|
|
21
|
+
| 脚本 | 说明 |
|
|
22
|
+
|---|---|
|
|
23
|
+
| `yida_form_builder.py` | 表单 schema 构造 |
|
|
24
|
+
| `yida_form_fields.py` | 表单字段构造 |
|
|
25
|
+
| `yida_form_inspector.py` | 表单检查 |
|
|
26
|
+
| `yida_form_update.py` | 表单 schema 更新编排 |
|
|
27
|
+
| `yida_custom_page_update.py` | 自定义页 schema 更新编排 |
|
|
28
|
+
| `yida_jsx_pipeline.py` | JSX transform / lint 流水线 |
|
|
29
|
+
| `yida_page_compiler.py` | 自定义页编译 |
|
|
30
|
+
| `yida_page_generate.py` | 自定义页生成 |
|
|
31
|
+
| `yida_page_schema.py` | 页面 schema 处理 |
|
|
32
|
+
| `yida_page_self_check.py` | 页面自检 |
|
|
33
|
+
| `yida_process_flow.py` | 流程辅助 |
|
|
34
|
+
| `yida_process_update.py` | 流程保存/发布编排 |
|
|
35
|
+
| `yida_report_builder.py` | 报表 schema 构造 |
|
|
36
|
+
| `yida_report_charts.py` | 报表图表组件 |
|
|
37
|
+
| `yida_report_update.py` | 报表 schema 更新编排 |
|
|
38
|
+
| `yida_schema_common.py` | schema 公共工具 |
|
|
39
|
+
|
|
40
|
+
`routing.md` 可将「宜搭」粗分到 `dingtalk-misc`,但**产品索引表无宜搭正式产品行**;在补齐正式 reference 前,宜搭请求应向用户说明「仅有未产品化脚本,无稳定命令面」。
|
|
41
|
+
|
|
42
|
+
## 财务辅助(finance)
|
|
43
|
+
|
|
44
|
+
| 脚本 | 说明 |
|
|
45
|
+
|---|---|
|
|
46
|
+
| `finance_daily_cashflow.py` | 日现金流辅助 |
|
|
47
|
+
| `finance_expense_flow.py` | 费用流辅助 |
|
|
48
|
+
|
|
49
|
+
无独立 finance CLI 产品面时,不要把这些脚本宣传为正式 CLI 能力。
|
|
@@ -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` | 加载本包 `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 实际类型可能不一致(如说"文档"但实际是表格)
|