weaver-work-cli 0.1.24 → 0.1.26
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/README.md +30 -21
- package/dist/cmd/root.js +1 -0
- package/dist/core/output.js +53 -1
- package/dist/core/runtime-agent.js +19 -0
- package/dist/internal/e10/auth/commands.js +58 -23
- package/dist/internal/e10/auth/crypto.js +52 -12
- package/dist/internal/e10/auth/xiaoe.js +145 -53
- package/dist/internal/e10/context.js +5 -27
- package/dist/shortcuts/archive-oa/constants.js +66 -0
- package/dist/shortcuts/archive-oa/continuation.js +70 -0
- package/dist/shortcuts/archive-oa/errors.js +53 -0
- package/dist/shortcuts/archive-oa/host.js +157 -0
- package/dist/shortcuts/archive-oa/index.js +225 -0
- package/dist/shortcuts/archive-oa/manifest.js +62 -0
- package/dist/shortcuts/archive-oa/operations/borrow-car.js +159 -0
- package/dist/shortcuts/archive-oa/operations/borrow-url.js +108 -0
- package/dist/shortcuts/archive-oa/operations/confirm.js +48 -0
- package/dist/shortcuts/archive-oa/operations/contract.js +120 -0
- package/dist/shortcuts/archive-oa/operations/locate.js +50 -0
- package/dist/shortcuts/archive-oa/operations/registry.js +40 -0
- package/dist/shortcuts/archive-oa/operations/shared.js +181 -0
- package/dist/shortcuts/archive-oa/operations/types.js +45 -0
- package/dist/shortcuts/archive-oa/operations.js +13 -0
- package/dist/shortcuts/caizhilian/operations/handlers/fileops.js +67 -1
- package/dist/shortcuts/caizhilian/operations/handlers/setting-attach.js +198 -0
- package/dist/shortcuts/caizhilian/operations/shared.js +32 -0
- package/dist/shortcuts/caizhilian/operations/specs.js +15 -0
- package/dist/shortcuts/index.js +2 -0
- package/dist/shortcuts/invoice/host.js +2 -1
- package/dist/shortcuts/invoice/manifest.js +111 -0
- package/dist/shortcuts/invoice/operations/issuing-qys.js +361 -0
- package/dist/shortcuts/invoice/operations/issuing.js +5 -5
- package/dist/shortcuts/invoice/operations/registry.js +4 -0
- package/dist/shortcuts/workflow/endpoints.js +11 -0
- package/dist/shortcuts/workflow/host.js +2 -2
- package/dist/shortcuts/workflow/index.js +25 -1
- package/dist/shortcuts/workflow/operations/chatscene.js +270 -0
- package/dist/shortcuts/workflow/operations/form.js +2128 -244
- package/dist/shortcuts/workflow/operations/read.js +186 -41
- package/dist/shortcuts/workflow/operations/shared.js +25 -0
- package/dist/shortcuts/workflow/operations/sign-input.js +106 -0
- package/dist/shortcuts/workflow/operations/write.js +9 -1
- package/dist/shortcuts/workflow/stdout-compact.js +41 -0
- package/docs/archive-oa.md +79 -0
- package/docs/caizhilian.md +4 -3
- package/docs/e10-auth.md +13 -5
- package/node_modules/@napi-rs/keyring/LICENSE +21 -0
- package/node_modules/@napi-rs/keyring/README.md +19 -0
- package/node_modules/@napi-rs/keyring/index.d.ts +166 -0
- package/node_modules/@napi-rs/keyring/index.js +514 -0
- package/node_modules/@napi-rs/keyring/keytar.d.ts +53 -0
- package/node_modules/@napi-rs/keyring/keytar.js +26 -0
- package/node_modules/@napi-rs/keyring/package.json +125 -0
- package/node_modules/@napi-rs/keyring-darwin-arm64/README.md +3 -0
- package/node_modules/@napi-rs/keyring-darwin-arm64/keyring.darwin-arm64.node +0 -0
- package/node_modules/@napi-rs/keyring-darwin-arm64/package.json +32 -0
- package/node_modules/commander/LICENSE +22 -0
- package/node_modules/commander/Readme.md +1149 -0
- package/node_modules/commander/esm.mjs +16 -0
- package/node_modules/commander/index.js +24 -0
- package/node_modules/commander/lib/argument.js +149 -0
- package/node_modules/commander/lib/command.js +2662 -0
- package/node_modules/commander/lib/error.js +39 -0
- package/node_modules/commander/lib/help.js +709 -0
- package/node_modules/commander/lib/option.js +367 -0
- package/node_modules/commander/lib/suggestSimilar.js +101 -0
- package/node_modules/commander/package-support.json +16 -0
- package/node_modules/commander/package.json +82 -0
- package/node_modules/commander/typings/esm.d.mts +3 -0
- package/node_modules/commander/typings/index.d.ts +1045 -0
- package/package.json +5 -1
- package/skill-template/business-info.json +16 -0
- package/skill-template/domains/archive-oa.md +19 -0
- package/skill-template/domains/yepiaotong.md +2 -2
- package/skills/weaver-e10-archive-oa/SKILL.md +159 -0
- package/skills/weaver-e10-archive-oa/references/archive-locate.md +49 -0
- package/skills/weaver-e10-archive-oa/references/borrow-car.md +76 -0
- package/skills/weaver-e10-archive-oa/references/borrow-flow.md +53 -0
- package/skills/weaver-e10-archive-oa/references/contract-search.md +63 -0
- package/skills/weaver-e10-archive-oa/references/disabled-capabilities.md +29 -0
- package/skills/weaver-e10-archive-oa/references/qys-contract-search.md +47 -0
- package/skills/weaver-e10-archive-oa/references/source-manifest.json +400 -0
- package/skills/weaver-e10-builder/SKILL.md +303 -0
- package/skills/weaver-e10-builder/_catalog.md +94 -0
- package/skills/weaver-e10-builder/actionflows/CONTEXT.md +71 -0
- package/skills/weaver-e10-builder/actionflows/SKILL.md +176 -0
- package/skills/weaver-e10-builder/actionflows/docs/adr/0001-generated-actionflow-cleanup-identity.md +5 -0
- package/skills/weaver-e10-builder/actionflows/docs/adr/0002-preserve-existing-actionflow-on-update.md +36 -0
- package/skills/weaver-e10-builder/actionflows/references/components/calendar/MeetingCreate.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/calendar/ScheduleCreate.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/database/DMLExecute.md +38 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentCopy.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentMove.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentCopy.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentDelete.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentEdit.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentMove.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentPermissionChange.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRenewal.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRevert.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSave.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscription.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionApprove.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionSendBack.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionWithdraw.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/FileFolderSave.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/GetAttachmentInfo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/GetDocumentInfo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/ModifyDocumentStatus.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/ReplaceAttachment.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/UpdatePrintNum.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbAdd.md +100 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbDelete.md +23 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbRecover.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbSaveVersion.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbUpdate.md +67 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/DateTrigger.md +32 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EbGetDataById.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EnquiryForm.md +107 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventButton.md +33 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventFormData.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/TimeBatchTrigger.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/http/Http.md +77 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/Condition.md +23 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/LogicFlowSet.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/MultipleExecution.md +38 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/Output.md +37 -0
- package/skills/weaver-e10-builder/actionflows/references/components/message/InnerMQSend.md +50 -0
- package/skills/weaver-e10-builder/actionflows/references/components/message/SendMessage.md +30 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/AlterPersonStatus.md +30 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/HrmEmployeeUpdate.md +34 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelAlterType.md +38 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelOnboarding.md +36 -0
- package/skills/weaver-e10-builder/actionflows/references/components/serverless/ServerlessAction.md +42 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/CustomTrigger.md +82 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/InnerMQListener.md +41 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/SimpleScheduler.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/WebHookTrigger.md +91 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAddSign.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAgreeRejectApply.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCommit.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveConsulTurnTodo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCreate.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDelete.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoCirculate.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoForward.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoTurnTodo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveEntrust.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveIntervention.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveMandatoryArchiving.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveManualCC.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRefuseRejectApply.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRejectApply.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSave.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSendBack.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveShareEntry.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveTrigger.md +99 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveWithdraw.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkFlowDocEmpowerment.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkflowToDoc.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/condition_rules.md +100 -0
- package/skills/weaver-e10-builder/actionflows/references/dynamic_capability_matrix.md +39 -0
- package/skills/weaver-e10-builder/actionflows/references/dynamic_resources.md +41 -0
- package/skills/weaver-e10-builder/actionflows/references/examples/enquiry-form-batch-insert-scene2.json +1043 -0
- package/skills/weaver-e10-builder/actionflows/references/function_rules.md +15 -0
- package/skills/weaver-e10-builder/actionflows/references/trigger_runtime_notes.md +53 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Bar.json +341 -0
- package/skills/weaver-e10-builder/assets/dom-structure/BarStack.json +341 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Bubble.json +323 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Calendar.json +515 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Circular.json +337 -0
- package/skills/weaver-e10-builder/assets/dom-structure/CollapsePanel.json +289 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Comment.json +617 -0
- package/skills/weaver-e10-builder/assets/dom-structure/CountDown.json +755 -0
- package/skills/weaver-e10-builder/assets/dom-structure/DigitalPanel.json +191 -0
- package/skills/weaver-e10-builder/assets/dom-structure/EbButton.json +387 -0
- package/skills/weaver-e10-builder/assets/dom-structure/FastCreate.json +242 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Gauge.json +282 -0
- package/skills/weaver-e10-builder/assets/dom-structure/HBar.json +336 -0
- package/skills/weaver-e10-builder/assets/dom-structure/HBarStack.json +337 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Line.json +341 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NList.json +712 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NavBar.json +274 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NavPanel.json +390 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NewTab.json +606 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Nightingale.json +336 -0
- package/skills/weaver-e10-builder/assets/dom-structure/PageHeader.json +205 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Picture.json +209 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Pie.json +338 -0
- package/skills/weaver-e10-builder/assets/dom-structure/ProgressChart.json +299 -0
- package/skills/weaver-e10-builder/assets/dom-structure/SearchGlobal.json +628 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Slide.json +489 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Treemap.json +324 -0
- package/skills/weaver-e10-builder/assets/factory/chart-dimensions.json +536 -0
- package/skills/weaver-e10-builder/assets/factory/example-btn-progress-collapse-configured.json +2515 -0
- package/skills/weaver-e10-builder/assets/factory/example-configured-2.json +13805 -0
- package/skills/weaver-e10-builder/assets/factory/example-configured.json +6735 -0
- package/skills/weaver-e10-builder/assets/factory/factory-bar-stack.json +326 -0
- package/skills/weaver-e10-builder/assets/factory/factory-bar.json +222 -0
- package/skills/weaver-e10-builder/assets/factory/factory-bubble.json +322 -0
- package/skills/weaver-e10-builder/assets/factory/factory-calendar.json +325 -0
- package/skills/weaver-e10-builder/assets/factory/factory-circular.json +320 -0
- package/skills/weaver-e10-builder/assets/factory/factory-collapse-panel.json +132 -0
- package/skills/weaver-e10-builder/assets/factory/factory-comment.json +388 -0
- package/skills/weaver-e10-builder/assets/factory/factory-count-down.json +198 -0
- package/skills/weaver-e10-builder/assets/factory/factory-digital-panel.json +108 -0
- package/skills/weaver-e10-builder/assets/factory/factory-eb-button.json +150 -0
- package/skills/weaver-e10-builder/assets/factory/factory-fast-create.json +62 -0
- package/skills/weaver-e10-builder/assets/factory/factory-gauge.json +312 -0
- package/skills/weaver-e10-builder/assets/factory/factory-h-bar-stack.json +328 -0
- package/skills/weaver-e10-builder/assets/factory/factory-h-bar.json +326 -0
- package/skills/weaver-e10-builder/assets/factory/factory-line.json +212 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nav-bar.json +167 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nav-menu.json +144 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nav-panel.json +338 -0
- package/skills/weaver-e10-builder/assets/factory/factory-new-tab.json +163 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nightingale.json +312 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nlist.json +112 -0
- package/skills/weaver-e10-builder/assets/factory/factory-page-header.json +171 -0
- package/skills/weaver-e10-builder/assets/factory/factory-picture.json +169 -0
- package/skills/weaver-e10-builder/assets/factory/factory-pie.json +212 -0
- package/skills/weaver-e10-builder/assets/factory/factory-progress-chart.json +162 -0
- package/skills/weaver-e10-builder/assets/factory/factory-search-global.json +104 -0
- package/skills/weaver-e10-builder/assets/factory/factory-slide.json +164 -0
- package/skills/weaver-e10-builder/assets/factory/factory-treemap.json +322 -0
- package/skills/weaver-e10-builder/assets/icons.db +0 -0
- package/skills/weaver-e10-builder/assets/sample/.claude/settings.local.json +8 -0
- package/skills/weaver-e10-builder/assets/sample/api/formApi.js +510 -0
- package/skills/weaver-e10-builder/assets/sample/config/config.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/config/configLoad.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/config/configLoad_default.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/config/config_default.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/entry.js +22 -0
- package/skills/weaver-e10-builder/assets/sample/eslint.config.cjs +48 -0
- package/skills/weaver-e10-builder/assets/sample/memo.md +0 -0
- package/skills/weaver-e10-builder/assets/sample/readme.js +8 -0
- package/skills/weaver-e10-builder/references/app/guide-app-publish.md +92 -0
- package/skills/weaver-e10-builder/references/auth/guide-auth.md +88 -0
- package/skills/weaver-e10-builder/references/coding/guide-edit-backfill.md +189 -0
- package/skills/weaver-e10-builder/references/coding/guide-form-crud.md +262 -0
- package/skills/weaver-e10-builder/references/coding/guide-page-code.md +244 -0
- package/skills/weaver-e10-builder/references/coding/guide-page-export.md +119 -0
- package/skills/weaver-e10-builder/references/coding/ref-compile-rules.md +130 -0
- package/skills/weaver-e10-builder/references/common/guide-plan-template.md +164 -0
- package/skills/weaver-e10-builder/references/common/map.md +153 -0
- package/skills/weaver-e10-builder/references/common/ref-cli-commands.md +635 -0
- package/skills/weaver-e10-builder/references/components/@weapp-Button.md +104 -0
- package/skills/weaver-e10-builder/references/components/base-Badge.md +100 -0
- package/skills/weaver-e10-builder/references/components/base-Dialog.md +358 -0
- package/skills/weaver-e10-builder/references/components/base-Empty.md +58 -0
- package/skills/weaver-e10-builder/references/components/base-Tag.md +112 -0
- package/skills/weaver-e10-builder/references/components/display-Alert.md +64 -0
- package/skills/weaver-e10-builder/references/components/display-Avatar.md +150 -0
- package/skills/weaver-e10-builder/references/components/display-Calendar.md +263 -0
- package/skills/weaver-e10-builder/references/components/display-Carousel.md +115 -0
- package/skills/weaver-e10-builder/references/components/display-Collapse.md +299 -0
- package/skills/weaver-e10-builder/references/components/display-FilePreview.md +49 -0
- package/skills/weaver-e10-builder/references/components/display-Icon.md +66 -0
- package/skills/weaver-e10-builder/references/components/display-List.md +320 -0
- package/skills/weaver-e10-builder/references/components/display-Pagination.md +41 -0
- package/skills/weaver-e10-builder/references/components/display-Spin.md +34 -0
- package/skills/weaver-e10-builder/references/components/display-Steps.md +89 -0
- package/skills/weaver-e10-builder/references/components/display-Table.md +160 -0
- package/skills/weaver-e10-builder/references/components/display-Title.md +117 -0
- package/skills/weaver-e10-builder/references/components/form-Checkbox.md +161 -0
- package/skills/weaver-e10-builder/references/components/form-DepartmentBrowser-api.md +52 -0
- package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser-api.md +51 -0
- package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser.md +51 -0
- package/skills/weaver-e10-builder/references/components/form-Input.md +123 -0
- package/skills/weaver-e10-builder/references/components/form-Radio.md +145 -0
- package/skills/weaver-e10-builder/references/components/form-Select.md +191 -0
- package/skills/weaver-e10-builder/references/components/form-Switch.md +46 -0
- package/skills/weaver-e10-builder/references/components/form-Upload.md +53 -0
- package/skills/weaver-e10-builder/references/components/generic-Echarts.md +102 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-components.md +130 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-css.md +127 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-factory.md +460 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-version.md +111 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer.md +288 -0
- package/skills/weaver-e10-builder/references/esb-interface/guide-import.md +34 -0
- package/skills/weaver-e10-builder/references/form/guide-create-form.md +248 -0
- package/skills/weaver-e10-builder/references/form/guide-ebuilder-filter.md +73 -0
- package/skills/weaver-e10-builder/references/form/guide-ebuilder-scope.md +82 -0
- package/skills/weaver-e10-builder/references/form/guide-field-linkage.md +123 -0
- package/skills/weaver-e10-builder/references/form/guide-form-archive-permission.md +175 -0
- package/skills/weaver-e10-builder/references/form/guide-form-association.md +124 -0
- package/skills/weaver-e10-builder/references/form/guide-form-button.md +169 -0
- package/skills/weaver-e10-builder/references/form/guide-form-data.md +78 -0
- package/skills/weaver-e10-builder/references/form/guide-form-formula-functions.md +343 -0
- package/skills/weaver-e10-builder/references/form/guide-form-layout-incremental.md +90 -0
- package/skills/weaver-e10-builder/references/form/guide-form-layout-planning.md +68 -0
- package/skills/weaver-e10-builder/references/form/guide-form-linkage.md +269 -0
- package/skills/weaver-e10-builder/references/form/guide-form-message.md +74 -0
- package/skills/weaver-e10-builder/references/form/guide-form-physical-table.md +146 -0
- package/skills/weaver-e10-builder/references/form/guide-form-serial-mark.md +47 -0
- package/skills/weaver-e10-builder/references/form/guide-form-sub-detail.md +82 -0
- package/skills/weaver-e10-builder/references/form/guide-form-view-permission.md +38 -0
- package/skills/weaver-e10-builder/references/form/guide-form-view.md +371 -0
- package/skills/weaver-e10-builder/references/form/guide-formula-linkage.md +281 -0
- package/skills/weaver-e10-builder/references/form/guide-list-columns.md +52 -0
- package/skills/weaver-e10-builder/references/form/guide-list-custom-text.md +52 -0
- package/skills/weaver-e10-builder/references/form/guide-list-stats.md +136 -0
- package/skills/weaver-e10-builder/references/form/guide-virtual-form.md +156 -0
- package/skills/weaver-e10-builder/references/form/ref-form-fields.md +293 -0
- package/skills/weaver-e10-builder/references/form/style-templates.md +97 -0
- package/skills/weaver-e10-builder/references/hrm/guide-matrix.md +245 -0
- package/skills/weaver-e10-builder/references/hrm/guide-org-employee.md +155 -0
- package/skills/weaver-e10-builder/references/menu/system-menus.md +75 -0
- package/skills/weaver-e10-builder/references/report/add-dataset-registration-guide.md +139 -0
- package/skills/weaver-e10-builder/references/report/ai-report-workflow.md +412 -0
- package/skills/weaver-e10-builder/references/report/api-report-build-fast-path.md +275 -0
- package/skills/weaver-e10-builder/references/report/app-datasource-lookup-guide.md +230 -0
- package/skills/weaver-e10-builder/references/report/cell-config-echo-guide.md +163 -0
- package/skills/weaver-e10-builder/references/report/cell-transform-guide.md +147 -0
- package/skills/weaver-e10-builder/references/report/condition-format-guide.md +140 -0
- package/skills/weaver-e10-builder/references/report/cross-dataset-filter-guide.md +304 -0
- package/skills/weaver-e10-builder/references/report/dataset-query-filter-guide.md +235 -0
- package/skills/weaver-e10-builder/references/report/dataset-sidebar-ops-guide.md +280 -0
- package/skills/weaver-e10-builder/references/report/dataset-table-field-contract-guide.md +339 -0
- package/skills/weaver-e10-builder/references/report/datasource-metadata-guide.md +365 -0
- package/skills/weaver-e10-builder/references/report/datasource-selection-and-parent-filter-guide.md +148 -0
- package/skills/weaver-e10-builder/references/report/date-range-query-reference.md +102 -0
- package/skills/weaver-e10-builder/references/report/default-header-style-guide.md +70 -0
- package/skills/weaver-e10-builder/references/report/designer-blank-prevention-guide.md +111 -0
- package/skills/weaver-e10-builder/references/report/event-hreflink-guide.md +184 -0
- package/skills/weaver-e10-builder/references/report/field-bind-exact-match-guide.md +208 -0
- package/skills/weaver-e10-builder/references/report/formula-cell-api-guide.md +258 -0
- package/skills/weaver-e10-builder/references/report/guide-report-build.md +131 -0
- package/skills/weaver-e10-builder/references/report/guide-report-modify.md +100 -0
- package/skills/weaver-e10-builder/references/report/guide-report-multisource.md +143 -0
- package/skills/weaver-e10-builder/references/report/guide-report-query.md +98 -0
- package/skills/weaver-e10-builder/references/report/hidden-row-and-header-merge-guide.md +100 -0
- package/skills/weaver-e10-builder/references/report/layout-showlocation-freeze-guide.md +167 -0
- package/skills/weaver-e10-builder/references/report/preaggregate-auto-disable-guide.md +107 -0
- package/skills/weaver-e10-builder/references/report/query-condition-api-guide.md +890 -0
- package/skills/weaver-e10-builder/references/report/ref-report-commands.md +122 -0
- package/skills/weaver-e10-builder/references/report/ref-report-pitfalls.md +226 -0
- package/skills/weaver-e10-builder/references/report/report-baseinfo-defaults-guide.md +117 -0
- package/skills/weaver-e10-builder/references/report/report-building-guide.md +511 -0
- package/skills/weaver-e10-builder/references/report/report-config-schema.md +445 -0
- package/skills/weaver-e10-builder/references/report/report-create-modes-guide.md +182 -0
- package/skills/weaver-e10-builder/references/report/report-data-model.md +447 -0
- package/skills/weaver-e10-builder/references/report/report-delivery-contract.md +101 -0
- package/skills/weaver-e10-builder/references/report/report-designer-feature-map.md +500 -0
- package/skills/weaver-e10-builder/references/report/report-internal-error-guide.md +78 -0
- package/skills/weaver-e10-builder/references/report/report-knowledge-base.md +389 -0
- package/skills/weaver-e10-builder/references/report/report-lifecycle-api-guide.md +392 -0
- package/skills/weaver-e10-builder/references/report/report-list-page-ops-guide.md +191 -0
- package/skills/weaver-e10-builder/references/report/report-permission-guide.md +365 -0
- package/skills/weaver-e10-builder/references/report/report-requirement-analysis-template.md +202 -0
- package/skills/weaver-e10-builder/references/report/report-self-check-guide.md +164 -0
- package/skills/weaver-e10-builder/references/report/safe-partial-save-guide.md +151 -0
- package/skills/weaver-e10-builder/references/report/snowflake-id-precision-guide.md +84 -0
- package/skills/weaver-e10-builder/references/report/spec-build-schema.md +294 -0
- package/skills/weaver-e10-builder/references/report/targeted-fix-guide.md +97 -0
- package/skills/weaver-e10-builder/references/report/user-request-scope-only-guide.md +82 -0
- package/skills/weaver-e10-builder/references/workflow/guide-function-management.md +154 -0
- package/skills/weaver-e10-builder/references/workflow/guide-opinion-settings.md +126 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-action.md +174 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-auth-resp.md +224 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-condition.md +447 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-node-layout.md +181 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc-setting.md +248 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc.md +68 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow.md +527 -0
- package/skills/weaver-e10-builder/references/workflow/operator-matrix.md +76 -0
- package/skills/weaver-e10-caizhilian/SKILL.md +43 -16
- package/skills/weaver-e10-caizhilian/references/agent-entry.md +7 -3
- package/skills/weaver-e10-caizhilian/references/collaboration.md +5 -3
- package/skills/weaver-e10-caizhilian/references/document.md +33 -11
- package/skills/weaver-e10-caizhilian/references/file-collection.md +4 -3
- package/skills/weaver-e10-caizhilian/references/file-upload.md +2 -3
- package/skills/weaver-e10-caizhilian/references/files.md +23 -2
- package/skills/weaver-e10-caizhilian/references/folder.md +48 -16
- package/skills/weaver-e10-caizhilian/references/setting-attach.md +61 -42
- package/skills/weaver-e10-caizhilian/references/setting-backup.md +13 -51
- package/skills/weaver-e10-caizhilian/references/setting-encrypt.md +20 -51
- package/skills/weaver-e10-caizhilian/references/setting-storage.md +82 -147
- package/skills/weaver-e10-caizhilian/references/source-manifest.json +99 -1
- package/skills/weaver-e10-caizhilian/references/withheld.md +20 -44
- package/skills/weaver-e10-shared/SKILL.md +24 -18
- package/skills/weaver-e10-shared/references/e10-auth-and-session.md +16 -15
- package/skills/weaver-e10-shared/references/non-interactive-environment.md +10 -10
- package/skills/weaver-e10-workflow/SKILL.md +23 -44
- package/skills/weaver-e10-workflow/references/source-manifest.json +40 -25
- package/skills/weaver-e10-workflow/references/workflow-create.md +278 -85
- package/skills/weaver-e10-workflow/references/workflow-edit.md +1 -1
- package/skills/weaver-e10-workflow/references/workflow-memory.md +1 -4
- package/skills/weaver-e10-workflow/references/workflow-query.md +2 -2
- package/skills/weaver-e10-yepiaotong/SKILL.md +10 -7
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing-examples.md +49 -1
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing-qys-ledger.md +66 -0
- package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +59 -36
- package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +54 -509
- package/skills/weaver-e10-yepiaotong/references/reim-examples.md +182 -345
- package/skills/weaver-e10-yepiaotong/references/reim-expense-subject-rules.md +4 -5
- package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +153 -345
- package/skills/weaver-e10-yepiaotong/references/reim-phone-subsidy-rules.md +5 -5
- package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +182 -154
- package/skills/weaver-e10-yepiaotong/references/source-manifest.json +96 -0
- package/skills/weaver-e10-yepiaotong/references/reim-fast-path.md +0 -119
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: weaver-setting-storage
|
|
3
|
-
description: "对话式修改**两级**文件存储设置: - **系统级**:租户平台(<your-tenant-platform-domain>/tenant/tenant/doc/storageSet)— 影响所有租户 - **租户级**:后台管理中心(<your-e10-domain> 文件设置 → 存储设置)— 只影响当前租户 通过自然语言 / `storage list / show / test / rule set / rule order / rule open / rule add / rule delete / instance add / instance delete` 即可 完成 GET 拉取 → diff 让用户确认 → POST
|
|
3
|
+
description: "对话式修改**两级**文件存储设置: - **系统级**:租户平台(<your-tenant-platform-domain>/tenant/tenant/doc/storageSet)— 影响所有租户 - **租户级**:后台管理中心(<your-e10-domain> 文件设置 → 存储设置)— 只影响当前租户 通过自然语言 / `storage list / show / test / rule set / rule order / rule open / rule add / rule delete / instance add / instance delete` 即可 完成 GET 拉取 → diff 让用户确认 → POST 落库。鉴权使用三件套(ETEAMSID + authToken + freepass token)加 randomkey,两个 level 都走 /papi/。 Use for 系统存储设置、租户平台存储设置、租户后台存储设置、文件存储规则、业务规则、静态规则、默认规则、 子目录、压缩存储、加密存储、SM4、nginx 配置。"
|
|
4
4
|
license: Proprietary
|
|
5
5
|
compatibility: 泛微E10采知连配套使用,内部可自由使用与修改,禁止对外分发
|
|
6
6
|
metadata:
|
|
@@ -13,21 +13,21 @@ metadata:
|
|
|
13
13
|
|
|
14
14
|
# weaver-setting-storage
|
|
15
15
|
|
|
16
|
-
让"文件存储设置"页(**系统级** + **租户级**)**用对话就能查 + 改**。背后调 papi
|
|
16
|
+
让"文件存储设置"页(**系统级** + **租户级**)**用对话就能查 + 改**。背后调 papi 接口(两个 level 都走 papi):
|
|
17
17
|
|
|
18
18
|
### 系统级(papi + all_teams)
|
|
19
19
|
- 存储实例:`/papi/file/storage/listStorageInstance` / `getStorageInstance` / `testConnect`
|
|
20
20
|
- 存储规则:`/papi/file/storage/rule/frontComp/ruleForm` / `rule/saveData` / `rule/saveOrder` / `rule/saveOpen` / `rule/search`
|
|
21
21
|
- 浏览器辅助:`/papi/file/common/browser/associate/storageInstance`
|
|
22
|
-
-
|
|
22
|
+
- **鉴权**:三件套
|
|
23
23
|
|
|
24
|
-
### 租户级(papi +
|
|
24
|
+
### 租户级(papi + 当前租户)
|
|
25
25
|
- 存储实例:`/papi/file/storage/listStorageInstance` / `getStorageInstance` / `testConnect`
|
|
26
26
|
- 存储规则:`/papi/file/storage/rule/frontComp/ruleForm` / `rule/saveData` / `rule/delete` / `rule/frontComp/ruleTable`
|
|
27
27
|
- 浏览器辅助:`/papi/file/common/browser/{associate,complete,history}/{storageInstance,module}`(前端用,agent 对话式不需要)
|
|
28
|
-
-
|
|
28
|
+
- **鉴权**:三件套(与 system 级相同)
|
|
29
29
|
|
|
30
|
-
###
|
|
30
|
+
### 鉴权(三件套,所有 papi 接口通用)
|
|
31
31
|
|
|
32
32
|
业务接口需要同时带:
|
|
33
33
|
|
|
@@ -42,7 +42,7 @@ metadata:
|
|
|
42
42
|
- `randomkey_<6 chars>=<6 chars>`(CSRF 防护,每次请求生成一对)
|
|
43
43
|
|
|
44
44
|
> 之前的 `listPageToken.data.token` 跟 freepass token **不一定是同一个**——listPageToken 是租户平台管理类
|
|
45
|
-
> 接口用的,E10 后台业务接口用 freepass token。
|
|
45
|
+
> 接口用的,E10 后台业务接口用 freepass token。
|
|
46
46
|
|
|
47
47
|
修改前先 diff,**写操作必走对话确认**;CLI 走 GET 拉当前值 → merge 子字段 → diff → POST 落库 → GET 校验。
|
|
48
48
|
|
|
@@ -50,8 +50,8 @@ metadata:
|
|
|
50
50
|
|
|
51
51
|
- 用户说"看一下系统存了哪些存储""默认规则是什么""改一下业务规则路径""恢复系统默认"
|
|
52
52
|
- 改租户平台"文件存储设置"页(`<your-tenant-platform-domain>/tenant/tenant/doc/storageSet`,系统级 / all_teams)
|
|
53
|
-
- 改后台管理中心"文件设置 → 存储设置"页(`<your-e10-domain>`,租户级 /
|
|
54
|
-
-
|
|
53
|
+
- 改后台管理中心"文件设置 → 存储设置"页(`<your-e10-domain>`,租户级 / 当前租户)
|
|
54
|
+
- 改业务/静态/默认规则
|
|
55
55
|
- 解释存储实例类型(本地/腾讯云/阿里云/华为云/S3/FastDFS/HDFS)的字段差异
|
|
56
56
|
- 解释"子目录 / 压缩存储 / 加密存储 / 文件来源 / 规则顺序 / nginx 配置"的语义
|
|
57
57
|
|
|
@@ -65,20 +65,18 @@ metadata:
|
|
|
65
65
|
|
|
66
66
|
## 命令清单
|
|
67
67
|
|
|
68
|
-
>
|
|
69
|
-
> 目录架构 / 7 种存储类型 / 4 种方案推荐 / 清理说明 / 联系人索引 → 都在
|
|
70
|
-
> [setting-storage-docs-summary.md](setting-storage-docs-summary.md)。客户对话时按里面"对应 skill 能力映射"节对应命令即可。
|
|
68
|
+
> **知识库参考**:目录架构 / 7 种存储类型 / 4 种方案推荐 / 清理说明,可参考文件服务知识库的「文件存储」目录;客户对话时按本文命令清单对应执行即可。
|
|
71
69
|
>
|
|
72
|
-
>
|
|
73
|
-
> [setting-storage-dialogue-templates.md](setting-storage-dialogue-templates.md)。agent 在客户对话中按场景查模板直接套用。
|
|
70
|
+
> **话术参考**:13 大场景的话术示例(对话式规则 1-10 + 操作回执 + 概念解释 + 错误兜底),按本文对话式规则组织即可,无需外部模板。
|
|
74
71
|
|
|
75
72
|
CLI 软链名 `storage`(避开 setting-attach/encrypt/backup 的 `setting-*` 系列)。
|
|
76
73
|
|
|
77
|
-
**所有命令共享**:`--config <name>` 必填;`--local` 可选(强制标记本地环境,关闭自动 login 和自动 fetch);`--level system|tenant` 可选(强制选层级,不传按 baseUrl 域名自动判断);`--token <value>` 可选(临时覆盖 .env.local 里的 `FREEPASS_TOKEN
|
|
74
|
+
**所有命令共享**:`--config <name>` 必填;`--local` 可选(强制标记本地环境,关闭自动 login 和自动 fetch);`--level system|tenant` 可选(强制选层级,不传按 baseUrl 域名自动判断);`--token <value>` 可选(临时覆盖 .env.local 里的 `FREEPASS_TOKEN`);
|
|
75
|
+
`--auth-token <value>` 可选(临时覆盖 .env.local 里的 `AUTH_TOKEN`)。
|
|
78
76
|
|
|
79
77
|
| 命令 | 作用 | 适用 |
|
|
80
78
|
|---|---|---|
|
|
81
|
-
| `storage login --config <name> [--base-url <url>]` |
|
|
79
|
+
| `storage login --config <name> [--base-url <url>]` | 起 Chrome + 登录页 + 让用户从租户平台点"进入 E10 后台文件存储设置"链接 → 跳到 `/sp/file/SysStorageSet/freepass?token=xxx` → 自动抓 ETEAMSID + authToken + freepass token 三件套落盘。<br>**本地**:不自动起 Chrome,提示手动配三件套。 | both |
|
|
82
80
|
| `storage env --config <name> [--local] [--level]` | 打印当前 config 解析结果(含 `env_type` / `level` / `token` 状态) | both |
|
|
83
81
|
| `storage list --config <name> [--page 1] [--size 20]` | 列存储实例 | both |
|
|
84
82
|
| `storage show <instance_id> --config <name>` | 单实例详情(7 类字段全展开,accessKey 自动 mask) | both |
|
|
@@ -86,17 +84,16 @@ CLI 软链名 `storage`(避开 setting-attach/encrypt/backup 的 `setting-*`
|
|
|
86
84
|
| `storage rule show --config <name> [--default] [--id <ruleId>]` | 拉规则详情(系统级同时返回业务+静态;租户级只返回业务) | both |
|
|
87
85
|
| `storage rule list --config <name> [--name <kw>]` | 高级搜索规则列表 | both |
|
|
88
86
|
| `storage rule set --config <name> (--default \| --id N) --item k=v [--item ...] [--rule-type 0\|1] [--dry-run] [--yes]` | 改规则:GET → merge → diff → 询问 → POST → 校验。<br>**租户级不支持 `--rule-type 1`(静态规则)**。 | both(rule-type 1 仅 system) |
|
|
89
|
-
| `storage rule add --config <name> --name <X> --source <id\|name> --source-type {0\|1\|2\|3} --instance <id> --sub-dir {1..5} [--storage-path] [--algorithm SM4] [--on\|--off] [--compressed] [--encrypted] --yes` |
|
|
87
|
+
| `storage rule add --config <name> --name <X> --source <id\|name> --source-type {0\|1\|2\|3} --instance <id> --sub-dir {1..5} [--storage-path] [--algorithm SM4] [--on\|--off] [--compressed] [--encrypted] --yes` | **新建子规则**:走 `POST /api/file/storage/rule/saveData` ADD 路径,传 `ruleInfoList` 含 1 条不带 id 的 `StoRuleInfo`。 | both |
|
|
90
88
|
| `storage rule order --config <name> --ids 1,2,3 [--yes]` | 改规则顺序 | system(租户级可调但意义小) |
|
|
91
|
-
| `storage rule delete --config <name> --id <ruleId> --yes` |
|
|
89
|
+
| `storage rule delete --config <name> --id <ruleId> --yes` | **删除子规则**:走 `POST /api/file/storage/rule/delete` 删一条子规则。 | both |
|
|
92
90
|
| `storage rule open --config <name> --id N (--on \| --off) [--yes]` | 启用/停用某条 | both |
|
|
93
91
|
| `storage rule reset-default --config <name> --yes` | 恢复系统默认 | system only(租户级没有"系统默认"可恢复) |
|
|
94
92
|
| `storage explain <field\|type\|concept>` | 解释某字段/存储类型/概念,**不调任何接口** | both |
|
|
95
93
|
|
|
96
94
|
## 13 个支持字段(rule 子字段,CLI 接受 3 种写法)
|
|
97
95
|
|
|
98
|
-
snake-case 别名 / 中文别名 / DTO
|
|
99
|
-
[setting-storage-field-map.md](setting-storage-field-map.md)。
|
|
96
|
+
snake-case 别名 / 中文别名 / DTO 字段名(驼峰)。完整别名见下方各字段说明。
|
|
100
97
|
|
|
101
98
|
### 通用(业务/静态都可用)
|
|
102
99
|
|
|
@@ -128,8 +125,7 @@ snake-case 别名 / 中文别名 / DTO 字段名(驼峰)。完整别名表
|
|
|
128
125
|
|
|
129
126
|
## 7 种存储类型
|
|
130
127
|
|
|
131
|
-
CLI 改规则时"选存储实例"
|
|
132
|
-
[setting-storage-storage-types.md](setting-storage-storage-types.md):
|
|
128
|
+
CLI 改规则时"选存储实例"指的就是这些。完整字段差异见下表:
|
|
133
129
|
|
|
134
130
|
| code | 名称 | 关键字段 |
|
|
135
131
|
|---|---|---|
|
|
@@ -155,38 +151,39 @@ CLI 改规则时"选存储实例"指的就是这些。完整字段差异见
|
|
|
155
151
|
就拒,不发到后端。
|
|
156
152
|
5. **改完后 GET 校验** —— POST 完调一次 `ruleForm` 重拉,比对 expected 与服务端真实值。
|
|
157
153
|
6. **不写日志到 home 之外** —— 所有凭证 / 日志只落在
|
|
158
|
-
|
|
154
|
+
本技能的本地工作目录下。
|
|
159
155
|
7. **未指定子字段保留** —— CLI 走 GET 拉整对象再 merge;只改指定子字段,其它保留。
|
|
160
|
-
8.
|
|
156
|
+
8. **租户平台实例写操作(add / delete)** —— CLI 走
|
|
161
157
|
`instance add / delete` 改实例。**对象存储凭证必须嵌套 `storageConfigInfo` 字段**:
|
|
162
158
|
- 顶层(`StorageInstanceConfigParam` 顶层):`instanceName / storagePath / storageState / instanceType / httpHttps`
|
|
163
|
-
- 嵌套(`StorageConfigInfo`
|
|
159
|
+
- 嵌套(`StorageConfigInfo` 实体):
|
|
160
|
+
`bucket / region / accessId / accessKey / endPoint / rootPath / storageHost / pathStyle / cname / hdfsServerIp / hdfsServerPort / hdfsUserName / trackerServers / group / ...`
|
|
164
161
|
- CLI 自动按字段名归类,调用方无需关心平铺/嵌套。**注意**:
|
|
165
|
-
- 华为云 (`instanceType=3`) 的 `defaultField()` 不含 `REGION`(区域信息塞在 endPoint 里,形如 `obs.cn-north-4.myhuaweicloud.com
|
|
162
|
+
- 华为云 (`instanceType=3`) 的 `defaultField()` 不含 `REGION`(区域信息塞在 endPoint 里,形如 `obs.cn-north-4.myhuaweicloud.com`),后端会主动过滤掉 region,传了也白传。
|
|
166
163
|
- 腾讯云/阿里云/华为云/S3 这四种"对象存储"的 `storagePath` 顶层字段**通常为空**(信息在 `bucket` 里),CLI 不校验。
|
|
167
|
-
- **空壳实例 update
|
|
168
|
-
|
|
169
|
-
9. **license 检查** —— 没 `STORAGE_RULE` license 时 `ruleList`
|
|
170
|
-
|
|
171
|
-
10.
|
|
164
|
+
- **空壳实例 update 会触发后端异常**:实例配置为空时更新会失败,这是后端缺陷,CLI 不自动修。
|
|
165
|
+
**解法**:新建一个不同名字的实例(避开空壳),或走 E10 二开流程修复空壳实例。
|
|
166
|
+
9. **license 检查** —— 没 `STORAGE_RULE` license 时 `ruleList` 直接返回空;
|
|
167
|
+
CLI 会给 warning 但仍允许 POST(让后端真拒)。
|
|
168
|
+
10. **本地/远程分流** —— CLI 按 `BASE_URL` 自动判断:
|
|
172
169
|
- `127.0.0.1` / `localhost` / `0.0.0.0` / `127.*` → **local**:不自动 login、不自动 fetch 三件套;缺三件套直接报错并提示用户填到 `.env.local`
|
|
173
170
|
- 其它 → **remote**:`login` 自动起专用 Chrome 让用户登录 + 抓三件套;业务调用时从 `.env.local` 读
|
|
174
171
|
- `--local` 可显式强制标记
|
|
175
|
-
11. **papi URL
|
|
172
|
+
11. **papi URL 必须拼三件套** —— 所有 papi 业务接口都要求:
|
|
176
173
|
- URL query 拼 `token=<freepass token>` + `wea_link_keep_freepass=1` + `tenant_langType=zh_CN` + `randomkey_xxxx`(每次生成)
|
|
177
174
|
- Cookie 设 `ETEAMSID` + `authToken`(JWT)
|
|
178
175
|
- CLI 走 `_papi_qs(freepass_token, randomkey)` + `_session(eteams_id, auth_token)` 统一处理
|
|
179
|
-
-
|
|
180
|
-
12. **系统级 vs
|
|
176
|
+
- **注意**:业务接口拼的是 freepass token;listPageToken 是租户平台管理类接口用的,两者不要混用
|
|
177
|
+
12. **系统级 vs 租户级分流** —— CLI 按 `BASE_URL` 域名自动判断 level(system/tenant),但**两个 level 的业务接口都是 `/papi/file/...`**:
|
|
181
178
|
- `<your-tenant-platform-domain>` → **system**(系统级 / papi / all_teams / 需 sysStorageRule=true)
|
|
182
|
-
- `<your-e10-domain>` → **tenant**(E10 后台 / papi / 当前租户 / 需 sysStorageRule=false
|
|
179
|
+
- `<your-e10-domain>` → **tenant**(E10 后台 / papi / 当前租户 / 需 sysStorageRule=false)
|
|
183
180
|
- 其它 → 保守默认 `system`
|
|
184
181
|
- `--level system|tenant` 可显式强制
|
|
185
|
-
13.
|
|
182
|
+
13. **租户级不支持静态规则** —— 后台管理中心只支持业务规则 + 默认规则;
|
|
186
183
|
`--rule-type 1` 在 tenant 模式下 CLI 直接报"租户级没有静态规则"。
|
|
187
|
-
14. **agent 不得擅自新建 / 改 /
|
|
184
|
+
14. **agent 不得擅自新建 / 改 / 删数据绕开校验** ——
|
|
188
185
|
客户回执"好的"**只代表同意本次确认的字段和值**,**不代表**同意 agent 擅自做超出范围的操作(新建 / 修改 / 删除任何数据、修改任何环境配置、调整任何不在确认清单里的字段)。
|
|
189
|
-
-
|
|
186
|
+
- **典型违规场景**:客户说"用默认存储实例" → 校验过不去 → agent 擅自新建一个存储实例(或新建一个测试实例)绕开校验 → **绝对禁止**
|
|
190
187
|
- **正确做法**:
|
|
191
188
|
1. **停下来**,直接告诉客户失败原因(校验过不去的具体异常信息)
|
|
192
189
|
2. **列出 2-3 条可行路径**让客户选(换已有实例 / 客户在自己环境试 / 找二开修后端 bug),**不擅自造数据**
|
|
@@ -214,18 +211,20 @@ CLI 改规则时"选存储实例"指的就是这些。完整字段差异见
|
|
|
214
211
|
`ETEAMSID`(通过内置浏览器 DevTools / `Application > Cookies` 抓到),写到
|
|
215
212
|
`.env.local` 即可跳过 `storage login` 流程
|
|
216
213
|
|
|
217
|
-
2. **操作前必查登录态 +
|
|
218
|
-
每次 `list / show / test / rule *` 之前先确认对应 config 的
|
|
219
|
-
|
|
214
|
+
2. **操作前必查登录态 + 三件套**
|
|
215
|
+
每次 `list / show / test / rule *` 之前先确认对应 config 的 **三件套齐**:
|
|
216
|
+
`ETEAMSID` + `authToken` + `freepass_token`(在 `.env.local` 里看 `WEILE_<NAME>_ETEAMSID` / `WEILE_<NAME>_AUTH_TOKEN` / `WEILE_<NAME>_FREEPASS_TOKEN`),
|
|
217
|
+
并按 level 选择登录入口:
|
|
218
|
+
- **(0) 客户要求改存储时,先确认 level**:
|
|
220
219
|
- **客户没明说必须主动问**,不能假设
|
|
221
|
-
- **客户分不清 system/tenant
|
|
220
|
+
- **客户分不清 system/tenant 时**,告知两者的区别:
|
|
222
221
|
- **系统级**(租户平台 `tenant.*`):改的是 `all_teams`,**影响所有租户**;改系统级业务规则 = 改所有租户业务文件最终落点
|
|
223
222
|
- **租户级**(后台管理中心 `weapp.*`):改的是**当前租户**;改租户级规则 = 单租户覆盖
|
|
224
223
|
- **场景区别**:改系统级 = 给所有租户统一;改租户级 = 单个租户特殊化(例如某个租户量特别大要单独挂云存储)
|
|
225
224
|
- **入口区别**:系统级 = 租户平台 `<your-tenant-platform-domain>/.../storageSet`;租户级 = E10 后台 `<your-e10-domain> → 文件设置 → 存储设置`
|
|
226
|
-
-
|
|
227
|
-
- **(1)
|
|
228
|
-
- **(2)
|
|
225
|
+
- **关键点**:两个 level 的业务接口**都走 `/papi/file/...`**(不要写成 `/api/...`)
|
|
226
|
+
- **(1) 系统级**:先确认客户已**登录租户平台**(`<your-tenant-platform-domain>`);没登录就告知客户去登录或从浏览器 DevTools 拿三件套写到 `.env.local`
|
|
227
|
+
- **(2) 租户级**:先确认客户已**登录 E10 后台**(`<your-e10-domain>`);三种走法:
|
|
229
228
|
- 优先触发独立登录 skill(如 `weaver-im login`)
|
|
230
229
|
- 或弹登录框让客户登录
|
|
231
230
|
- 或客户提供三件套(DevTools 抓 `ETEAMSID` + `authToken` cookie + 任意 papi URL 上的 `token` query 参数)写到 `.env.local`
|
|
@@ -247,7 +246,7 @@ CLI 改规则时"选存储实例"指的就是这些。完整字段差异见
|
|
|
247
246
|
- **(7) 登录 / 三件套准备好后立即调 `storage list` 验证**,失败的话让客户重新登录 / 提供三件套
|
|
248
247
|
|
|
249
248
|
3. **查询要简洁**(`list / show / rule show` 时的输出格式)
|
|
250
|
-
-
|
|
249
|
+
- **只返回三样**:**真实租户名**(系统级不区分租户,可省)、
|
|
251
250
|
设置项名(中文别名或 DTO 字段名)、当前值
|
|
252
251
|
- **不要**返回:bool 三态展开、enum 解释、字段语义说明、风险提示、
|
|
253
252
|
"建议/可以这么做" 等附加内容 —— 这些只在用户追问时再说
|
|
@@ -279,7 +278,7 @@ CLI 改规则时"选存储实例"指的就是这些。完整字段差异见
|
|
|
279
278
|
**只在该轮回应**展开,平时一律隐藏
|
|
280
279
|
- 身份信息隐藏 `userId` / `tenantKey` / `ETEAMSID` 这类内部 ID,只说"当前租户"
|
|
281
280
|
或"系统级"
|
|
282
|
-
-
|
|
281
|
+
- 可选自检:输出话术前自查一遍合规性
|
|
283
282
|
|
|
284
283
|
6. **做不到时正确引导**
|
|
285
284
|
客户要改的项**当前工具/接口改不了**时,**不要**静默截断、**不要**发注定失败
|
|
@@ -289,10 +288,10 @@ CLI 改规则时"选存储实例"指的就是这些。完整字段差异见
|
|
|
289
288
|
改业务规则里选这个新实例
|
|
290
289
|
- **license 没开**:租户没 `STORAGE_RULE` license 时 `ruleList` 返回空,
|
|
291
290
|
改规则会失败。引导客户找管理员开 license
|
|
292
|
-
-
|
|
291
|
+
- **三件套拿不到**:远程环境 `storage login` 失败时,引导客户
|
|
293
292
|
`storage login --config <name>` 重新登录;或手动从浏览器 DevTools 抓三件套
|
|
294
293
|
写到 `WEILE_<NAME>_ETEAMSID` + `WEILE_<NAME>_AUTH_TOKEN` + `WEILE_<NAME>_FREEPASS_TOKEN`
|
|
295
|
-
——
|
|
294
|
+
—— 注意:token 来自 freepass 入口 URL(`/sp/file/SysStorageSet/freepass?token=xxx`),
|
|
296
295
|
不是 listPageToken 响应
|
|
297
296
|
- **字段间依赖**:
|
|
298
297
|
- `encrypted-storage=true` 但 `sys-file-algorithm` 为空 → CLI 自动填 `SM4`(门禁)
|
|
@@ -307,7 +306,7 @@ CLI 改规则时"选存储实例"指的就是这些。完整字段差异见
|
|
|
307
306
|
在那边保存后,回到这里再让我帮你改存储设置里的对应项,
|
|
308
307
|
就能改到你想要的值了。"
|
|
309
308
|
|
|
310
|
-
7. **改存储规则前:先列当前所有项 + 逐项说明,按 level
|
|
309
|
+
7. **改存储规则前:先列当前所有项 + 逐项说明,按 level 分流**
|
|
311
310
|
改存储规则时按 level 走不同流程,**都先列当前所有项再问客户改哪些**:
|
|
312
311
|
|
|
313
312
|
**A. 系统级**(租户平台):
|
|
@@ -316,7 +315,7 @@ CLI 改规则时"选存储实例"指的就是这些。完整字段差异见
|
|
|
316
315
|
- **只**改客户说想改的项;其它项保持原值(门禁 7:未指定子字段保留)
|
|
317
316
|
- 不要在列出当前值的同时"顺便"推荐改某项;客户没问就不主动建议
|
|
318
317
|
|
|
319
|
-
**B. 租户级**(E10
|
|
318
|
+
**B. 租户级**(E10 后台管理中心):
|
|
320
319
|
- 调 `storage rule show --default` 拉**当前租户的默认存储规则**详细信息(含里面挂的存储实例的【名称 / 类型 / 启用状态】)
|
|
321
320
|
- 调 `storage rule list` 拉**当前租户的所有存储子规则**(`--name` 可选模糊),**每条规则都要给客户展示完整详情**:
|
|
322
321
|
- 规则名称 / 启用状态 / 文件来源 / 子目录类型
|
|
@@ -326,12 +325,12 @@ CLI 改规则时"选存储实例"指的就是这些。完整字段差异见
|
|
|
326
325
|
- 改的是"子规则 id=N" → 调 `storage rule set --id N --item ...`
|
|
327
326
|
- **绝不**只看默认规则就跳过子规则——子规则可能"挂的实例"跟默认规则完全不一样(按文件来源分部)
|
|
328
327
|
|
|
329
|
-
**C. 租户级
|
|
328
|
+
**C. 租户级 新建子规则**(前端不是固定 6 字段,是按存储实例类型动态显示):
|
|
330
329
|
- **走 `storage rule add` CLI**(不是 `rule set`),走 `POST /api/file/storage/rule/saveData` ADD 路径——传 `ruleInfoList` 含 1 条**不带 id** 的 `StoRuleInfo`
|
|
331
|
-
- **前端"新建存储规则"页面字段是动态的,按"存储实例"
|
|
330
|
+
- **前端"新建存储规则"页面字段是动态的,按"存储实例"类型切换**(是否本地存储决定压缩/加密等字段显隐):
|
|
332
331
|
- **基础 6 字段(无论选什么存储实例都显示)**:
|
|
333
332
|
- 规则名
|
|
334
|
-
- 文件来源(前端只让用户选"模块 / 文件夹"
|
|
333
|
+
- 文件来源(前端只让用户选"模块 / 文件夹"两种,分部/部门已被隐藏)
|
|
335
334
|
- 存储实例
|
|
336
335
|
- 存储路径
|
|
337
336
|
- 子目录
|
|
@@ -341,7 +340,7 @@ CLI 改规则时"选存储实例"指的就是这些。完整字段差异见
|
|
|
341
340
|
- **加密存储**(`encryptedStorage` Switch 开关)
|
|
342
341
|
- **加密算法**(`sysFileAlgorithm`,开了"加密存储"才出现,是个 Icon 按钮点开弹窗选,默认 `SM4`,可选 `AES-256`)
|
|
343
342
|
- **非本地存储(腾讯 / 阿里 / 华为 / S3 / FastDFS / HDFS)**:基础 6 字段,**不**显示压缩/加密/算法(云存储不需要)
|
|
344
|
-
-
|
|
343
|
+
- **前端动态显隐逻辑**:
|
|
345
344
|
```ts
|
|
346
345
|
if ('storageInstance' in value) {
|
|
347
346
|
const instanceType = value.storageInstance[0]?.instanceType;
|
|
@@ -354,22 +353,23 @@ CLI 改规则时"选存储实例"指的就是这些。完整字段差异见
|
|
|
354
353
|
}
|
|
355
354
|
}
|
|
356
355
|
```
|
|
357
|
-
-
|
|
358
|
-
- **`fileSourceType` 实际值是 1/2/3/4**(
|
|
359
|
-
- `fileSourceType=1`(模块):`fileSourceValue` = **moduleFlag 英文**(如 `"document"`),不是模块中文名"文档"——后端 `searchModuleStrToEntry` 用它去 `fileModuleBrowser.getModuleMap()`
|
|
356
|
+
- **字段数量不是固定的**:选了本地存储就多出压缩/加密/算法 3 个。**正确认知**:基础 6 + 选了本地再加 2-3 个 = 6~9 字段之间
|
|
357
|
+
- **`fileSourceType` 实际值是 1/2/3/4**(1=模块 2=文件夹 3=分部 4=部门 -1=默认,不要写成 0/1/2/3):
|
|
358
|
+
- `fileSourceType=1`(模块):`fileSourceValue` = **moduleFlag 英文**(如 `"document"`),不是模块中文名"文档"——后端 `searchModuleStrToEntry` 用它去 `fileModuleBrowser.getModuleMap()` 里查,
|
|
359
|
+
找不到就 `filter(Objects::nonNull)` 静默丢弃
|
|
360
360
|
- `fileSourceType=2`(文件夹):`fileSourceValue` = **文档中心目录 id**(数字字符串,多个用逗号分隔)
|
|
361
361
|
- `fileSourceType=3`(分部):`fileSourceValue` = **分部 id**(数字)
|
|
362
362
|
- `fileSourceType=4`(部门):`fileSourceValue` = **部门 id**(数字)
|
|
363
|
-
- **`fileSourceValue`
|
|
363
|
+
- **`fileSourceValue` 怎么传值**(前端 + 后端双向验证):
|
|
364
364
|
- **前端 Browser(type=module)** 调 `/api/file/common/browser/complete/module` 拿 `Map<moduleFlag, moduleName>`,每条 module 包装成 `{id: moduleFlag, title: moduleFlag, content: moduleName}`(HAR 实测确认)
|
|
365
|
-
-
|
|
366
|
-
-
|
|
367
|
-
- **反推**:传中文 moduleName(如"文档")→
|
|
368
|
-
-
|
|
365
|
+
- 前端保存时把选中项按 id 拼接 —— **id = moduleFlag 英文**,不是中文 moduleName
|
|
366
|
+
- **后端按模块映射表解析**:**找到就按 moduleFlag 入库,找不到就静默丢弃**
|
|
367
|
+
- **反推**:传中文 moduleName(如"文档")→ 映射表找不到 → 被丢弃 → 看似保存成功但 `fileSourceValue` 入库为空
|
|
368
|
+
- **给必填值的话术**(含本地存储专属字段):
|
|
369
369
|
- 基础 6 字段:规则名 / 文件来源 / 存储实例 / 存储路径 / 子目录 / 启用
|
|
370
370
|
- **如果选本地存储**:追加问"压缩存储"开不开(默认关)+ "加密存储"开不开(默认关)+ 开了加密就问"加密算法"(默认 `SM4`,可选 `AES-256`)
|
|
371
371
|
- **如果选云存储**:不追问压缩/加密/算法
|
|
372
|
-
-
|
|
372
|
+
- **模块对应关系速查表**(基于常见模块整理,跨租户可能有出入):
|
|
373
373
|
|
|
374
374
|
| 业务中文名 | moduleFlag(英文) |
|
|
375
375
|
|---|---|
|
|
@@ -383,19 +383,19 @@ CLI 改规则时"选存储实例"指的就是这些。完整字段差异见
|
|
|
383
383
|
|
|
384
384
|
完整列表调 `/api/file/common/browser/complete/module` 拉(HAR 实测当前租户 197 个 moduleFlag)。**未知模块让客户用前端 Browser 选好后告诉我 moduleFlag 英文**——前端选择器会同时显示 moduleFlag 和 moduleName,agent 没法直接替客户选(需要 Browser 操作)。
|
|
385
385
|
|
|
386
|
-
8. **改/选存储实例时:先列已有 +
|
|
386
|
+
8. **改/选存储实例时:先列已有 + 让客户选**
|
|
387
387
|
改规则的"存储实例"字段 / 改"业务文件要落到哪个实例"时:
|
|
388
388
|
- **先调 `storage list` 列出所有已有存储实例**,每个实例给出 **三要素**:**名称 / 类型(本地/腾讯/阿里/华为/S3/FastDFS/HDFS)/ 启用状态**
|
|
389
389
|
- **问客户"选已有实例 / 新建一个"**——不要直接跳到"新建";新建是高成本操作,能复用就先复用
|
|
390
390
|
- 客户说"选已有" → 调 `storage show <id>` 把详情给客户确认,再调 `rule set --item storage-instance=<id>`
|
|
391
391
|
- 客户说"新建" → 走规则 9
|
|
392
392
|
|
|
393
|
-
9. **新建存储实例:列支持类型 + 按 defaultField 给必填值 +
|
|
393
|
+
9. **新建存储实例:列支持类型 + 按 defaultField 给必填值 + 测试先于保存**
|
|
394
394
|
新建存储实例必须按这个三步走,**不能跳步也不能漏字段**:
|
|
395
395
|
|
|
396
396
|
- **步骤 a — 列支持类型**:先把 7 种支持的存储类型告诉客户(本地 / 腾讯云 / 阿里云 / 华为云 / S3 / FastDFS / HDFS),让客户选要新建哪种
|
|
397
|
-
- **步骤 b — 按 defaultField
|
|
398
|
-
-
|
|
397
|
+
- **步骤 b — 按 defaultField 给必填值**:
|
|
398
|
+
- 客户选好类型后,**按本文「7 种存储类型」的该类型 defaultField 给字段**——**不能给页面上没有的字段**
|
|
399
399
|
- **每种类型的字段都不一样**:
|
|
400
400
|
- 本地:实例名 + 存储路径
|
|
401
401
|
- 腾讯云:实例名 + 协议 + 终端节点 + 区域 + 桶 + 访问 id/key(共 7 项,含独立"区域"字段)
|
|
@@ -404,9 +404,9 @@ CLI 改规则时"选存储实例"指的就是这些。完整字段差异见
|
|
|
404
404
|
- S3:实例名 + 协议 + 终端节点 + S3 host + 区域 + 桶 + 访问 id/key + PathStyle + 二级路径(可选)
|
|
405
405
|
- FastDFS:实例名 + trackerServers + downLoadHost(**没终端节点/桶/凭证**)
|
|
406
406
|
- HDFS:实例名 + hdfsServerIp + hdfsServerPort + 存储路径 + hdfsUserName(**没终端节点/桶/凭证**)
|
|
407
|
-
- **终端节点(END_POINT)
|
|
407
|
+
- **终端节点(END_POINT) 是个组合控件**:左侧是**协议下拉**(`http://` / `https://`),右侧是**域名文本框**。**协议走 `httpHttps` 顶层字段 + 域名走 `endPoint` 嵌套字段**——不能拼成一个字符串
|
|
408
408
|
- 凭证(访问 id / 访问 key)不复读到对话里,收到后只说"已收到"
|
|
409
|
-
- **步骤 c —
|
|
409
|
+
- **步骤 c — 测试先于保存(强制)**:
|
|
410
410
|
- 客户填好后,**agent 必须立刻调 `storage test-create` 测试连通性**(不调 `instance add`)
|
|
411
411
|
- 测试通过 → 才调 `storage instance add` 保存
|
|
412
412
|
- 测试不通过 → **绝不保存**,根据后端返回的异常告诉客户原因 + 怎么改(例如:桶不存在 → 检查桶名;访问 key 错 → 检查凭证;端点拼错 → 检查协议和域名)
|
|
@@ -414,20 +414,20 @@ CLI 改规则时"选存储实例"指的就是这些。完整字段差异见
|
|
|
414
414
|
- **绝对不能**问"要存吗"再保存——客户给完整信息后**agent 必须先测试**,告诉客户测试结果,客户说"存"才存
|
|
415
415
|
- **注意**:步骤 c 的"测试"是后端 `testConnect` 走真实凭证 + 真实桶的真实请求,比"保存后再看"靠谱得多
|
|
416
416
|
|
|
417
|
-
10. **查询"现在系统是什么存储"时:综合三处 + 去重 + 业务信息 + 无 ID
|
|
417
|
+
10. **查询"现在系统是什么存储"时:综合三处 + 去重 + 业务信息 + 无 ID**
|
|
418
418
|
客户问"现在系统是什么存储"/"现在业务文件存哪了"/"现在用的哪套存储"等**纯查询场景**(不是要改),必须**综合查三处**再综合回答:
|
|
419
419
|
|
|
420
420
|
- **A. 查系统级业务文件存储规则** → `storage rule show --level system --default` 拿"业务文件最终落点"(含挂的存储实例 + 子目录规则 + 存储路径)
|
|
421
421
|
- **B. 查系统级静态文件存储规则** → 走 `getStorageInstance` 拿"静态资源最终落点的存储实例详情"(含存储路径/桶/端点等)
|
|
422
422
|
- **C. 查当前租户的存储信息** → `storage rule show --level tenant --default` 拿"租户级默认规则挂的实例"
|
|
423
423
|
|
|
424
|
-
|
|
424
|
+
**输出格式硬约束**:
|
|
425
425
|
- **禁止出现 ID**:任何 instance.id / rule.id / usageType 等**纯内部状态字段都不能出现**——这些是开发用字段,不是客户要的"现在用什么"
|
|
426
426
|
- **必须包含业务信息**:每个落点要包含 **存储类型 / 实例名 / 桶名(对象存储) / 区域 / 终端节点 / 存储路径(本地) / 子目录规则**——客户问"现在用什么"就是要这些业务信息,不要只回个名字
|
|
427
427
|
- **分段写但不用编号**:业务文件 / 静态文件 / 租户是否覆盖三段分开写,每段一段自然语言
|
|
428
428
|
- **去重规则**:C 跟 A/B 一致时,**不单独列 C 那一行**——客户问的是"系统是什么存储",租户级跟系统级一致时只说一次
|
|
429
429
|
|
|
430
|
-
|
|
430
|
+
**标准输出模板**:
|
|
431
431
|
```markdown
|
|
432
432
|
当前系统存储概况:
|
|
433
433
|
|
|
@@ -448,27 +448,18 @@ CLI 改规则时"选存储实例"指的就是这些。完整字段差异见
|
|
|
448
448
|
- <没有单独覆盖,跟系统级一致> ← 跟 A/B 一致时
|
|
449
449
|
- <单独挂的:<类型> - <实例名>...> ← 跟 A/B 不一致时
|
|
450
450
|
```
|
|
451
|
-
-
|
|
451
|
+
- **格式说明**:**用 markdown `-` bullet 强制每项独立成行**——所有现代 chat 客户端都会把 `- ` 开头识别为列表项,**强制独占一行**,不会被"压缩单换行"合并
|
|
452
452
|
- 顶层 3 段(业务/静态/租户)用 `-`(顶格 bullet)
|
|
453
453
|
- 段内每个属性用 ` - `(2 空格缩进 bullet)
|
|
454
454
|
- 段间用**单空行**分隔
|
|
455
455
|
- 桶 / 区域 / 终端节点这三项仅在"对象存储(腾讯/阿里/华为/S3)"时才有,本地存储写"存储路径"即可
|
|
456
|
-
-
|
|
456
|
+
- 区域对华为云可不填(信息在终端节点里,见硬性门禁 8)
|
|
457
457
|
- 客户问"列出来本地环境的存储信息"实际就是"现在用什么"——不要把全部 21 个实例平铺出来,只讲"正在用的"
|
|
458
|
-
-
|
|
459
|
-
- **反例**(v0.4.7 客户反馈):v0.4.6 用"长段落"写法(214 字符挤成 4 段),客户希望**每个属性独立成行**
|
|
460
|
-
- **反例**(v0.4.8 客户反馈):v0.4.7 用"2 空格缩进"写法,客户希望**无缩进直接 key:value**(类似 `存储类型:` 这种示例),让每行更扁更易扫
|
|
461
|
-
- **反例**(v0.4.9 客户反馈):v0.4.8 用"业务文件: / 静态文件: / 当前租户:"这种冒号分段,客户希望用 `###` 三级标题让 3 段更醒目
|
|
462
|
-
- **反例**(v0.4.10 客户反馈):v0.4.9 用 `###` 三级标题 markdown,**某些客户端不渲染 markdown 标题**;v0.4.10 改纯换行,但**chat 客户端会压缩单换行成空格**,多个 key:value 还是挤在一行
|
|
463
|
-
- **反例**(v0.4.11 客户反馈):v0.4.10 纯换行在 chat 客户端被压成空格,key:value 还是挤一行。v0.4.11 用 markdown `-` bullet——列表项在所有 chat 客户端都**强制独占一行**,不会被压缩
|
|
458
|
+
- **反例(禁止的写法)**:表格里出现 id / usageType 列、正文里出现命令、罗列全部实例;长段落挤成几段;缩进 key:value;冒号分段;markdown 三级标题;纯换行(会被 chat 客户端压成空格)。**正确做法**:markdown `-` bullet 强制每项独立成行。
|
|
464
459
|
|
|
465
460
|
## 宿主
|
|
466
461
|
|
|
467
|
-
CLI
|
|
468
|
-
|
|
469
|
-
```text
|
|
470
|
-
python3 scripts/setting_storage.py <cmd> [args]
|
|
471
|
-
```
|
|
462
|
+
CLI 入口:`weaver-work-cli caizhilian run caizhilian.setting-storage.<operation>`(操作清单见 SKILL.md 路由表)。
|
|
472
463
|
|
|
473
464
|
|
|
474
465
|
## 与 weaver-setting 系列其它 skill 的关系
|
|
@@ -486,44 +477,13 @@ python3 scripts/setting_storage.py <cmd> [args]
|
|
|
486
477
|
|
|
487
478
|
## 版本
|
|
488
479
|
|
|
489
|
-
- **0.4.16**(2026-08-17)**auth 模型全错重写(基于客户 2026-08-17 发的两个 HAR 文件实证)**。修正:
|
|
490
|
-
- **之前 v0.2.0 章节 3 错了**:真实业务接口 URL 拼的 `token=` 不是 listPageToken.data.token,是 freepass token(来自 `/sp/file/SysStorageSet/freepass?token=xxx` 入口)
|
|
491
|
-
- **之前 v0.3.0 章节错了**:租户级实际是 `/papi/file/...`,不是 `/api/file/...`(HAR 里一个 `/api/` 都没有)
|
|
492
|
-
- **之前章节 2 错了**:只抓 ETEAMSID 不够,真实要三件套 `ETEAMSID` + `authToken`(JWT cookie)+ `freepass token`(URL 参数)
|
|
493
|
-
- **之前章节 11 错了**:业务接口还多一个 `randomkey_xxxx`(CSRF 防护,每次请求生成一对)
|
|
494
|
-
- 新 env vars:`WEILE_<NAME>_AUTH_TOKEN` + `WEILE_<NAME>_FREEPASS_TOKEN`(之前 `WEILE_<NAME>_TOKEN` 已废弃)
|
|
495
|
-
- 删 `fetch_page_token` / `_papi_qs(token)` 的旧用法;加 `generate_randomkey()` 和 `fetch_auth_cookies()`
|
|
496
|
-
- `Session.require_auth()` 三件套校验;`require_token()` 兼容只校验 freepass
|
|
497
|
-
- `cmd_login` 重写:让用户从租户平台点链接到 E10 后台再抓三件套
|
|
498
|
-
- 所有 storage_api 函数加 `auth_token` / `freepass_token` 参数(替换 `token`)
|
|
499
|
-
- `auth-flow.md` 完整记录 HAR 实证 + 5 处旧文档错误 + 修方向
|
|
500
|
-
- 现有客户已建的 `webapp` config 需要重新 `storage login` 拿新三件套
|
|
501
|
-
- **0.4.15**(2026-08-10)**修子规则字段含义 + fileSourceType 取值 + 本地存储显示压缩/加密/算法**。
|
|
502
|
-
- **0.4.14**(2026-08-09)**新建/删除子规则**。
|
|
503
|
-
- **0.4.13**(2026-08-09)**7 种存储类型 defaultField 精准化**。
|
|
504
|
-
- **0.4.12**(2026-08-09)**完整话术模板库**。
|
|
505
|
-
- **0.4.11**(2026-08-09)**对话式输出格式 markdown bullet 强制换行**。
|
|
506
|
-
- **0.4.2**(2026-08-08)**对象存储凭证字段路由**(凭证必须嵌套 `storageConfigInfo`)。
|
|
507
|
-
- **0.4.0**(2026-08-08)**开放实例写操作**(`instance add / delete`)。
|
|
508
|
-
- **0.3.0**(2026-08-09)**租户级接入**(**v0.4.16 改:当时写的 `/api/file/storage/...` 是错的,实际是 `/papi/file/...`**)。
|
|
509
|
-
- **0.2.0**(2026-08-09)**鉴权补全**(**v0.4.16 改:当时写的 listPageToken 自动获取 + URL 拼 token 模型是错的,真实是 freepass token**)。
|
|
510
|
-
- **0.1.0**(2026-08-06)首次创建。覆盖租户平台(papi / all_teams)「存储实例 +
|
|
511
|
-
存储规则」的系统级查看 + 规则改写。13 个 rule 子字段全部走 CLI 别名 + 中文 + DTO 驼峰三套。
|
|
512
|
-
|
|
513
480
|
版本号规则 `x.y.z`:
|
|
514
481
|
- **x 升** — 大重构(GET/POST 模式变化、DTO 结构变化、字段大幅增删)
|
|
515
482
|
- **y 升** — 新增字段、新增命令、新增子模块
|
|
516
483
|
- **z 升** — 文案修正、门禁澄清、依赖注补充、不改行为的小修
|
|
517
|
-
|
|
518
|
-
## 计划中的下一版
|
|
519
|
-
|
|
520
|
-
- **0.5.0** —— 批量启停规则(`rule open --batch --ids 1,2,3 --on`)
|
|
521
|
-
- **0.6.0** —— 规则按"文件来源"browser 化(用 `list_storage_instance_options`
|
|
522
|
-
+ 后端的 `FileModuleBrowser` 给出可选 id 列表,agent 直接对话式问"我帮
|
|
523
|
-
你选了文件来源 X,要不要确认?")
|
|
524
484
|
# 接口协议
|
|
525
485
|
|
|
526
|
-
|
|
486
|
+
范围:仅**租户平台 / 系统级**(papi + `all_teams`)。
|
|
527
487
|
|
|
528
488
|
## 端点
|
|
529
489
|
|
|
@@ -564,40 +524,15 @@ papi 端点都带 `?wea_link_keep_freepass=1&tenant_langType=zh_CN` 通用 query
|
|
|
564
524
|
|
|
565
525
|
## POST 注意事项
|
|
566
526
|
|
|
567
|
-
1.
|
|
568
|
-
|
|
569
|
-
`StorageConfigInfo` 字段值是租户级 / 系统级混合的;租户平台只该有读权限
|
|
570
|
-
2. **业务规则 vs 静态规则同时改**:调用 `rule/saveData` 时 `defaultRule=true` 会触发
|
|
571
|
-
`StoRuleServiceImpl.java:140-170` 的 saveDefaultRule / saveStaticDefaultRule,
|
|
527
|
+
1. **注意实例数据的作用范围**:实例字段值可能混有租户级 / 系统级内容;租户平台入口通常只应有读权限,写操作走本模块的实例操作。
|
|
528
|
+
2. **业务规则 vs 静态规则同时改**:调用 `rule/saveData` 时 `defaultRule=true` 会触发默认 / 静态默认规则的保存,
|
|
572
529
|
一次请求可同时改两条(业务 + 静态),按 `ruleType` 字段路由
|
|
573
530
|
3. **`staticNginxConfig` 是嵌套 JSON 子字段**:存在 `StoRuleInfo.expandRuleConfig`(JSON 字符串)里;
|
|
574
531
|
改 nginx 配置 → CLI 走子字段 merge,不能整段覆盖
|
|
575
|
-
4.
|
|
532
|
+
4. **改默认规则会脱离系统默认**:前端弹窗原话
|
|
576
533
|
"修改后将不再继承系统初始化的默认存储实例"
|
|
577
|
-
5. **保存后要 GET
|
|
534
|
+
5. **保存后要 GET 校验**:保存接口不回显完整对象,只回 `ruleInfoList`;
|
|
578
535
|
CLI 改完要 `GET ruleForm` 重新拉一遍
|
|
579
536
|
6. **`canSelect=false` 的实例不可选**:前端会显示 tooltip "系统级存储实例,不允许修改";
|
|
580
537
|
CLI 改规则时如果 `storage-instance` 选了这类实例会被前端拒(实际后端按 usageType 过滤)
|
|
581
538
|
|
|
582
|
-
## 后端实现位置
|
|
583
|
-
|
|
584
|
-
- Controller(租户平台):
|
|
585
|
-
- `eteams-file/src/main/java/com/weaver/teams/file/e10/mvc/web/storageconfig/PublicStorageConfigController.java`
|
|
586
|
-
- `eteams-file/src/main/java/com/weaver/teams/file/e10/mvc/web/storagerule/PublicStoRuleController.java`
|
|
587
|
-
- `eteams-file/src/main/java/com/weaver/teams/file/e10/mvc/web/storagerule/PublicStoRuleFrontCompController.java`
|
|
588
|
-
- Service:`eteams-file/src/main/java/com/weaver/teams/file/e10/service/web/storagerule/impl/StoRuleServiceImpl.java`
|
|
589
|
-
- `StoRuleFrontCompServiceImpl.java`(表单渲染)
|
|
590
|
-
- DTO:
|
|
591
|
-
- `eteams-file/src/main/java/com/weaver/teams/file/e10/param/StorageInstanceConfigParam.java`
|
|
592
|
-
- `eteams-file/src/main/java/com/weaver/teams/file/e10/entity/storagerule/StoRuleParam.java`(含 `StoRuleInfo`)
|
|
593
|
-
- 枚举:
|
|
594
|
-
- `eteams-file-client/src/main/java/com/weaver/eteams/file/client/file/enums/storage/StoInstanceTypeEnum.java`(7 种存储类型)
|
|
595
|
-
- `eteams-storage/src/main/java/com/weaver/teams/storage/constant/FileStorage.java`(运行时实例)
|
|
596
|
-
- 实体:
|
|
597
|
-
- `eteams-storage/src/main/java/com/weaver/teams/storage/entity/StorageConfigInfo.java`(每种存储类型的字段集)
|
|
598
|
-
- 前端:
|
|
599
|
-
- `weapp-file/src/components/pc/FileSet/components/StorageSet/index.tsx`
|
|
600
|
-
- `weapp-file/src/components/pc/FileSet/components/StorageSet/StorageInstance.tsx`(实例)
|
|
601
|
-
- `weapp-file/src/components/pc/FileSet/components/StorageSet/StorageRules.tsx`(规则列表)
|
|
602
|
-
- `weapp-file/src/components/pc/FileSet/components/StorageSet/hooks/useInstanceDetail.tsx`(实例编辑弹窗)
|
|
603
|
-
- `weapp-file/src/components/pc/FileSet/components/StorageSet/hooks/useRuleDetail.tsx`(规则编辑弹窗)
|