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,161 @@
|
|
|
1
|
+
# 区域操作
|
|
2
|
+
|
|
3
|
+
## 使用场景
|
|
4
|
+
|
|
5
|
+
用户说"清空/清除区域/擦除内容/清除格式":
|
|
6
|
+
- 清除区域 → `range clear`
|
|
7
|
+
- 仅清除值 → `range clear --type content`(默认)
|
|
8
|
+
- 仅清除格式 → `range clear --type format`
|
|
9
|
+
- 全部清除 → `range clear --type all`
|
|
10
|
+
- 请勿用 `range update` 写入空字符串来模拟清空,`range clear` 更简洁且支持按类型清除
|
|
11
|
+
|
|
12
|
+
用户说"排序/给数据排序/按某列排序/升序/降序":
|
|
13
|
+
- 区域排序 → `range sort`
|
|
14
|
+
- **排序前必须先 `range read` 前 3-5 行**:读取排序范围的前几行(如范围是 A1:D100 则读 A1:D5),对比首行与后续行的模式来判断是否有表头:
|
|
15
|
+
- 首行全文本 + 后续行含数字/日期 → 有表头,加 `--has-header`
|
|
16
|
+
- 首行与后续行模式一致(都是数字或都是文本) → 无表头,不加
|
|
17
|
+
- 首行值语义像列标题(如"姓名""金额""日期")且与后续行明显不同 → 有表头
|
|
18
|
+
禁止不读就排——表头误排入数据是不可撤销的破坏性操作
|
|
19
|
+
- 请勿用 `range read` 读取数据后客户端排序再 `range update` 写回,`range sort` 是服务端原子操作
|
|
20
|
+
|
|
21
|
+
用户说"自动填充/填充序列/向下填充/拖拽填充/序列递增":
|
|
22
|
+
- 自动填充 → `range fill`
|
|
23
|
+
- 请勿用 `range read` 读取源数据后手动计算规律再 `range update` 写入,`range fill` 支持服务端智能填充
|
|
24
|
+
|
|
25
|
+
用户说"批量清除/批量操作/一次执行多个写操作/原子批量/先清除再写入":
|
|
26
|
+
- 批量清除多个区域 → `range batch-clear`
|
|
27
|
+
- 组合多个不同写操作 → `batch-update`
|
|
28
|
+
- 详见 [sheet-batch-operations](./sheet-batch-operations.md)
|
|
29
|
+
|
|
30
|
+
用户说"复制区域/把这块数据复制到/复制到另一个工作表":
|
|
31
|
+
- 复制区域 → `range copy-to`
|
|
32
|
+
- 跨工作表 → `range copy-to --target-sheet-id Sheet2` 或 `--target-range "Sheet2!A1"`
|
|
33
|
+
- 请勿用 `range read` + `range update` 读取再写入来模拟复制,`range copy-to` 是原子操作,保留公式引用调整
|
|
34
|
+
|
|
35
|
+
用户说"移动区域/把数据移到/剪切粘贴/移到另一个工作表":
|
|
36
|
+
- 移动区域 → `range move-to`
|
|
37
|
+
- 跨工作表 → `range move-to --target-sheet-id Sheet2` 或 `--target-range "Sheet2!A1"`
|
|
38
|
+
- 请勿用 `range read` + `range update` + `range clear` 读取-写入-清空来模拟移动,`range move-to` 是原子操作
|
|
39
|
+
|
|
40
|
+
## 命令详细参考
|
|
41
|
+
|
|
42
|
+
### 清除区域
|
|
43
|
+
```
|
|
44
|
+
Usage:
|
|
45
|
+
dws sheet range clear [flags]
|
|
46
|
+
Example:
|
|
47
|
+
dws sheet range clear --node <NODE_ID> --sheet-id <SHEET_ID> --range "A1:B3"
|
|
48
|
+
dws sheet range clear --node <NODE_ID> --sheet-id <SHEET_ID> --range "A1:B3" --type format
|
|
49
|
+
dws sheet range clear --node <NODE_ID> --sheet-id <SHEET_ID> --range "A1:B3" --type all
|
|
50
|
+
Flags:
|
|
51
|
+
--node string 表格文档 ID 或 URL (必填)
|
|
52
|
+
--sheet-id string 工作表 ID 或名称 (必填)
|
|
53
|
+
--range string 清除范围,A1 表示法 (必填)
|
|
54
|
+
--type string 清除类型: content(仅值,默认) / format(仅格式) / all(全部)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 区域排序
|
|
58
|
+
```
|
|
59
|
+
Usage:
|
|
60
|
+
dws sheet range sort [flags]
|
|
61
|
+
Example:
|
|
62
|
+
dws sheet range sort --node <NODE_ID> --sheet-id <SHEET_ID> --range "A1:D10" \
|
|
63
|
+
--sort-keys '[{"column":"A","ascending":true}]'
|
|
64
|
+
dws sheet range sort --node <NODE_ID> --sheet-id <SHEET_ID> --range "A1:D10" \
|
|
65
|
+
--sort-keys '[{"column":"A","ascending":true},{"column":"C","ascending":false}]' --has-header
|
|
66
|
+
Flags:
|
|
67
|
+
--node string 表格文档 ID 或 URL (必填)
|
|
68
|
+
--sheet-id string 工作表 ID 或名称 (必填)
|
|
69
|
+
--range string 排序范围,A1 表示法 (必填)
|
|
70
|
+
--sort-keys string 排序规则 JSON 数组 (必填)
|
|
71
|
+
--has-header 首行是否为表头(不参与排序)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
`--sort-keys` 格式:`[{"column":"A","ascending":true}]`,`column` 使用字母列名(如 "A"、"B"、"AA")。多级排序按数组顺序优先级递减。
|
|
75
|
+
|
|
76
|
+
### 区域自动填充
|
|
77
|
+
```
|
|
78
|
+
Usage:
|
|
79
|
+
dws sheet range fill [flags]
|
|
80
|
+
Example:
|
|
81
|
+
dws sheet range fill --node <NODE_ID> --sheet-id <SHEET_ID> \
|
|
82
|
+
--source-range "A1:A5" --target-range "A6:A20"
|
|
83
|
+
dws sheet range fill --node <NODE_ID> --sheet-id <SHEET_ID> \
|
|
84
|
+
--source-range "A1:A5" --target-range "A6:A20" --fill-type copy
|
|
85
|
+
Flags:
|
|
86
|
+
--node string 表格文档 ID 或 URL (必填)
|
|
87
|
+
--sheet-id string 工作表 ID 或名称 (必填)
|
|
88
|
+
--source-range string 源数据范围,A1 表示法 (必填)
|
|
89
|
+
--target-range string 目标填充范围,A1 表示法 (必填)
|
|
90
|
+
--fill-type string 填充类型: series(序列,默认) / copy(复制) / onlystyle(仅格式) / withoutstyle(仅值)
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
目标范围须与源范围在行或列维度对齐(不支持对角填充)。
|
|
94
|
+
|
|
95
|
+
### 复制区域
|
|
96
|
+
```
|
|
97
|
+
Usage:
|
|
98
|
+
dws sheet range copy-to [flags]
|
|
99
|
+
Example:
|
|
100
|
+
dws sheet range copy-to --node <NODE_ID> --sheet-id <SHEET_ID> \
|
|
101
|
+
--source-range "A1:C5" --target-range "D1"
|
|
102
|
+
dws sheet range copy-to --node <NODE_ID> --sheet-id <SHEET_ID> \
|
|
103
|
+
--source-range "A1:C5" --target-range "A1" --target-sheet-id "Sheet2"
|
|
104
|
+
dws sheet range copy-to --node <NODE_ID> --sheet-id <SHEET_ID> \
|
|
105
|
+
--source-range "A1:C5" --target-range "D1" --paste-type values
|
|
106
|
+
Flags:
|
|
107
|
+
--node string 表格文档 ID 或 URL (必填)
|
|
108
|
+
--sheet-id string 源工作表 ID 或名称 (必填)
|
|
109
|
+
--source-range string 源范围,A1 表示法 (必填)
|
|
110
|
+
--target-range string 目标位置,A1 表示法 (必填)
|
|
111
|
+
--target-sheet-id string 目标工作表 ID 或名称(可选,不传则复制到同一工作表)
|
|
112
|
+
--paste-type string 粘贴类型: values(仅值) / formulas(仅公式) / formats(仅格式) / all(全部,默认)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
支持跨工作表复制,两种方式指定目标工作表:
|
|
116
|
+
- `--target-sheet-id "Sheet2"` 显式指定
|
|
117
|
+
- `--target-range "Sheet2!A1"` 在目标范围中携带工作表前缀
|
|
118
|
+
|
|
119
|
+
源和目标范围不能重叠(同表时)。
|
|
120
|
+
|
|
121
|
+
### 移动区域
|
|
122
|
+
```
|
|
123
|
+
Usage:
|
|
124
|
+
dws sheet range move-to [flags]
|
|
125
|
+
Example:
|
|
126
|
+
dws sheet range move-to --node <NODE_ID> --sheet-id <SHEET_ID> \
|
|
127
|
+
--source-range "A1:C5" --target-range "D1"
|
|
128
|
+
dws sheet range move-to --node <NODE_ID> --sheet-id <SHEET_ID> \
|
|
129
|
+
--source-range "A1:C5" --target-range "A1" --target-sheet-id "Sheet2"
|
|
130
|
+
Flags:
|
|
131
|
+
--node string 表格文档 ID 或 URL (必填)
|
|
132
|
+
--sheet-id string 源工作表 ID 或名称 (必填)
|
|
133
|
+
--source-range string 源范围,A1 表示法 (必填)
|
|
134
|
+
--target-range string 目标位置,A1 表示法 (必填)
|
|
135
|
+
--target-sheet-id string 目标工作表 ID 或名称(可选,不传则移动到同一工作表)
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
支持跨工作表移动,两种方式指定目标工作表:
|
|
139
|
+
- `--target-sheet-id "Sheet2"` 显式指定
|
|
140
|
+
- `--target-range "Sheet2!A1"` 在目标范围中携带工作表前缀
|
|
141
|
+
|
|
142
|
+
源和目标范围不能重叠(同表时)。移动后源区域将被清空。
|
|
143
|
+
|
|
144
|
+
## 上下文传递
|
|
145
|
+
|
|
146
|
+
| 操作 | 从返回中提取 | 用于 |
|
|
147
|
+
|------|-------------|------|
|
|
148
|
+
| `list` | 工作表的 `sheetId` | range clear / range sort / range fill / range copy-to / range move-to 的 --sheet-id |
|
|
149
|
+
|
|
150
|
+
> **批量操作**(`range batch-clear` / `batch-update`)已拆分至 [sheet-batch-operations](./sheet-batch-operations.md),含写入边界 + 回读校验规范、典型组合场景示例等。
|
|
151
|
+
|
|
152
|
+
## 注意事项
|
|
153
|
+
|
|
154
|
+
- ★ **`--sheet-id` 获取规范(强制)**:`sheetId` 未知时必须先通过 `dws sheet list --node <NODE_ID> --format json` 查询真实的 `sheetId` / 工作表名称后再调用,禁止凭空编造(如臆测为 `Sheet1`、`sheet1`、`0`、`default` 等);用户仅给出工作表名称时,也应通过 `list` 校验该名称是否存在,避免名称大小写或拼写不一致导致失败
|
|
155
|
+
- ★ **清空区域用 `range clear` 不用 `range update`**:`range clear` 支持按类型(值/格式/全部)清除,比手动构造全空数组更简洁可靠
|
|
156
|
+
- ★ **复制区域用 `range copy-to` 不用 `range read` + `range update`**:原子操作,保留公式引用自动调整,支持跨工作表
|
|
157
|
+
- ★ **移动区域用 `range move-to` 不用 `range read` + `range update` + `range clear`**:原子操作,源区域自动清空,支持跨工作表
|
|
158
|
+
- ★ **排序用 `range sort` 不用 `range read` + 客户端排序 + `range update`**:服务端原子操作,支持多级排序
|
|
159
|
+
- ★ **排序前必须 `range read` 前几行判断表头**:读取排序范围前 3-5 行,对比首行与后续行的数据模式(类型、语义)来判断是否有表头。禁止不读就排,表头被排入数据不可撤销
|
|
160
|
+
- ★ **填充用 `range fill` 不用 `range read` + 手动计算 + `range update`**:服务端智能填充,支持序列递增、公式扩展等
|
|
161
|
+
- ★ **批量操作详见 [sheet-batch-operations](./sheet-batch-operations.md)**:`range batch-clear` 多区域清除、`batch-update` 组合写操作,均原子事务
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Sheet 读取数据
|
|
2
|
+
|
|
3
|
+
## 读取路径
|
|
4
|
+
|
|
5
|
+
| 需求 | 首选 | 结果形态 |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| Agent 快速查看值、低 token | dws sheet csv-get | CSV 文本加范围/截断元数据 |
|
|
8
|
+
| 必须完整且截断即失败 | dws sheet +read | 严格完整读取 |
|
|
9
|
+
| columns/data/dtypes/formats | dws sheet table-get | typed table/dataframe |
|
|
10
|
+
| 需要公式、富文本、链接、验证等逐格结构 | dws sheet range read | per-cell JSON |
|
|
11
|
+
| 合并、冻结、分组和尺寸 | dws sheet info | 工作表结构 |
|
|
12
|
+
|
|
13
|
+
当前没有 sheetId 时只执行一次 +list-sheets,并把真实 sheetId 传播到后续阶段。不要为不需要 sheetId 的命令额外探活。
|
|
14
|
+
|
|
15
|
+
## CSV 快速读取
|
|
16
|
+
|
|
17
|
+
dws sheet csv-get --node <NODE_ID> --sheet-id <SHEET_ID> --range "A1:H200" --format json
|
|
18
|
+
|
|
19
|
+
返回契约必须按字段解释:
|
|
20
|
+
|
|
21
|
+
- csv 每行带 `[row=N]` 定位前缀,该前缀不是单元格数据;真正 CSV 内容仍按 RFC 4180 解析。
|
|
22
|
+
- `rowIndices[i]` 是第 i 个返回行的真实行号,`colIndices[j]` 是第 j 列的真实列字母。后续定位单元格必须使用这两个映射,禁止通过 CSV 中逗号数量推算列号。
|
|
23
|
+
- `resolvedRange` 是未显式传 range 时服务端解析出的完整目标范围;`returnedRange` 是本次实际完整返回的范围,两者不能混用。
|
|
24
|
+
|
|
25
|
+
读取成功后必须检查:
|
|
26
|
+
|
|
27
|
+
- returnedRange 是否覆盖请求范围;
|
|
28
|
+
- hasMore 是否为 false;
|
|
29
|
+
- truncationReasons 是否为空;
|
|
30
|
+
- 返回行列数是否符合预期。
|
|
31
|
+
|
|
32
|
+
csv-get 单次最多 30000 单元格,并受 maxChars 约束。hasMore=true、范围缩短或出现截断原因时,只能说“当前块已读取”,不能说全量完成;按 returnedRange 的下一行构造下一块,保证无遗漏、无重叠并设置页数/块数上限。`max_cells` 不能靠增大 maxChars 解决。需要失败关闭时直接用 +read,避免由 Agent 手工实现完整性判断。
|
|
33
|
+
|
|
34
|
+
`forbidden.document.sizeOverLimit` 表示工作簿整体无法装载,不是范围过大或空结果;缩小 range 不能修复。应建议创建更小副本或拆分工作簿,不得不断缩小范围绕过。
|
|
35
|
+
|
|
36
|
+
csv-get 不返回合并单元格结构。合并区域的非左上角为空不能推导“没有内容”,需要 info 的 mergedRanges 配合解释。
|
|
37
|
+
|
|
38
|
+
## 渲染选项
|
|
39
|
+
|
|
40
|
+
- formatted_value:面向展示,可能包含格式化日期、货币或百分比。
|
|
41
|
+
- raw_value:需要计算值或保留数值语义时使用。
|
|
42
|
+
- formula:需要确认写入的公式文本时使用。
|
|
43
|
+
|
|
44
|
+
公式验证通常分两次:先 formula 确认文本,再 raw_value 或 formula-verify 检查计算。不要把展示字符串当作原始数值,也不要把公式字符串当计算结果。
|
|
45
|
+
|
|
46
|
+
## typed table 与逐格读取
|
|
47
|
+
|
|
48
|
+
table-get 用于后续明确需要 columns、data、dtypes、formats 的处理链;普通问答不应为了“结构化”增加 token。默认首行作为表头,确实没有表头时才用 `--no-header`;返回 data 中 `{}` 表示空位,不是待执行的单元格对象。table-get 不返回逐格超链接、验证或样式元数据。
|
|
49
|
+
|
|
50
|
+
range read 只在 CSV 无法承载的 per-cell 信息确实需要时调用,并尽量缩小范围和返回配置。其 cells 与 `rowIndices`/`colIndices` 对齐,可返回 value/formula/richText/hyperlink/dataValidation/cellStyles 等逐格结构;不能用它推断 mergedRanges。
|
|
51
|
+
|
|
52
|
+
dws sheet table-get --node <NODE_ID> --sheet-id <SHEET_ID> --range "A1:D100" --format json
|
|
53
|
+
|
|
54
|
+
dws sheet range read --node <NODE_ID> --sheet-id <SHEET_ID> --range "A1:B5" --format json
|
|
55
|
+
|
|
56
|
+
如果命令返回非零、统一 envelope 的 ok=false、JSON 解析失败、条数不一致或分页游标不前进,立即失败。只有明确成功且终止状态成立时,空数组/空 CSV 才代表真实空结果。
|
|
57
|
+
|
|
58
|
+
## 读取完成条件
|
|
59
|
+
|
|
60
|
+
最终答复前确认:profile 一致;ID 来自当前任务;所有块都已覆盖;无 hasMore、截断、重复块或游标停滞;涉及结构时另有 info/object list 证据。只报告已验证范围,不夸大到整张表。
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Sheet revision 与 changeset
|
|
2
|
+
|
|
3
|
+
## 产品语义
|
|
4
|
+
|
|
5
|
+
revision-get / changeset-get 用于编辑审计和前向语义变化,不是历史快照,也不能 revert。需要保存、列出或恢复在线历史版本时进入 sheet-version 阶段。changeset 不能代替当前值回读。
|
|
6
|
+
|
|
7
|
+
## 获取区间
|
|
8
|
+
|
|
9
|
+
dws sheet revision-get --node <NODE_ID_OR_URL> --format json
|
|
10
|
+
|
|
11
|
+
从成功 envelope 的 data.revision 读取整数。要观察后续变化,保存该 revision,再执行:
|
|
12
|
+
|
|
13
|
+
dws sheet changeset-get --node <NODE_ID_OR_URL> --start-revision <START> --end-revision <END> --format json
|
|
14
|
+
|
|
15
|
+
省略 end-revision 表示查询到请求开始时固定下来的最新 revision。参数硬约束:
|
|
16
|
+
|
|
17
|
+
- start/end 都是非负整数,revision 0 是合法空工作簿基线。
|
|
18
|
+
- 查询区间是 `(startRevision, endRevision]`:不包含 start,包含 end;start=end 合法并返回空 changesets。
|
|
19
|
+
- 单次跨度最多 20,即 end-start<=20。更大范围必须拆成首尾连续、无遗漏无重叠的分段;任一段失败或不完整,都不能宣称整个跨度完整。
|
|
20
|
+
- start/end 必须来自当前文档、当前 profile 的真实返回;不要使用时间戳、猜测值或另一个文档的 revision。
|
|
21
|
+
|
|
22
|
+
## 解读顺序
|
|
23
|
+
|
|
24
|
+
1. 先看请求区间和返回终点,确认没有查询错文档或区间。
|
|
25
|
+
2. 查看 detailsStatus 与 containsIncompleteChanges。
|
|
26
|
+
3. 按 changesets 顺序读取事件类型,再读取每项 changes。
|
|
27
|
+
4. 结合 targets 的 role、range/relative offset 判断来源、目标和受影响区域。
|
|
28
|
+
5. 最后回读当前范围,确认最终状态。
|
|
29
|
+
|
|
30
|
+
detailsStatus=COMPLETE 且 containsIncompleteChanges=false 才能把明细称为完整。PARTIAL、UNAVAILABLE、缺失明细或未知变更类型都应明确标注“审计信息不完整”,不能当作无变化。
|
|
31
|
+
|
|
32
|
+
## 关键字段
|
|
33
|
+
|
|
34
|
+
- 事件类型常见 EDIT、UNDO、STATE_RESET。UNDO 表示撤销事件,不代表简单删除上一条;STATE_RESET 可能使此前增量解释失效。
|
|
35
|
+
- isSelfEdit=false 只表示不是当前请求用户提交,不能据此归因到某个其他用户、系统或自动化。
|
|
36
|
+
- STATE_RESET 的 targetStatus=UNAVAILABLE 时不得猜 targetRevision;即使目标已知,也必须回读当前工作簿。
|
|
37
|
+
- changes 描述单元格、范围、工作表、行列、分组、数据验证等语义变化。
|
|
38
|
+
- targets 中 SOURCE、DESTINATION、AFFECTED 是角色,不是最终值;相对偏移必须结合该 change 的基准解释。
|
|
39
|
+
- 字段为 null、缺失和显式 clear 含义不同,不能统一归为“空”。
|
|
40
|
+
- changeset 记录操作语义,后续编辑、撤销或重置可能已经改变最终状态。
|
|
41
|
+
|
|
42
|
+
## 错误与完成条件
|
|
43
|
+
|
|
44
|
+
非零退出、ok=false、坏 JSON、revision 类型错误、区间不一致或 incomplete 状态均不得伪装成空 changesets。只有明确成功、完整并覆盖请求区间时,空 changesets 才能解释为该区间未返回可见变化。
|
|
45
|
+
|
|
46
|
+
最终报告应区分:观察区间、完整性、发生过的操作、以及当前回读状态。涉及关键数据时,用 csv-get/range read 回读最小范围;涉及结构对象时用 info 或对应 list/get。分段结果只在所有段连续、完整且终点覆盖目标 end 时合并。
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# 搜索与替换
|
|
2
|
+
|
|
3
|
+
## 使用场景
|
|
4
|
+
|
|
5
|
+
用户说"搜索/查找/找单元格/搜内容/精确搜索/精确匹配/完全匹配/全字匹配":
|
|
6
|
+
- 搜索单元格 → `find`
|
|
7
|
+
- 精确匹配(只匹配完全等于的,不匹配包含的) → `find --match-entire-cell`
|
|
8
|
+
- 正则搜索 → `find --use-regexp`
|
|
9
|
+
- 搜索公式 → `find --match-formula`
|
|
10
|
+
- 不要用 `range read` 读取全量数据后在客户端过滤来替代 `find`,必须使用 `find` 命令的服务端搜索能力
|
|
11
|
+
|
|
12
|
+
用户说"替换/查找替换/全局替换/批量替换/把A替换成B/把所有的X改成Y":
|
|
13
|
+
- 查找替换 → `replace`
|
|
14
|
+
- 精确匹配后替换(只替换内容完全等于的单元格) → `replace --match-entire-cell`
|
|
15
|
+
- 正则替换 → `replace --use-regexp`
|
|
16
|
+
- 替换公式文本(改公式源码而非显示值) → `replace --match-formula`
|
|
17
|
+
- 删除匹配内容 → `replace --replacement ""`
|
|
18
|
+
- 请勿用 `find` + `range update`、`range read` + `range update` 等组合来模拟替换,`replace` 是服务端原子操作,效率更高且返回替换计数
|
|
19
|
+
|
|
20
|
+
## 命令详细参考
|
|
21
|
+
|
|
22
|
+
### 在工作表中搜索单元格内容
|
|
23
|
+
```
|
|
24
|
+
Usage:
|
|
25
|
+
dws sheet find [flags]
|
|
26
|
+
Example:
|
|
27
|
+
# 基本搜索
|
|
28
|
+
dws sheet find --node <NODE_ID> --sheet-id <SHEET_ID> --find "销售额"
|
|
29
|
+
|
|
30
|
+
# 在指定范围内搜索
|
|
31
|
+
dws sheet find --node <NODE_ID> --sheet-id <SHEET_ID> --find "合计" --range "A1:D100"
|
|
32
|
+
|
|
33
|
+
# 正则表达式搜索(不区分大小写)
|
|
34
|
+
dws sheet find --node <NODE_ID> --sheet-id <SHEET_ID> --find "^total" --use-regexp --match-case=false
|
|
35
|
+
|
|
36
|
+
# 精确匹配整个单元格内容
|
|
37
|
+
dws sheet find --node <NODE_ID> --sheet-id <SHEET_ID> --find "完成" --match-entire-cell
|
|
38
|
+
|
|
39
|
+
# 搜索公式文本
|
|
40
|
+
dws sheet find --node <NODE_ID> --sheet-id <SHEET_ID> --find "SUM" --match-formula
|
|
41
|
+
Flags:
|
|
42
|
+
--node string 表格文档 ID 或 URL (必填)
|
|
43
|
+
--sheet-id string 工作表 ID 或名称 (必填)
|
|
44
|
+
--find string 搜索文本 (必填)
|
|
45
|
+
--range string 搜索范围,A1 表示法 (如 A1:D10)
|
|
46
|
+
--match-case 区分大小写 (默认 true)
|
|
47
|
+
--match-entire-cell 精确匹配整个单元格内容
|
|
48
|
+
--use-regexp 启用正则表达式搜索
|
|
49
|
+
--match-formula 搜索公式文本而非显示值
|
|
50
|
+
--include-hidden 包含隐藏单元格
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 全局查找替换
|
|
54
|
+
```
|
|
55
|
+
Usage:
|
|
56
|
+
dws sheet replace [flags]
|
|
57
|
+
Example:
|
|
58
|
+
dws sheet replace --node <NODE_ID> --sheet-id <SHEET_ID> --find "旧文本" --replacement "新文本"
|
|
59
|
+
dws sheet replace --node <NODE_ID> --sheet-id <SHEET_ID> --find "待处理" --replacement "已完成" --match-entire-cell
|
|
60
|
+
dws sheet replace --node <NODE_ID> --sheet-id <SHEET_ID> --find "\\d{4}" --replacement "****" --use-regexp
|
|
61
|
+
dws sheet replace --node <NODE_ID> --sheet-id <SHEET_ID> --find "旧" --replacement "新" --range "A1:D100"
|
|
62
|
+
dws sheet replace --node <NODE_ID> --sheet-id <SHEET_ID> --find "临时" --replacement ""
|
|
63
|
+
Flags:
|
|
64
|
+
--node string 表格文档 ID 或 URL (必填)
|
|
65
|
+
--sheet-id string 工作表 ID 或名称 (必填)
|
|
66
|
+
--find string 查找文本 (必填)
|
|
67
|
+
--replacement string 替换文本 (必填,可为空字符串表示删除)
|
|
68
|
+
--range string 替换范围,A1 表示法 (如 A1:D100)
|
|
69
|
+
--match-case 区分大小写 (默认 false)
|
|
70
|
+
--match-entire-cell 完整单元格匹配
|
|
71
|
+
--use-regexp 启用正则表达式匹配
|
|
72
|
+
--match-formula 在公式文本中查找替换(默认 false,替换公式源码而非显示值)
|
|
73
|
+
--include-hidden 包含隐藏行/列
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
返回被替换的单元格数量。`--replacement` 可以为空字符串,表示删除匹配内容。
|
|
77
|
+
|
|
78
|
+
## 核心工作流
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# ── 工作流: 搜索表格数据 ──
|
|
82
|
+
|
|
83
|
+
# 1. 获取工作表列表
|
|
84
|
+
dws sheet list --node <NODE_ID> --format json
|
|
85
|
+
|
|
86
|
+
# 2. 基本搜索 — 在指定工作表中查找文本
|
|
87
|
+
dws sheet find --node <NODE_ID> --sheet-id <SHEET_ID> --find "销售额" --format json
|
|
88
|
+
|
|
89
|
+
# 3. 在指定范围内搜索
|
|
90
|
+
dws sheet find --node <NODE_ID> --sheet-id <SHEET_ID> --find "合计" --range "A1:D100" --format json
|
|
91
|
+
|
|
92
|
+
# 4. 正则搜索(不区分大小写)
|
|
93
|
+
dws sheet find --node <NODE_ID> --sheet-id <SHEET_ID> --find "^total" --use-regexp --match-case=false --format json
|
|
94
|
+
|
|
95
|
+
# 5. 精确匹配整个单元格
|
|
96
|
+
dws sheet find --node <NODE_ID> --sheet-id <SHEET_ID> --find "完成" --match-entire-cell --format json
|
|
97
|
+
|
|
98
|
+
# 6. 搜索公式文本
|
|
99
|
+
dws sheet find --node <NODE_ID> --sheet-id <SHEET_ID> --find "SUM" --match-formula --format json
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## 上下文传递
|
|
103
|
+
|
|
104
|
+
| 操作 | 从返回中提取 | 用于 |
|
|
105
|
+
|------|-------------|------|
|
|
106
|
+
| `list` | 工作表的 `sheetId` | find / replace 的 --sheet-id |
|
|
107
|
+
| `find` | `matchedCells` 中的 `a1Notation` | 定位目标单元格,用于 range read / range update |
|
|
108
|
+
| `replace` | `replaceCount` 被替换的单元格数量 | 确认替换结果 |
|
|
109
|
+
|
|
110
|
+
## 注意事项
|
|
111
|
+
|
|
112
|
+
- ★ **`--sheet-id` 获取规范(强制)**:`sheetId` 未知时必须先通过 `dws sheet list --node <NODE_ID> --format json` 查询真实的 `sheetId` / 工作表名称后再调用,禁止凭空编造(如臆测为 `Sheet1`、`sheet1`、`0`、`default` 等);用户仅给出工作表名称时,也应通过 `list` 校验该名称是否存在,避免名称大小写或拼写不一致导致失败
|
|
113
|
+
- ★ **搜索用 `find` 不用 `range read`**:`find` 是服务端搜索,禁止用 `range read` 全量读取后客户端过滤
|
|
114
|
+
- ★ **替换用 `replace` 不用 `range update`**:`replace` 是服务端原子操作,返回替换计数
|
|
115
|
+
- `find` 返回匹配单元格的地址(A1 表示法)和值,无匹配时返回空数组
|
|
116
|
+
- `find` 的 `--match-entire-cell` 用于精确匹配:只返回单元格内容完全等于搜索文本的结果,不会匹配包含该文本的单元格(例如搜索"苹果"时,只匹配"苹果",不匹配"苹果手机""苹果汁"等)。用户说"精确搜索/完全匹配/只搜等于XX的"时必须使用此参数
|
|
117
|
+
- `find` 的 `--match-case` 默认为 true(区分大小写),设为 false 可忽略大小写
|
|
118
|
+
- `find` 的 `--use-regexp` 启用后,`--find` 参数作为正则表达式处理
|
|
119
|
+
- `replace` 的 `--find` 不能为空字符串,`--replace` 可以为空字符串(表示删除匹配内容)
|
|
120
|
+
- `replace` 的 `--match-case` 默认为 false(不区分大小写),与 `find` 的默认行为不同
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Sheet 样式、数字格式与合并
|
|
2
|
+
|
|
3
|
+
## 三层职责
|
|
4
|
+
|
|
5
|
+
| 需求 | 路径 |
|
|
6
|
+
|---|---|
|
|
7
|
+
| 写少量值时给每格不同样式 | range update 的 cellStyles |
|
|
8
|
+
| 给一个区域统一或二维设置样式 | range set-style |
|
|
9
|
+
| 多区域原子设置样式 | range batch-set-style |
|
|
10
|
+
| 改单个 richText 片段外观 | richText 子项 style |
|
|
11
|
+
|
|
12
|
+
不要为了样式重写已有值。值与样式可分阶段:先写值并回读,再设置样式并验证。
|
|
13
|
+
|
|
14
|
+
`sheet create-with-data --styles` 的顶层单项只接受 `name`、`cell_styles`、`row_sizes`、`col_sizes`、`cell_merges`;未知键会在创建前拒绝。每项至少包含一种样式操作,且数据写入后的样式阶段按上述顺序执行、不是原子事务。
|
|
15
|
+
|
|
16
|
+
## 区域样式
|
|
17
|
+
|
|
18
|
+
dws sheet range set-style --node <NODE_ID> --sheet-id <SHEET_ID> --range "A1:D1" --bg-color "#FFF2CC" --font-weight bold --h-align center --word-wrap autoWrap --format json
|
|
19
|
+
|
|
20
|
+
只有需要逐格不同值时才用相应的二维 JSON flag,且数组维度必须与 range 一致。颜色使用有效十六进制;不要猜不在当前 compact Schema 中的枚举。
|
|
21
|
+
|
|
22
|
+
可直接使用的统一值参数包括 bg-color、font-size、h-align、v-align、font-color、font-weight、word-wrap、number-format、font-style、font-line、font-family、border-styles-json;逐格不同只对 bg/font-size/h-align/v-align/font-color/font-weight 使用对应 `*-json` 二维矩阵。关键枚举:h-align=left/center/right/general,v-align=top/middle/bottom,word-wrap=overflow/clip/autoWrap,font-weight=bold/normal,font-style=normal/italic,font-line=none/underline/line-through。
|
|
23
|
+
|
|
24
|
+
边框 JSON 只接受 top/bottom/left/right 四个边,每边只接受 style 和可选 color:
|
|
25
|
+
|
|
26
|
+
--border-styles-json '{"top":{"style":"solid","color":"#000000"},"bottom":{"style":"medium"}}'
|
|
27
|
+
|
|
28
|
+
style 使用 solid/medium/thick/dashed/dotted/double/hair/none 等当前枚举;粗细包含在 style 中,不要发明 width。
|
|
29
|
+
|
|
30
|
+
批量同样式:
|
|
31
|
+
|
|
32
|
+
dws sheet range batch-set-style --node <NODE_ID> --ranges '["Sheet1!A1:D1","Sheet2!A1:D1"]' --font-weight bold --format json
|
|
33
|
+
|
|
34
|
+
--ranges 每项必须带工作表前缀,最多 100 项。不同区域不同样式用 --batch 配置文件。默认严格事务,任一失败整批回滚;只有用户明确接受部分成功才用 --continue-on-error,且必须逐项报告并验证,不能把 partial 称为成功。
|
|
35
|
+
|
|
36
|
+
`--ranges` 与 `--batch` 必须二选一。ranges 模式用命令行样式应用到所有范围;batch 模式的样式只从本地 JSON 文件读取,不能同时传任何命令行样式参数。batch 文件是数组,每项必须含 sheetId、range,可带与命令行同语义的 camelCase 字段,例如:
|
|
37
|
+
|
|
38
|
+
[
|
|
39
|
+
{"sheetId":"Sheet1","range":"A1:B3","bgColor":"#FFF2CC","fontWeight":"bold","borderStylesJson":"{\"bottom\":{\"style\":\"solid\"}}"},
|
|
40
|
+
{"sheetId":"Sheet2","range":"C1:C5","numberFormat":"¥#,##0.00"}
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
每个区域必须满足 rows<=1000、cells<=30000;最多 100 个区域,所有区域累计不得超过 200000 单元格。超出时按独立批次拆分,不能把拆分后的多次调用描述为一次原子事务。
|
|
44
|
+
|
|
45
|
+
## 常用 number-format
|
|
46
|
+
|
|
47
|
+
| 目标 | code |
|
|
48
|
+
|---|---|
|
|
49
|
+
| 数字形态 ID、订单号、手机号、工号 | @ |
|
|
50
|
+
| 整数 / 两位小数 | 0 / 0.00 |
|
|
51
|
+
| 千分位 | #,##0 或 #,##0.00 |
|
|
52
|
+
| 人民币 / 美元 | ¥#,##0.00 / $#,##0.00 |
|
|
53
|
+
| 百分比 | 0% 或 0.00% |
|
|
54
|
+
| 日期 | yyyy-mm-dd |
|
|
55
|
+
| 日期时间 | yyyy-mm-dd hh:mm:ss |
|
|
56
|
+
|
|
57
|
+
数字格式只影响展示,不修复已经以浮点数损失精度的长 ID。此类值必须先以字符串写入并配合 @。
|
|
58
|
+
|
|
59
|
+
## 合并与取消合并
|
|
60
|
+
|
|
61
|
+
dws sheet merge-cells --node <NODE_ID> --sheet-id <SHEET_ID> --range "A1:C3" --merge-type mergeRows --format json
|
|
62
|
+
|
|
63
|
+
merge-type 为 mergeAll(默认)、mergeRows 或 mergeColumns。合并只保留各合并块左上角的值;若其它格已有内容,先读并向用户说明数据丢失风险。不要用合并模拟视觉居中。
|
|
64
|
+
|
|
65
|
+
dws sheet unmerge-cells --node <NODE_ID> --sheet-id <SHEET_ID> --range "A1:C3" --format json
|
|
66
|
+
|
|
67
|
+
合并或取消后用 info 的 mergedRanges 验证。行列操作可能破坏合并边界,应在进入 dimension 阶段前传播当前 mergedRanges。
|
|
68
|
+
|
|
69
|
+
## 完成条件
|
|
70
|
+
|
|
71
|
+
样式命令成功后,使用能够返回样式结构的最小范围读取;合并使用 info。验证关键字段而非整表回读。失败、回读不一致或 continue-on-error 中存在失败项时,明确报告未完成部分。
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# 历史版本 (version)
|
|
2
|
+
|
|
3
|
+
## 使用场景
|
|
4
|
+
|
|
5
|
+
管理钉钉在线电子表格的历史版本快照。当用户说"保存版本/存个快照/看历史版本/版本列表/回滚到某个版本/恢复到之前的表格"时使用。
|
|
6
|
+
|
|
7
|
+
- 手动保存当前表格为一个版本快照 → `version save`
|
|
8
|
+
- 查看表格的历史版本列表 → `version list`(别名 `ls`)。返回不含版本名称;列表项包含 `version`、`type`、`userId`、`createTime`、`updateTime`、`editorList` 等服务端字段
|
|
9
|
+
- 把表格回滚到指定历史版本或已确认的精确 revision → `version revert`(危险操作,默认需二次确认)
|
|
10
|
+
|
|
11
|
+
三个命令统一用 `--node` 指定表格文档(ID 或 URL)。默认从 `version list` 选择稳定的历史版本。用户明确要求恢复到某个精确 revision 时,也可把已从同一工作簿真实查询结果确认的 revision 传给 `--version`,即使它没有出现在版本列表中。禁止猜测版本号或 revision。
|
|
12
|
+
|
|
13
|
+
## 命令详细参考
|
|
14
|
+
|
|
15
|
+
### 保存表格版本快照
|
|
16
|
+
```
|
|
17
|
+
Usage:
|
|
18
|
+
dws sheet version save [flags]
|
|
19
|
+
Example:
|
|
20
|
+
dws sheet version save --node SHEET_ID
|
|
21
|
+
|
|
22
|
+
Flags:
|
|
23
|
+
--node string 表格文档 ID 或 URL (必填)
|
|
24
|
+
```
|
|
25
|
+
手动为当前在线电子表格生成一个历史版本快照,便于后续查看或回滚。
|
|
26
|
+
|
|
27
|
+
### 查看表格历史版本列表
|
|
28
|
+
```
|
|
29
|
+
Usage:
|
|
30
|
+
dws sheet version list [flags]
|
|
31
|
+
dws sheet version ls [flags]
|
|
32
|
+
Example:
|
|
33
|
+
dws sheet version list --node SHEET_ID
|
|
34
|
+
dws sheet version list --node SHEET_ID --limit 10
|
|
35
|
+
|
|
36
|
+
Flags:
|
|
37
|
+
--node string 表格文档 ID 或 URL (必填)
|
|
38
|
+
--limit int 返回版本数量上限 (可选)
|
|
39
|
+
--cursor string 分页游标 (可选,游标分页)
|
|
40
|
+
```
|
|
41
|
+
返回表格的历史版本列表;顶层包含 `versions`、`nextCursor`、`hasMore`,列表项不含 `name`。回滚前先从列表项拿到真实 `version`(版本号)。
|
|
42
|
+
|
|
43
|
+
### 回滚表格到指定版本
|
|
44
|
+
```
|
|
45
|
+
Usage:
|
|
46
|
+
dws sheet version revert [flags]
|
|
47
|
+
Example:
|
|
48
|
+
dws sheet version revert --node SHEET_ID --version 3
|
|
49
|
+
|
|
50
|
+
Flags:
|
|
51
|
+
--node string 表格文档 ID 或 URL (必填)
|
|
52
|
+
--version int 目标历史版本或已确认 revision (必填,通常从 version list 获取)
|
|
53
|
+
```
|
|
54
|
+
把表格回滚到指定历史版本或精确 revision。**危险操作**:会覆盖当前内容,默认要求二次确认。本文不提供带 `--yes` 的可复制示例;执行器只有在当前流程中向用户展示完整目标参数和覆盖风险、并获得明确确认后,才可动态追加全局 `--yes`。
|
|
55
|
+
|
|
56
|
+
`version list` 只列选定的保存或回滚点,并不包含每一个 revision。未列入版本列表的 revision 只有在服务端仍可恢复时才能回滚成功;过旧或内容不可用时应直接报告失败,禁止改猜相邻 revision 重试。
|
|
57
|
+
|
|
58
|
+
### 精确 revision 回滚
|
|
59
|
+
|
|
60
|
+
只有用户明确要求恢复到某个 revision 时才走此流程:
|
|
61
|
+
|
|
62
|
+
1. 用 `revision-get` 记录回滚前的当前 revision。
|
|
63
|
+
2. 目标 revision 必须来自同一工作簿的真实查询结果,或由用户明确提供;不要根据次数、时间或相邻版本推算。
|
|
64
|
+
3. 向用户展示工作簿、目标 revision 以及“当前内容将被覆盖”的风险,然后停止并等待明确确认;确认前禁止调用回滚工具,也禁止预先添加全局 `--yes`。
|
|
65
|
+
4. 只有用户对当前展示的参数明确确认后,执行器才可对同一条命令动态追加全局 `--yes` 并执行;任一参数发生变化都必须重新确认。
|
|
66
|
+
5. 用 `csv-get`、`range read` 或其他对应读取命令回读所需内容。
|
|
67
|
+
6. 需要审计回滚事件时,用回滚前后的 revision 查询 `changeset-get`,确认出现 `STATE_RESET`,且 `reset.targetRevision` 等于目标 revision。
|
|
68
|
+
|
|
69
|
+
## 上下文传递
|
|
70
|
+
|
|
71
|
+
| 操作 | 从返回中提取 | 用于 |
|
|
72
|
+
|------|-------------|------|
|
|
73
|
+
| `version list` | `version`(版本号) | 作为 `version revert --version` 的入参 |
|
|
74
|
+
| `revision-get` / `changeset-get` | 已确认属于同一工作簿的 `revision` | 用户明确要求精确恢复时,作为 `version revert --version` 的入参 |
|
|
75
|
+
| `version save` | 版本快照结果 | 确认已生成快照 |
|
|
76
|
+
| `version revert` | 回滚结果 | 确认回滚完成,回读表格内容验证 |
|
|
77
|
+
|
|
78
|
+
## 注意事项
|
|
79
|
+
|
|
80
|
+
- ★ 回滚 `version revert` 会**覆盖当前表格内容**,属危险操作;确认前禁止调用工具。只有用户对当前完整参数明确确认后,执行器才可动态追加全局 `--yes`;任一参数变化都必须重新确认
|
|
81
|
+
- ★ 默认从 `version list` 选择历史版本;只有用户明确要求精确 revision 时,才使用同一工作簿真实查询结果中已确认的 revision
|
|
82
|
+
- ★ 未列入版本列表的 revision 不保证仍可恢复;失败时直接说明,不猜测其他 revision,不自动重试
|
|
83
|
+
- ★ `version list` 返回的 `version` 可作为 `changeset-get` 的 start/end 锚点,但相邻历史版本之间可能包含多个 revision。需要查看逐次变更时读 [sheet-revision-changeset](./sheet-revision-changeset.md)
|
|
84
|
+
- 回滚后应用独立读命令(`csv-get` / `range read`)回读确认,避免"写返回不等于完成"
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Sheet 工作簿与工作表
|
|
2
|
+
|
|
3
|
+
## 本阶段范围
|
|
4
|
+
|
|
5
|
+
用于创建工作簿、列出/新增/重命名/复制/删除工作表,以及冻结、隐藏、顺序、网格线和结构信息。值读写留在上层 sheet.md;样式、行列和对象操作进入各自阶段。
|
|
6
|
+
|
|
7
|
+
## 最短命令表
|
|
8
|
+
|
|
9
|
+
| 目标 | 命令 |
|
|
10
|
+
|---|---|
|
|
11
|
+
| 创建空工作簿 | dws sheet create --name <NAME> --format json |
|
|
12
|
+
| 创建并写初始数据 | dws sheet create-with-data --name <NAME> --values <2D_JSON> --format json |
|
|
13
|
+
| 列出工作表 | dws sheet +list-sheets --node <NODE_ID> --format json |
|
|
14
|
+
| 工作表结构详情 | dws sheet info --node <NODE_ID> --sheet-id <SHEET_ID> --format json |
|
|
15
|
+
| 新建工作表 | dws sheet new |
|
|
16
|
+
| 改名、隐藏、排序、冻结 | dws sheet update |
|
|
17
|
+
| 复制工作表 | dws sheet copy |
|
|
18
|
+
| 删除工作表 | dws sheet delete-sheet |
|
|
19
|
+
| 显示/隐藏网格线 | dws sheet show-gridline / hide-gridline |
|
|
20
|
+
|
|
21
|
+
有初始数据时用 create-with-data,它已经包含创建、默认工作表探活、写入和回读;不要再额外 list 一次。空表才用 create。
|
|
22
|
+
|
|
23
|
+
create-with-data 的成功率契约:
|
|
24
|
+
|
|
25
|
+
- `--values` 与 `--sheets` 必须且只能提供一个;只有空表需求才改用 create。
|
|
26
|
+
- values 是非空二维 JSON,只含 string/number/boolean/null,最多 30000 单元格且编码后不超过 2M 字符。
|
|
27
|
+
- sheets 每项必须用 camelCase,只接受 name/columns/data/dtypes/formats/cellStyles/startCell/mode/header/allowOverwrite;创建阶段不接受 sheetId。name、columns 必填,data 每行宽度必须等于 columns,dtypes/formats 键必须来自 columns。
|
|
28
|
+
- `--styles` 顶层使用 `{"styles":[...]}`;配 sheets 时样式项数量、顺序和 name 必须一一对应,配 values 时只能有一项。执行顺序是 cell_styles、row_sizes、col_sizes、cell_merges,整体非原子。
|
|
29
|
+
- 所有 JSON、枚举和预算都在创建前校验。若后续探活/写入/样式失败,错误中的已创建 nodeId 必须保留并报告,用于续做或经确认后清理;不能再次 create 产生重复文档。
|
|
30
|
+
|
|
31
|
+
## ID 与上下文
|
|
32
|
+
|
|
33
|
+
- create / create-with-data 返回的 nodeId 是后续唯一文档标识,立即复用;不要从 URL 字符串截取或从历史任务复用。
|
|
34
|
+
- --folder / --workspace 接受 Drive fileId UUID 或可解析的 alidocs URL,不接受数字 dentryId。
|
|
35
|
+
- 需要 sheetId 时优先复用 create-with-data 探活返回值;上下文没有才执行一次 +list-sheets。
|
|
36
|
+
- 用户给的是工作表名称也要按完整标题唯一匹配;禁止猜 Sheet1、sheet1、0、default。
|
|
37
|
+
- info 返回 mergedRanges、冻结、尺寸、隐藏和可选 groups 等结构信息;CSV 空格不能代替结构查询。`--include` 按需取 row_heights、col_widths、groups;同时检查 nonEmptyRange、默认行高列宽和隐藏行列,避免为了完整结构无界输出。
|
|
38
|
+
|
|
39
|
+
## 常见闭环
|
|
40
|
+
|
|
41
|
+
dws sheet +list-sheets --node <NODE_ID> --format json
|
|
42
|
+
dws sheet new --node <NODE_ID> --name "明细" --format json
|
|
43
|
+
dws sheet +list-sheets --node <NODE_ID> --title "明细" --format json
|
|
44
|
+
|
|
45
|
+
更新工作表属性前,先从 list/info 读取当前状态;只提交用户要求变更的字段。复制后使用响应返回的新 sheetId,不按名称猜测。重命名、移动顺序或删除可能使后续名称/位置引用失效,必须把新状态传播给下一阶段。
|
|
46
|
+
|
|
47
|
+
update 至少传 name/index/hidden/frozen-row-count/frozen-column-count/tab-color 之一。name 最长 100 字符且不能含 `/ \\ ? * [ ] :`;index 从 0 开始;冻结数不得越过实际行列边界;不能隐藏所有工作表。tab-color 使用 `#RRGGBB`,显式空字符串表示清除颜色。copy 的 index 也从 0 开始;未给 name 时由系统生成,必须使用返回的新 sheetId。
|
|
48
|
+
|
|
49
|
+
## 删除与验证
|
|
50
|
+
|
|
51
|
+
delete-sheet 会永久删除目标工作表。执行前展示 nodeId、sheetId/标题和影响范围,得到明确同意后才加 --yes。隐藏工作表必须先取消隐藏;不能删除最后一个可见工作表。不要删除工作簿中未确认的同名表,也不要把“删除整个在线文件”误路由到 delete-sheet。
|
|
52
|
+
|
|
53
|
+
所有结构修改都用匹配的读操作验证:
|
|
54
|
+
|
|
55
|
+
- new/copy/update/delete-sheet:+list-sheets;
|
|
56
|
+
- 冻结、隐藏、尺寸、合并:info;
|
|
57
|
+
- 网格线:info 或命令返回的明确状态。
|
|
58
|
+
|
|
59
|
+
响应非零、JSON 无法解析或缺失预期对象均为失败,不得当作空列表或成功。
|