@h-ai/cli 1.0.0-beta.2 → 1.0.0-beta.21
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.en.md +74 -154
- package/README.ja.md +74 -154
- package/README.md +74 -154
- package/dist/{chunk-AKV2CQZV.js → chunk-2ZL5ORQ2.js} +316 -97
- package/dist/chunk-2ZL5ORQ2.js.map +1 -0
- package/dist/{chunk-EF7WOFWZ.js → chunk-L53P43B2.js} +1312 -163
- package/dist/chunk-L53P43B2.js.map +1 -0
- package/dist/cli-config-templates-LWMD2I6V.js +5 -0
- package/dist/{cli-config-templates-HHFHNXBN.js.map → cli-config-templates-LWMD2I6V.js.map} +1 -1
- package/dist/{cli-skill-templates-PN4FLGBC.js → cli-skill-templates-D6S2OQ6X.js} +3 -3
- package/dist/{cli-skill-templates-PN4FLGBC.js.map → cli-skill-templates-D6S2OQ6X.js.map} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +30118 -3253
- package/dist/index.js.map +1 -1
- package/dist/metafile-esm.json +1 -1
- package/package.json +22 -18
- package/templates/README.md +45 -30
- package/templates/apps/admin/src/routes/+layout.svelte.hbs +16 -10
- package/templates/apps/admin/src/routes/+page.svelte.hbs +4 -4
- package/templates/apps/admin/src/routes/admin/+layout.svelte.hbs +17 -7
- package/templates/apps/admin/src/routes/admin/+page.svelte.hbs +26 -6
- package/templates/apps/admin/src/routes/admin/settings/+page.svelte.hbs +2 -2
- package/templates/apps/api/.dockerignore.hbs +10 -0
- package/templates/apps/api/apps/{{projectName}}-contract/README.md.hbs +8 -0
- package/templates/apps/api/apps/{{projectName}}-contract/src/app-schemas.ts.hbs +6 -1
- package/templates/apps/api/apps/{{projectName}}-contract/src/{{projectName}}-contract.ts.hbs +13 -5
- package/templates/apps/api/apps/{{projectName}}-contract/tests/contract.test.ts.hbs +13 -5
- package/templates/apps/api/apps/{{projectName}}-contract/tsup.config.ts.hbs +3 -1
- package/templates/apps/api/apps/{{projectName}}-serv/README.md.hbs +6 -2
- package/templates/apps/api/apps/{{projectName}}-serv/config/_serv.yml.hbs +24 -2
- package/templates/apps/api/apps/{{projectName}}-serv/package.json.hbs +4 -4
- package/templates/apps/api/apps/{{projectName}}-serv/src/app.ts.hbs +74 -24
- package/templates/apps/api/apps/{{projectName}}-serv/src/build-metadata.ts.hbs +0 -1
- package/templates/apps/api/apps/{{projectName}}-serv/src/lib/server/init.ts.hbs +153 -37
- package/templates/apps/api/apps/{{projectName}}-serv/src/server/procedures/index.ts.hbs +39 -13
- package/templates/apps/api/apps/{{projectName}}-serv/tests/service.test.ts.hbs +106 -33
- package/templates/apps/api/apps/{{projectName}}-serv/tsup.config.ts.hbs +3 -1
- package/templates/apps/api/apps/{{projectName}}-serv/vitest.config.ts.hbs +3 -1
- package/templates/apps/api/e2e/api-serv.spec.ts.hbs +20 -3
- package/templates/apps/api/e2e/capture-evidence.ts.hbs +4 -1
- package/templates/apps/api/eslint.config.js.hbs +3 -1
- package/templates/apps/api/images/serv.Dockerfile.hbs +15 -10
- package/templates/apps/api/playwright.config.ts.hbs +23 -19
- package/templates/apps/api/pnpm-workspace.yaml.hbs +27 -16
- package/templates/apps/fullstack/.dockerignore.hbs +10 -0
- package/templates/apps/fullstack/.gitignore.hbs +7 -2
- package/templates/apps/fullstack/apps/{{projectName}}-app/README.md.hbs +14 -12
- package/templates/apps/fullstack/apps/{{projectName}}-app/capacitor.config.ts.hbs +5 -3
- package/templates/apps/fullstack/apps/{{projectName}}-app/eslint.config.js.hbs +10 -2
- package/templates/apps/fullstack/apps/{{projectName}}-app/package.json.hbs +1 -1
- package/templates/apps/fullstack/apps/{{projectName}}-app/src/App.svelte.hbs +10 -2
- package/templates/apps/fullstack/apps/{{projectName}}-app/src/build-metadata.ts.hbs +0 -1
- package/templates/apps/fullstack/apps/{{projectName}}-app/src/lib/capacitor.ts.hbs +0 -1
- package/templates/apps/fullstack/apps/{{projectName}}-app/svelte.config.js.hbs +4 -1
- package/templates/apps/fullstack/apps/{{projectName}}-app/vite.config.ts.hbs +16 -4
- package/templates/apps/fullstack/apps/{{projectName}}-desktop/README.md.hbs +10 -8
- package/templates/apps/fullstack/apps/{{projectName}}-desktop/package.json.hbs +3 -3
- package/templates/apps/fullstack/apps/{{projectName}}-desktop/src/App.svelte.hbs +8 -2
- package/templates/apps/fullstack/apps/{{projectName}}-desktop/src/build-metadata.ts.hbs +0 -1
- package/templates/apps/fullstack/apps/{{projectName}}-desktop/src-tauri/tauri.conf.json.hbs +0 -2
- package/templates/apps/fullstack/apps/{{projectName}}-desktop/svelte.config.js.hbs +4 -1
- package/templates/apps/fullstack/apps/{{projectName}}-desktop/vite.config.ts.hbs +16 -4
- package/templates/apps/fullstack/apps/{{projectName}}-miniapp/README.md.hbs +2 -0
- package/templates/apps/fullstack/apps/{{projectName}}-web/README.md.hbs +9 -9
- package/templates/apps/fullstack/apps/{{projectName}}-web/eslint.config.js.hbs +10 -2
- package/templates/apps/fullstack/apps/{{projectName}}-web/index.html.hbs +1 -0
- package/templates/apps/fullstack/apps/{{projectName}}-web/src/build-metadata.ts.hbs +0 -1
- package/templates/apps/fullstack/apps/{{projectName}}-web/src/main.ts.hbs +0 -2
- package/templates/apps/fullstack/apps/{{projectName}}-web/svelte.config.js.hbs +4 -1
- package/templates/apps/fullstack/apps/{{projectName}}-web/vite.config.ts.hbs +19 -5
- package/templates/apps/fullstack/docs/security-configuration.md.hbs +4 -1
- package/templates/apps/fullstack/e2e/fullstack.spec.ts.hbs +140 -28
- package/templates/apps/fullstack/e2e/session-close.spec.ts.hbs +19 -5
- package/templates/apps/fullstack/eslint.config.js.hbs +3 -1
- package/templates/apps/fullstack/images/serv.Dockerfile.hbs +19 -11
- package/templates/apps/fullstack/images/web.Dockerfile.hbs +17 -8
- package/templates/apps/fullstack/package.json.hbs +2 -1
- package/templates/apps/fullstack/packages/{{projectName}}-contract/README.md.hbs +7 -5
- package/templates/apps/fullstack/packages/{{projectName}}-contract/src/admin-contract.ts.hbs +114 -23
- package/templates/apps/fullstack/packages/{{projectName}}-contract/src/admin-schemas.ts.hbs +57 -11
- package/templates/apps/fullstack/packages/{{projectName}}-contract/tsup.config.ts.hbs +3 -1
- package/templates/apps/fullstack/packages/{{projectName}}-serv/README.md.hbs +17 -7
- package/templates/apps/fullstack/packages/{{projectName}}-serv/config/_reach.yml.hbs +13 -7
- package/templates/apps/fullstack/packages/{{projectName}}-serv/config/_serv.yml.hbs +17 -7
- package/templates/apps/fullstack/packages/{{projectName}}-serv/package.json.hbs +10 -4
- package/templates/apps/fullstack/packages/{{projectName}}-serv/src/app-server.ts.hbs +65 -30
- package/templates/apps/fullstack/packages/{{projectName}}-serv/src/build-metadata.ts.hbs +0 -1
- package/templates/apps/fullstack/packages/{{projectName}}-serv/src/index.ts.hbs +1 -2
- package/templates/apps/fullstack/packages/{{projectName}}-serv/src/server/admin-service.ts.hbs +69 -21
- package/templates/apps/fullstack/packages/{{projectName}}-serv/src/server/business-settings.ts.hbs +21 -5
- package/templates/apps/fullstack/packages/{{projectName}}-serv/src/server/procedures/admin-procedures.ts.hbs +63 -11
- package/templates/apps/fullstack/packages/{{projectName}}-serv/src/server/procedures/app-procedures.ts.hbs +6 -1
- package/templates/apps/fullstack/packages/{{projectName}}-serv/src/server/procedures/index.ts.hbs +3 -1
- package/templates/apps/fullstack/packages/{{projectName}}-serv/src/server/runtime.ts.hbs +147 -33
- package/templates/apps/fullstack/packages/{{projectName}}-serv/src/server/security-roles.ts.hbs +43 -12
- package/templates/apps/fullstack/packages/{{projectName}}-serv/tests/app-server.test.ts.hbs +146 -30
- package/templates/apps/fullstack/packages/{{projectName}}-serv/tests/runtime.test.ts.hbs +33 -10
- package/templates/apps/fullstack/packages/{{projectName}}-serv/tests/security.test.ts.hbs +142 -26
- package/templates/apps/fullstack/packages/{{projectName}}-serv/tsup.config.ts.hbs +6 -2
- package/templates/apps/fullstack/packages/{{projectName}}-serv/vitest.config.ts.hbs +3 -1
- package/templates/apps/fullstack/packages/{{projectName}}-shared/README.md.hbs +48 -66
- package/templates/apps/fullstack/packages/{{projectName}}-shared/messages/en-US.json.hbs +1 -0
- package/templates/apps/fullstack/packages/{{projectName}}-shared/messages/ja-JP.json.hbs +1 -0
- package/templates/apps/fullstack/packages/{{projectName}}-shared/messages/zh-CN.json.hbs +1 -0
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/api/api-client.ts.hbs +9 -2
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/api/feedback-client.ts.hbs +0 -3
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/api/sensitive-actions.svelte.ts.hbs +15 -3
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/components/AppShell.svelte.hbs +33 -7
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/components/FeedbackEntry.svelte.hbs +16 -2
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/pages/audit.svelte.hbs +104 -13
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/pages/feedback.svelte.hbs +37 -7
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/pages/roles.svelte.hbs +9 -3
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/pages/settings.svelte.hbs +25 -3
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/pages/users.svelte.hbs +133 -19
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/security/role-label.ts.hbs +14 -2
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/stores/guide-store.ts.hbs +66 -34
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/stores/management-store.svelte.ts.hbs +132 -30
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/stores/theme-store.svelte.ts.hbs +8 -2
- package/templates/apps/fullstack/packages/{{projectName}}-shared/tests/api-client.test.ts.hbs +23 -5
- package/templates/apps/fullstack/packages/{{projectName}}-shared/tests/management-store.test.ts.hbs +143 -21
- package/templates/apps/fullstack/packages/{{projectName}}-shared/vitest.config.ts.hbs +7 -2
- package/templates/apps/fullstack/playwright.config.ts.hbs +25 -3
- package/templates/apps/fullstack/pnpm-workspace.yaml.hbs +30 -14
- package/templates/apps/h5/src/routes/+layout.svelte.hbs +74 -30
- package/templates/apps/h5/src/routes/+page.svelte.hbs +2 -2
- package/templates/apps/h5/src/routes/discover/+page.svelte.hbs +2 -2
- package/templates/apps/h5/src/routes/profile/+page.svelte.hbs +2 -2
- package/templates/apps/mobile-app/capacitor.config.ts.hbs +5 -2
- package/templates/apps/mobile-app/messages/en-US.json +2 -2
- package/templates/apps/mobile-app/messages/ja-JP.json +2 -2
- package/templates/apps/mobile-app/messages/zh-CN.json +2 -2
- package/templates/apps/mobile-app/src/App.svelte.hbs +17 -5
- package/templates/apps/mobile-app/src/lib/api.ts.hbs +20 -6
- package/templates/apps/mobile-app/src/lib/app-config.ts.hbs +8 -1
- package/templates/apps/mobile-app/src/lib/pages/home.svelte.hbs +6 -2
- package/templates/apps/mobile-app/src/lib/pages/profile.svelte.hbs +13 -1
- package/templates/apps/mobile-app/src/lib/pages/tasks.svelte.hbs +5 -1
- package/templates/apps/website/scripts/static-website.mjs.hbs +19 -6
- package/templates/apps/website/src/routes/+layout.svelte.hbs +56 -29
- package/templates/apps/website/src/routes/+page.svelte.hbs +4 -4
- package/templates/apps/website/src/routes/about/+page.svelte.hbs +2 -2
- package/templates/apps/website/src/routes/contact/+page.svelte.hbs +2 -2
- package/templates/apps/website/src/routes/services/+page.svelte.hbs +20 -5
- package/templates/base/.dockerignore.hbs +10 -0
- package/templates/base/.gitignore.hbs +7 -2
- package/templates/base/e2e/app.spec.ts.hbs +130 -36
- package/templates/base/eslint-rules.js +44 -25
- package/templates/base/eslint.config.js.hbs +3 -1
- package/templates/base/images/web.Dockerfile.hbs +25 -14
- package/templates/base/package.json.hbs +13 -7
- package/templates/base/patches/daisyui-5.7.50.patch +8 -0
- package/templates/base/patches/deepmerge-4.3.1.patch +51 -0
- package/templates/base/playwright.config.ts +3 -1
- package/templates/base/pnpm-workspace.yaml.hbs +33 -16
- package/templates/base/src/app.d.ts.hbs +1 -1
- package/templates/base/src/app.html.hbs +1 -0
- package/templates/base/src/hooks.server.ts.hbs +44 -33
- package/templates/base/src/lib/build-metadata.ts.hbs +0 -1
- package/templates/base/src/lib/server/init.ts.hbs +146 -35
- package/templates/base/src/lib/server/kit-config.ts.hbs +7 -4
- package/templates/base/src/routes/+layout.server.ts.hbs +2 -2
- package/templates/base/svelte.config.js.hbs +10 -100
- package/templates/base/tests/scaffold.test.ts.hbs +12 -3
- package/templates/base/tsconfig.json.hbs +7 -4
- package/templates/base/vite.config.ts.hbs +108 -14
- package/templates/base/vitest.config.ts.hbs +6 -2
- package/templates/features/ai/routes/api/chat/+server.ts +3 -1
- package/templates/features/iam/routes-admin/(auth)/auth/forgot-password/+page.svelte.hbs +3 -3
- package/templates/features/iam/routes-admin/(auth)/auth/login/+page.svelte.hbs +3 -3
- package/templates/features/iam/routes-admin/(auth)/auth/register/+page.svelte.hbs +3 -3
- package/templates/features/iam/routes-admin/(auth)/auth/reset-password/+page.svelte.hbs +3 -3
- package/templates/features/iam/routes-h5/auth/forgot-password/+page.svelte.hbs +3 -3
- package/templates/features/iam/routes-h5/auth/login/+page.svelte.hbs +3 -3
- package/templates/features/iam/routes-h5/auth/register/+page.svelte.hbs +3 -3
- package/templates/features/iam/routes-h5/auth/reset-password/+page.svelte.hbs +3 -3
- package/templates/features/iam/routes-website/auth/forgot-password/+page.svelte.hbs +3 -3
- package/templates/features/iam/routes-website/auth/login/+page.svelte.hbs +3 -3
- package/templates/features/iam/routes-website/auth/register/+page.svelte.hbs +3 -3
- package/templates/features/iam/routes-website/auth/reset-password/+page.svelte.hbs +3 -3
- package/templates/features/payment/routes/api/v1/payment/create/+server.ts +14 -3
- package/templates/shared/browser-check/startup.js +115 -0
- package/templates/shared/browser-check/update.css +37 -0
- package/templates/shared/browser-check/update.html +19 -0
- package/templates/shared/browser-startup.spec.ts +23 -0
- package/templates/shared/build-metadata.ts +18 -4
- package/templates/shared/e2e-env.ts +22 -6
- package/templates/shared/native-name.d.mts +5 -0
- package/templates/shared/native-name.mjs +94 -0
- package/templates/shared/public-base-path.mjs +17 -4
- package/templates/shared/run-e2e.mjs +46 -12
- package/templates/shared/run-node.mjs +56 -0
- package/templates/shared/run-tauri.mjs +74 -0
- package/templates/shared/vite-runtime-config.ts +9 -3
- package/templates/skills/AGENTS.md +10 -73
- package/templates/skills/bridges/admin/AGENTS.md +9 -65
- package/templates/skills/bridges/api/AGENTS.md +8 -59
- package/templates/skills/bridges/fullstack/AGENTS.md.hbs +9 -54
- package/templates/skills/bridges/h5/AGENTS.md +8 -63
- package/templates/skills/bridges/mobile-app/AGENTS.md +8 -62
- package/templates/skills/bridges/website/AGENTS.md +8 -63
- package/templates/skills/hai-ai/SKILL.md +6 -2
- package/templates/skills/hai-ai/acp.md +153 -0
- package/templates/skills/hai-ai/guide.md +27 -12
- package/templates/skills/hai-ai/reference.md +24 -15
- package/templates/skills/hai-ai/resources.md +69 -0
- package/templates/skills/hai-api-client/SKILL.md +1 -1
- package/templates/skills/hai-api-client/reference.md +3 -1
- package/templates/skills/hai-app-create/collaboration.md +7 -0
- package/templates/skills/hai-app-create/development.md +19 -10
- package/templates/skills/hai-app-create/project.md +33 -0
- package/templates/skills/hai-app-create/reference.md +10 -10
- package/templates/skills/hai-app-tests/reference.md +1 -1
- package/templates/skills/hai-app-tests/validation.md +1 -0
- package/templates/skills/hai-build/SKILL.md +19 -9
- package/templates/skills/hai-build/paths.md +4 -2
- package/templates/skills/hai-build/reference.md +26 -8
- package/templates/skills/hai-cache/reference.md +6 -2
- package/templates/skills/hai-capacitor/SKILL.md +1 -0
- package/templates/skills/hai-capacitor/reference.md +24 -0
- package/templates/skills/hai-ci/SKILL.md +3 -0
- package/templates/skills/hai-core/SKILL.md +9 -4
- package/templates/skills/hai-core/reference.md +40 -10
- package/templates/skills/hai-core/request-access.md +2 -2
- package/templates/skills/hai-crypto/SKILL.md +2 -2
- package/templates/skills/hai-crypto/reference.md +7 -3
- package/templates/skills/hai-deploy/SKILL.md +41 -5
- package/templates/skills/hai-deploy/middleware.md +26 -14
- package/templates/skills/hai-framework-sync/SKILL.md +13 -9
- package/templates/skills/hai-framework-sync/sync.md +2 -0
- package/templates/skills/hai-iam/reference.md +2 -2
- package/templates/skills/hai-kit/SKILL.md +1 -1
- package/templates/skills/hai-kit/reference.md +19 -5
- package/templates/skills/hai-payment/reference.md +41 -17
- package/templates/skills/hai-reach/SKILL.md +3 -1
- package/templates/skills/hai-reach/reference.md +29 -9
- package/templates/skills/hai-reldb/SKILL.md +1 -1
- package/templates/skills/hai-reldb/reference.md +9 -2
- package/templates/skills/hai-scheduler/reference.md +1 -1
- package/templates/skills/hai-serv/SKILL.md +2 -1
- package/templates/skills/hai-serv/reference.md +26 -15
- package/templates/skills/hai-storage/reference.md +23 -6
- package/templates/skills/hai-ui/SKILL.md +11 -6
- package/templates/skills/hai-ui/charts.md +51 -0
- package/templates/skills/hai-ui/guide.md +1 -1
- package/templates/skills/hai-ui/reference.md +58 -38
- package/templates/skills/hai-vecdb/reference.md +8 -3
- package/dist/chunk-AKV2CQZV.js.map +0 -1
- package/dist/chunk-EF7WOFWZ.js.map +0 -1
- package/dist/chunk-MUHRBJSW.js +0 -29272
- package/dist/chunk-MUHRBJSW.js.map +0 -1
- package/dist/cli-config-templates-HHFHNXBN.js +0 -5
- package/dist/src-TEBHR5I5.js +0 -5
- package/dist/src-TEBHR5I5.js.map +0 -1
- package/templates/apps/fullstack/playwright.session-close.config.ts.hbs +0 -18
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { parseDocument, isScalar, stringify, isMap, isSeq, Scalar } from 'yaml';
|
|
2
|
+
import { parseDocument, LineCounter, isScalar, stringify, isMap, isSeq, Scalar } from 'yaml';
|
|
3
3
|
|
|
4
4
|
// src/commands/cli-config-catalog.json
|
|
5
5
|
var cli_config_catalog_default = [
|
|
@@ -195,6 +195,358 @@ var cli_config_catalog_default = [
|
|
|
195
195
|
value: "x-api-key",
|
|
196
196
|
constraint: "\u5B57\u7B26\u4E32"
|
|
197
197
|
},
|
|
198
|
+
{
|
|
199
|
+
name: "HAI_AI_ACP",
|
|
200
|
+
module: "ai",
|
|
201
|
+
path: "ai.acp",
|
|
202
|
+
description: "ACP \u4F1A\u8BDD\u4E0E\u6267\u884C\u9650\u5236\uFF08\u4EC5 Node \u670D\u52A1\u7AEF\uFF09\u3002",
|
|
203
|
+
value: "",
|
|
204
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
name: "HAI_AI_ACP_AGENTS",
|
|
208
|
+
module: "ai",
|
|
209
|
+
path: "ai.acp.agents",
|
|
210
|
+
description: "\u914D\u7F6E\u6587\u4EF6\u5B9A\u4E49\u7684\u53EA\u8BFB\u667A\u80FD\u4F53\uFF0C\u4E0E\u6570\u636E\u5E93\u8BB0\u5F55\u6309 ID \u5408\u5E76\u3002",
|
|
211
|
+
value: "[]",
|
|
212
|
+
constraint: "JSON \u6570\u7EC4\uFF1B\u7D22\u5F15\u53EF\u6309 0\u30011\u30012 \u6269\u5C55"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
name: "HAI_AI_ACP_AGENTS_0",
|
|
216
|
+
module: "ai",
|
|
217
|
+
path: "ai.acp.agents.0",
|
|
218
|
+
description: "\u914D\u7F6E\u6587\u4EF6\u5B9A\u4E49\u7684\u53EA\u8BFB\u667A\u80FD\u4F53\uFF0C\u4E0E\u6570\u636E\u5E93\u8BB0\u5F55\u6309 ID \u5408\u5E76\u3002\uFF1B\u6B64\u53D8\u91CF\u6574\u4F53\u66FF\u6362\u5355\u4E2A\u6570\u7EC4\u9879",
|
|
219
|
+
value: "",
|
|
220
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
name: "HAI_AI_ACP_AGENTS_0_ADAPTER",
|
|
224
|
+
module: "ai",
|
|
225
|
+
path: "ai.acp.agents.0.adapter",
|
|
226
|
+
description: "\u539F\u751F\u914D\u7F6E\u9002\u914D\u5668\u540D\u79F0\uFF0C\u9ED8\u8BA4 generic\u3002",
|
|
227
|
+
value: "generic",
|
|
228
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
name: "HAI_AI_ACP_AGENTS_0_ARGS",
|
|
232
|
+
module: "ai",
|
|
233
|
+
path: "ai.acp.agents.0.args",
|
|
234
|
+
description: "\u539F\u751F\u542F\u52A8\u53C2\u6570\uFF0C\u7701\u7565\u65F6\u7531\u9002\u914D\u5668\u63D0\u4F9B\u9ED8\u8BA4\u503C\u3002",
|
|
235
|
+
value: "",
|
|
236
|
+
constraint: "JSON \u6570\u7EC4\uFF1B\u7D22\u5F15\u53EF\u6309 0\u30011\u30012 \u6269\u5C55"
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
name: "HAI_AI_ACP_AGENTS_0_ARGS_0",
|
|
240
|
+
module: "ai",
|
|
241
|
+
path: "ai.acp.agents.0.args.0",
|
|
242
|
+
description: "\u539F\u751F\u542F\u52A8\u53C2\u6570\uFF0C\u7701\u7565\u65F6\u7531\u9002\u914D\u5668\u63D0\u4F9B\u9ED8\u8BA4\u503C\u3002\uFF1B\u6B64\u53D8\u91CF\u6574\u4F53\u66FF\u6362\u5355\u4E2A\u6570\u7EC4\u9879",
|
|
243
|
+
value: "",
|
|
244
|
+
constraint: "\u5B57\u7B26\u4E32"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
name: "HAI_AI_ACP_AGENTS_0_COMMAND",
|
|
248
|
+
module: "ai",
|
|
249
|
+
path: "ai.acp.agents.0.command",
|
|
250
|
+
description: "\u53EF\u9009\u539F\u751F\u7A0B\u5E8F\u8986\u76D6\uFF0C\u4F7F\u7528\u53C2\u6570\u6570\u7EC4\u6267\u884C\uFF0C\u4E0D\u7ECF\u8FC7 shell\u3002",
|
|
251
|
+
value: "",
|
|
252
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
name: "HAI_AI_ACP_AGENTS_0_DEFAULTMODELID",
|
|
256
|
+
module: "ai",
|
|
257
|
+
path: "ai.acp.agents.0.defaultModelId",
|
|
258
|
+
description: "\u9ED8\u8BA4\u9009\u62E9\u7684\u6A21\u578B ID\uFF0C\u5FC5\u987B\u5B58\u5728\u4E8E modelIds\u3002",
|
|
259
|
+
value: "",
|
|
260
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
name: "HAI_AI_ACP_AGENTS_0_ENABLED",
|
|
264
|
+
module: "ai",
|
|
265
|
+
path: "ai.acp.agents.0.enabled",
|
|
266
|
+
description: "\u9ED8\u8BA4\u542F\u7528\uFF0C\u7981\u7528\u540E\u7981\u6B62\u65B0\u5EFA\u548C\u6062\u590D\u4F1A\u8BDD\u3002",
|
|
267
|
+
value: "true",
|
|
268
|
+
constraint: "true | false"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
name: "HAI_AI_ACP_AGENTS_0_ENGINE",
|
|
272
|
+
module: "ai",
|
|
273
|
+
path: "ai.acp.agents.0.engine",
|
|
274
|
+
description: "auto \u4F18\u5148\u53EF\u7528 Podman\uFF0C\u518D\u9009 Docker\uFF1B\u663E\u5F0F\u9009\u62E9\u4E0D\u81EA\u52A8\u964D\u7EA7\u3002",
|
|
275
|
+
value: "auto",
|
|
276
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Aauto | podman | docker"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
name: "HAI_AI_ACP_AGENTS_0_ENVIRONMENTREFS",
|
|
280
|
+
module: "ai",
|
|
281
|
+
path: "ai.acp.agents.0.environmentRefs",
|
|
282
|
+
description: "\u76EE\u6807\u73AF\u5883\u53D8\u91CF\u540D\u5230\u5BBF\u4E3B\u73AF\u5883\u53D8\u91CF\u540D\u7684\u6620\u5C04\uFF1B\u4FDD\u5B58\u5F15\u7528\u800C\u975E\u660E\u6587\u51ED\u636E\u3002",
|
|
283
|
+
value: "{}",
|
|
284
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
name: "HAI_AI_ACP_AGENTS_0_HEADERENV",
|
|
288
|
+
module: "ai",
|
|
289
|
+
path: "ai.acp.agents.0.headerEnv",
|
|
290
|
+
description: "\u8FDC\u7A0B\u8BA4\u8BC1 Header \u540D\u5230\u5BBF\u4E3B\u53D8\u91CF\u540D\u7684\u6620\u5C04\u3002",
|
|
291
|
+
value: "{}",
|
|
292
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
name: "HAI_AI_ACP_AGENTS_0_ID",
|
|
296
|
+
module: "ai",
|
|
297
|
+
path: "ai.acp.agents.0.id",
|
|
298
|
+
description: "\u6E05\u5355\u4E2D\u7684\u552F\u4E00 ID\uFF1B\u540C\u65F6\u7528\u4E8E\u53D7\u7BA1\u7406\u76EE\u5F55\u540D\u3002",
|
|
299
|
+
value: "",
|
|
300
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6B63\u5219 ^[a-z0-9][\\w-]{0,95}$"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
name: "HAI_AI_ACP_AGENTS_0_IMAGE",
|
|
304
|
+
module: "ai",
|
|
305
|
+
path: "ai.acp.agents.0.image",
|
|
306
|
+
description: "\u5DF2\u90E8\u7F72\u7684 Agent \u955C\u50CF\uFF0C\u5DE5\u4F5C\u533A\u548C\u667A\u80FD\u4F53\u9700\u4F7F\u7528\u540C\u4E00\u955C\u50CF\u3002",
|
|
307
|
+
value: "",
|
|
308
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
name: "HAI_AI_ACP_AGENTS_0_MODE",
|
|
312
|
+
module: "ai",
|
|
313
|
+
path: "ai.acp.agents.0.mode",
|
|
314
|
+
description: "\u63A5\u5165\u6A21\u5F0F\uFF1A\u81EA\u5B9A\u4E49\u8FDC\u7A0B\u670D\u52A1\u3001\u672C\u673A\u5185\u5D4C\u8FDB\u7A0B\u6216\u6258\u7BA1\u5BB9\u5668\u3002",
|
|
315
|
+
value: "custom-service",
|
|
316
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Acustom-service | embedded | builtin-service"
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
name: "HAI_AI_ACP_AGENTS_0_MODELIDS",
|
|
320
|
+
module: "ai",
|
|
321
|
+
path: "ai.acp.agents.0.modelIds",
|
|
322
|
+
description: "\u7ED1\u5B9A Hai LLM \u6A21\u578B ID\uFF1B\u9ED8\u8BA4\u7A7A\u6570\u7EC4\u3002",
|
|
323
|
+
value: "[]",
|
|
324
|
+
constraint: "JSON \u6570\u7EC4\uFF1B\u7D22\u5F15\u53EF\u6309 0\u30011\u30012 \u6269\u5C55"
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
name: "HAI_AI_ACP_AGENTS_0_MODELIDS_0",
|
|
328
|
+
module: "ai",
|
|
329
|
+
path: "ai.acp.agents.0.modelIds.0",
|
|
330
|
+
description: "\u7ED1\u5B9A Hai LLM \u6A21\u578B ID\uFF1B\u9ED8\u8BA4\u7A7A\u6570\u7EC4\u3002\uFF1B\u6B64\u53D8\u91CF\u6574\u4F53\u66FF\u6362\u5355\u4E2A\u6570\u7EC4\u9879",
|
|
331
|
+
value: "",
|
|
332
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
name: "HAI_AI_ACP_AGENTS_0_NAME",
|
|
336
|
+
module: "ai",
|
|
337
|
+
path: "ai.acp.agents.0.name",
|
|
338
|
+
description: "\u667A\u80FD\u4F53\u7684\u53EF\u8BFB\u540D\u79F0\u3002",
|
|
339
|
+
value: "",
|
|
340
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
name: "HAI_AI_ACP_AGENTS_0_SUPPORTEDTRANSPORTS",
|
|
344
|
+
module: "ai",
|
|
345
|
+
path: "ai.acp.agents.0.supportedTransports",
|
|
346
|
+
description: "\u81EA\u5B9A\u4E49\u670D\u52A1\u663E\u5F0F\u58F0\u660E\u7684\u539F\u751F HTTP/WS \u80FD\u529B\u3002",
|
|
347
|
+
value: "",
|
|
348
|
+
constraint: "JSON \u6570\u7EC4\uFF1B\u7D22\u5F15\u53EF\u6309 0\u30011\u30012 \u6269\u5C55\uFF1B\u6700\u5C11\u9879\u6570 1"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
name: "HAI_AI_ACP_AGENTS_0_SUPPORTEDTRANSPORTS_0",
|
|
352
|
+
module: "ai",
|
|
353
|
+
path: "ai.acp.agents.0.supportedTransports.0",
|
|
354
|
+
description: "\u81EA\u5B9A\u4E49\u670D\u52A1\u663E\u5F0F\u58F0\u660E\u7684\u539F\u751F HTTP/WS \u80FD\u529B\u3002\uFF1B\u6B64\u53D8\u91CF\u6574\u4F53\u66FF\u6362\u5355\u4E2A\u6570\u7EC4\u9879",
|
|
355
|
+
value: "http",
|
|
356
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Ahttp | ws"
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
name: "HAI_AI_ACP_AGENTS_0_TRANSPORT",
|
|
360
|
+
module: "ai",
|
|
361
|
+
path: "ai.acp.agents.0.transport",
|
|
362
|
+
description: "\u667A\u80FD\u4F53\u539F\u751F\u652F\u6301\u7684\u4F20\u8F93\uFF1B\u4E0D\u81EA\u52A8\u8F6C\u6362 stdio \u548C HTTP/WS\u3002",
|
|
363
|
+
value: "http",
|
|
364
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Ahttp | ws | stdio"
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
name: "HAI_AI_ACP_AGENTS_0_URL",
|
|
368
|
+
module: "ai",
|
|
369
|
+
path: "ai.acp.agents.0.url",
|
|
370
|
+
description: "\u8FDC\u7A0B\u5730\u5740\uFF0C\u4E0D\u5141\u8BB8\u547D\u4EE4\u9009\u9879\u548C\u6362\u884C\u3002",
|
|
371
|
+
value: "",
|
|
372
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u683C\u5F0F uri"
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
name: "HAI_AI_ACP_CANCELTIMEOUT",
|
|
376
|
+
module: "ai",
|
|
377
|
+
path: "ai.acp.cancelTimeout",
|
|
378
|
+
description: "\u53D6\u6D88\u540E\u7B49\u5F85\u7EC8\u6001\u7684\u4E0A\u9650\uFF0C\u6BEB\u79D2\u3002",
|
|
379
|
+
value: "5000",
|
|
380
|
+
constraint: "\u6574\u6570\uFF1B<= 9007199254740991\uFF1B> 0"
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
name: "HAI_AI_ACP_MAXCONTENTBYTES",
|
|
384
|
+
module: "ai",
|
|
385
|
+
path: "ai.acp.maxContentBytes",
|
|
386
|
+
description: "\u5355\u8F6E\u8F93\u5165\u548C\u7D2F\u8BA1\u8F93\u51FA\u7684\u5B57\u8282\u4E0A\u9650\u3002",
|
|
387
|
+
value: "8388608",
|
|
388
|
+
constraint: "\u6574\u6570\uFF1B<= 9007199254740991\uFF1B> 0"
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
name: "HAI_AI_ACP_MAXPENDINGEVENTS",
|
|
392
|
+
module: "ai",
|
|
393
|
+
path: "ai.acp.maxPendingEvents",
|
|
394
|
+
description: "\u672A\u6D88\u8D39\u4E8B\u4EF6\u6570\u91CF\u4E0A\u9650\u3002",
|
|
395
|
+
value: "1024",
|
|
396
|
+
constraint: "\u6574\u6570\uFF1B<= 9007199254740991\uFF1B> 0"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
name: "HAI_AI_ACP_PROMPTTIMEOUT",
|
|
400
|
+
module: "ai",
|
|
401
|
+
path: "ai.acp.promptTimeout",
|
|
402
|
+
description: "\u5355\u8F6E\u4EFB\u52A1\u8D85\u65F6\uFF0C\u6BEB\u79D2\u3002",
|
|
403
|
+
value: "600000",
|
|
404
|
+
constraint: "\u6574\u6570\uFF1B<= 9007199254740991\uFF1B> 0"
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
name: "HAI_AI_ACP_REQUESTTIMEOUT",
|
|
408
|
+
module: "ai",
|
|
409
|
+
path: "ai.acp.requestTimeout",
|
|
410
|
+
description: "\u63E1\u624B\u548C\u63A7\u5236\u8BF7\u6C42\u8D85\u65F6\uFF0C\u6BEB\u79D2\u3002",
|
|
411
|
+
value: "30000",
|
|
412
|
+
constraint: "\u6574\u6570\uFF1B<= 9007199254740991\uFF1B> 0"
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
name: "HAI_AI_ACP_WORKSPACES",
|
|
416
|
+
module: "ai",
|
|
417
|
+
path: "ai.acp.workspaces",
|
|
418
|
+
description: "\u914D\u7F6E\u6587\u4EF6\u5B9A\u4E49\u7684\u53EA\u8BFB\u5DE5\u4F5C\u533A\uFF0C\u4E0E\u6570\u636E\u5E93\u8BB0\u5F55\u6309 ID \u5408\u5E76\u3002",
|
|
419
|
+
value: "[]",
|
|
420
|
+
constraint: "JSON \u6570\u7EC4\uFF1B\u7D22\u5F15\u53EF\u6309 0\u30011\u30012 \u6269\u5C55"
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
name: "HAI_AI_ACP_WORKSPACES_0",
|
|
424
|
+
module: "ai",
|
|
425
|
+
path: "ai.acp.workspaces.0",
|
|
426
|
+
description: "\u914D\u7F6E\u6587\u4EF6\u5B9A\u4E49\u7684\u53EA\u8BFB\u5DE5\u4F5C\u533A\uFF0C\u4E0E\u6570\u636E\u5E93\u8BB0\u5F55\u6309 ID \u5408\u5E76\u3002\uFF1B\u6B64\u53D8\u91CF\u6574\u4F53\u66FF\u6362\u5355\u4E2A\u6570\u7EC4\u9879",
|
|
427
|
+
value: "",
|
|
428
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
name: "HAI_AI_ACP_WORKSPACES_0_ENVIRONMENTREFS",
|
|
432
|
+
module: "ai",
|
|
433
|
+
path: "ai.acp.workspaces.0.environmentRefs",
|
|
434
|
+
description: "\u5DE5\u4F5C\u533A\u5386\u53F2\u5171\u7528\u53D8\u91CF\u6620\u5C04\uFF1BAgent \u4E13\u7528\u51ED\u636E\u5E94\u914D\u7F6E\u5728 Agent \u5B9A\u4E49\u4E2D\u3002",
|
|
435
|
+
value: "{}",
|
|
436
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
name: "HAI_AI_ACP_WORKSPACES_0_GITENVIRONMENTREFS",
|
|
440
|
+
module: "ai",
|
|
441
|
+
path: "ai.acp.workspaces.0.gitEnvironmentRefs",
|
|
442
|
+
description: "\u4EC5\u4F9B\u53D7\u7BA1 Git \u8FDC\u7A0B\u64CD\u4F5C\u4F7F\u7528\u7684\u73AF\u5883\u53D8\u91CF\u5F15\u7528\uFF0C\u503C\u4E0D\u4F20\u7ED9 Agent \u6216\u672C\u5730\u63D0\u4EA4\u3002",
|
|
443
|
+
value: "{}",
|
|
444
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
name: "HAI_AI_ACP_WORKSPACES_0_ID",
|
|
448
|
+
module: "ai",
|
|
449
|
+
path: "ai.acp.workspaces.0.id",
|
|
450
|
+
description: "\u6E05\u5355\u4E2D\u7684\u552F\u4E00 ID\uFF1B\u540C\u65F6\u7528\u4E8E\u53D7\u7BA1\u7406\u76EE\u5F55\u540D\u3002",
|
|
451
|
+
value: "",
|
|
452
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6B63\u5219 ^[a-z0-9][\\w-]{0,95}$"
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
name: "HAI_AI_ACP_WORKSPACES_0_REPOSITORIES",
|
|
456
|
+
module: "ai",
|
|
457
|
+
path: "ai.acp.workspaces.0.repositories",
|
|
458
|
+
description: "\u591A\u4E2A Git \u5DE5\u7A0B\uFF1B\u9ED8\u8BA4\u7A7A\u6570\u7EC4\uFF0C\u4E0D\u4F7F\u7528 Git \u65F6\u4EC5\u521B\u5EFA\u6587\u4EF6\u76EE\u5F55\u3002",
|
|
459
|
+
value: "[]",
|
|
460
|
+
constraint: "JSON \u6570\u7EC4\uFF1B\u7D22\u5F15\u53EF\u6309 0\u30011\u30012 \u6269\u5C55"
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
name: "HAI_AI_ACP_WORKSPACES_0_REPOSITORIES_0",
|
|
464
|
+
module: "ai",
|
|
465
|
+
path: "ai.acp.workspaces.0.repositories.0",
|
|
466
|
+
description: "\u591A\u4E2A Git \u5DE5\u7A0B\uFF1B\u9ED8\u8BA4\u7A7A\u6570\u7EC4\uFF0C\u4E0D\u4F7F\u7528 Git \u65F6\u4EC5\u521B\u5EFA\u6587\u4EF6\u76EE\u5F55\u3002\uFF1B\u6B64\u53D8\u91CF\u6574\u4F53\u66FF\u6362\u5355\u4E2A\u6570\u7EC4\u9879",
|
|
467
|
+
value: "",
|
|
468
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
name: "HAI_AI_ACP_WORKSPACES_0_REPOSITORIES_0_ID",
|
|
472
|
+
module: "ai",
|
|
473
|
+
path: "ai.acp.workspaces.0.repositories.0.id",
|
|
474
|
+
description: "\u6E05\u5355\u4E2D\u7684\u552F\u4E00 ID\uFF1B\u540C\u65F6\u7528\u4E8E\u53D7\u7BA1\u7406\u76EE\u5F55\u540D\u3002",
|
|
475
|
+
value: "",
|
|
476
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6B63\u5219 ^[a-z0-9][\\w-]{0,95}$"
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
name: "HAI_AI_ACP_WORKSPACES_0_REPOSITORIES_0_MAINBRANCH",
|
|
480
|
+
module: "ai",
|
|
481
|
+
path: "ai.acp.workspaces.0.repositories.0.mainBranch",
|
|
482
|
+
description: "\u8BE5\u5DE5\u7A0B\u660E\u786E\u6307\u5B9A\u7684\u4E3B\u5206\u652F\uFF0C\u66F4\u65B0\u548C merge-main \u53D1\u5E03\u5747\u4F7F\u7528\u6B64\u503C\u3002",
|
|
483
|
+
value: "",
|
|
484
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1\uFF1B\u6700\u5927\u5B57\u7B26\u6570 240"
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
name: "HAI_AI_ACP_WORKSPACES_0_REPOSITORIES_0_REMOTE",
|
|
488
|
+
module: "ai",
|
|
489
|
+
path: "ai.acp.workspaces.0.repositories.0.remote",
|
|
490
|
+
description: "Git remote \u540D\uFF0C\u9ED8\u8BA4 origin\u3002",
|
|
491
|
+
value: "origin",
|
|
492
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6B63\u5219 ^[a-z0-9][\\w-]{0,95}$"
|
|
493
|
+
},
|
|
494
|
+
{
|
|
495
|
+
name: "HAI_AI_ACP_WORKSPACES_0_REPOSITORIES_0_URL",
|
|
496
|
+
module: "ai",
|
|
497
|
+
path: "ai.acp.workspaces.0.repositories.0.url",
|
|
498
|
+
description: "\u8FDC\u7A0B\u5730\u5740\uFF0C\u4E0D\u5141\u8BB8\u547D\u4EE4\u9009\u9879\u548C\u6362\u884C\u3002",
|
|
499
|
+
value: "",
|
|
500
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
name: "HAI_AI_ACP_WORKSPACES_0_STORAGE",
|
|
504
|
+
module: "ai",
|
|
505
|
+
path: "ai.acp.workspaces.0.storage",
|
|
506
|
+
description: "\u6301\u4E45\u5B58\u50A8\u4F4D\u7F6E\uFF1Bdirectory \u4F9B\u672C\u673A\uFF0Cvolume \u4F9B\u6258\u7BA1\u5BB9\u5668\u3002",
|
|
507
|
+
value: "",
|
|
508
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
name: "HAI_AI_ACP_WORKSPACES_0_STORAGE_ENGINE",
|
|
512
|
+
module: "ai",
|
|
513
|
+
path: "ai.acp.workspaces.0.storage.engine",
|
|
514
|
+
description: "auto \u4F18\u5148\u53EF\u7528 Podman\uFF0C\u518D\u9009 Docker\uFF1B\u663E\u5F0F\u9009\u62E9\u4E0D\u81EA\u52A8\u964D\u7EA7\u3002",
|
|
515
|
+
value: "auto",
|
|
516
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Aauto | podman | docker"
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
name: "HAI_AI_ACP_WORKSPACES_0_STORAGE_IMAGE",
|
|
520
|
+
module: "ai",
|
|
521
|
+
path: "ai.acp.workspaces.0.storage.image",
|
|
522
|
+
description: "\u5DF2\u90E8\u7F72\u7684 Agent \u955C\u50CF\uFF0C\u5DE5\u4F5C\u533A\u548C\u667A\u80FD\u4F53\u9700\u4F7F\u7528\u540C\u4E00\u955C\u50CF\u3002",
|
|
523
|
+
value: "",
|
|
524
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
name: "HAI_AI_ACP_WORKSPACES_0_STORAGE_NAME",
|
|
528
|
+
module: "ai",
|
|
529
|
+
path: "ai.acp.workspaces.0.storage.name",
|
|
530
|
+
description: "\u53EF\u8BFB\u540D\u79F0\uFF1Bvolume \u65F6\u8868\u793A\u6301\u4E45\u5377\u540D\u3002",
|
|
531
|
+
value: "",
|
|
532
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6B63\u5219 ^[a-z0-9][\\w-]{0,95}$"
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
name: "HAI_AI_ACP_WORKSPACES_0_STORAGE_PATH",
|
|
536
|
+
module: "ai",
|
|
537
|
+
path: "ai.acp.workspaces.0.storage.path",
|
|
538
|
+
description: "\u672C\u673A\u7EDD\u5BF9\u6216\u76F8\u5BF9\u76EE\u5F55\uFF0C\u8FD0\u884C\u65F6\u5F52\u4E00\u5316\u4E3A\u771F\u5B9E\u7EDD\u5BF9\u8DEF\u5F84\u3002",
|
|
539
|
+
value: "",
|
|
540
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
name: "HAI_AI_ACP_WORKSPACES_0_STORAGE_TYPE",
|
|
544
|
+
module: "ai",
|
|
545
|
+
path: "ai.acp.workspaces.0.storage.type",
|
|
546
|
+
description: "\u5B58\u50A8\u7C7B\u578B\u5224\u522B\u5B57\u6BB5\u3002",
|
|
547
|
+
value: "directory",
|
|
548
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Adirectory | volume"
|
|
549
|
+
},
|
|
198
550
|
{
|
|
199
551
|
name: "HAI_AI_AUDIO",
|
|
200
552
|
module: "ai",
|
|
@@ -859,19 +1211,11 @@ var cli_config_catalog_default = [
|
|
|
859
1211
|
value: "",
|
|
860
1212
|
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
861
1213
|
},
|
|
862
|
-
{
|
|
863
|
-
name: "HAI_AI_LLM_API",
|
|
864
|
-
module: "ai",
|
|
865
|
-
path: "ai.llm.api",
|
|
866
|
-
description: "\u5168\u5C40 API \u534F\u8BAE\uFF08\u5404\u6A21\u578B fallback\uFF0C\u9ED8\u8BA4 `'chat'`\uFF1B\u53EF\u9009 `chat` / `responses` / `anthropic`\uFF09",
|
|
867
|
-
value: "chat",
|
|
868
|
-
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Achat | responses | anthropic"
|
|
869
|
-
},
|
|
870
1214
|
{
|
|
871
1215
|
name: "HAI_AI_LLM_APIKEY",
|
|
872
1216
|
module: "ai",
|
|
873
1217
|
path: "ai.llm.apiKey",
|
|
874
|
-
description: "\
|
|
1218
|
+
description: "\u9ED8\u8BA4\u670D\u52A1\u5BC6\u94A5\uFF1B\u6A21\u578B\u9879\u53EF\u5355\u72EC\u8986\u76D6\u3002\u672A\u586B\u5199\u65F6\u8BFB\u53D6 HAI_AI_LLM_APIKEY \u6216\u5BF9\u5E94\u4F9B\u5E94\u5546\u5BC6\u94A5\u53D8\u91CF\uFF0C\u771F\u5B9E\u503C\u53EA\u653E\u670D\u52A1\u7AEF\u3002",
|
|
875
1219
|
value: "",
|
|
876
1220
|
constraint: "string,null"
|
|
877
1221
|
},
|
|
@@ -879,7 +1223,7 @@ var cli_config_catalog_default = [
|
|
|
879
1223
|
name: "HAI_AI_LLM_BASEURL",
|
|
880
1224
|
module: "ai",
|
|
881
1225
|
path: "ai.llm.baseUrl",
|
|
882
|
-
description: "\
|
|
1226
|
+
description: "\u9ED8\u8BA4\u6A21\u578B\u670D\u52A1\u5730\u5740\uFF1B\u4F7F\u7528\u4EE3\u7406\u65F6\u586B\u5199\uFF0C\u6A21\u578B\u9879\u53EF\u8986\u76D6\u3002\u672A\u586B\u5199\u65F6\u6309\u534F\u8BAE\u8BFB\u53D6\u73AF\u5883\u5730\u5740\u6216\u4F7F\u7528\u4F9B\u5E94\u5546\u9ED8\u8BA4\u5730\u5740\u3002",
|
|
883
1227
|
value: "",
|
|
884
1228
|
constraint: "\u5B57\u7B26\u4E32\uFF1B\u683C\u5F0F uri"
|
|
885
1229
|
},
|
|
@@ -887,7 +1231,7 @@ var cli_config_catalog_default = [
|
|
|
887
1231
|
name: "HAI_AI_LLM_MAXTOKENS",
|
|
888
1232
|
module: "ai",
|
|
889
1233
|
path: "ai.llm.maxTokens",
|
|
890
|
-
description: "\
|
|
1234
|
+
description: "\u5355\u6B21\u56DE\u7B54\u6700\u591A\u751F\u6210\u591A\u5C11 Token\uFF0C\u9ED8\u8BA4 4096\uFF1B\u6A21\u578B\u9879\u53EF\u8986\u76D6\uFF0C\u9700\u7B26\u5408\u4F9B\u5E94\u5546\u9650\u5236\u3002",
|
|
891
1235
|
value: "4096",
|
|
892
1236
|
constraint: "\u6570\u5B57\uFF1B> 0"
|
|
893
1237
|
},
|
|
@@ -915,14 +1259,6 @@ var cli_config_catalog_default = [
|
|
|
915
1259
|
value: "",
|
|
916
1260
|
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
917
1261
|
},
|
|
918
|
-
{
|
|
919
|
-
name: "HAI_AI_LLM_MODELS_0_API",
|
|
920
|
-
module: "ai",
|
|
921
|
-
path: "ai.llm.models.0.api",
|
|
922
|
-
description: "API \u534F\u8BAE\uFF08\u53EF\u9009\uFF0C\u672A\u6307\u5B9A\u65F6\u56DE\u9000\u5168\u5C40 `api`\uFF0C\u518D\u56DE\u9000 `chat`\uFF1B\u51B3\u5B9A\u8D70 Chat Completions / Responses / Anthropic\uFF09",
|
|
923
|
-
value: "chat",
|
|
924
|
-
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Achat | responses | anthropic"
|
|
925
|
-
},
|
|
926
1262
|
{
|
|
927
1263
|
name: "HAI_AI_LLM_MODELS_0_APIKEY",
|
|
928
1264
|
module: "ai",
|
|
@@ -936,9 +1272,105 @@ var cli_config_catalog_default = [
|
|
|
936
1272
|
module: "ai",
|
|
937
1273
|
path: "ai.llm.models.0.baseUrl",
|
|
938
1274
|
description: "Base URL \u8986\u76D6\uFF08\u53EF\u9009\uFF09",
|
|
939
|
-
value: "",
|
|
1275
|
+
value: "https://your-responses-service.example/v1",
|
|
940
1276
|
constraint: "\u5B57\u7B26\u4E32\uFF1B\u683C\u5F0F uri"
|
|
941
1277
|
},
|
|
1278
|
+
{
|
|
1279
|
+
name: "HAI_AI_LLM_MODELS_0_CAPABILITIES",
|
|
1280
|
+
module: "ai",
|
|
1281
|
+
path: "ai.llm.models.0.capabilities",
|
|
1282
|
+
description: "\u5DF2\u786E\u8BA4\u7684\u6A21\u578B\u80FD\u529B\uFF0C\u7F3A\u7701\u8868\u793A\u672A\u77E5",
|
|
1283
|
+
value: "",
|
|
1284
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
1285
|
+
},
|
|
1286
|
+
{
|
|
1287
|
+
name: "HAI_AI_LLM_MODELS_0_CAPABILITIES_CONTEXTWINDOW",
|
|
1288
|
+
module: "ai",
|
|
1289
|
+
path: "ai.llm.models.0.capabilities.contextWindow",
|
|
1290
|
+
description: "\u53EF\u7528\u4E0A\u4E0B\u6587\u603B\u5BB9\u91CF\uFF08Token\uFF09\uFF1B\u672A\u77E5\u65F6\u7701\u7565\uFF0C\u4E0D\u7531\u8F93\u51FA\u9884\u7B97\u63A8\u65AD\u3002",
|
|
1291
|
+
value: "",
|
|
1292
|
+
constraint: "\u6574\u6570\uFF1B<= 9007199254740991\uFF1B> 0"
|
|
1293
|
+
},
|
|
1294
|
+
{
|
|
1295
|
+
name: "HAI_AI_LLM_MODELS_0_CAPABILITIES_INPUTMODALITIES",
|
|
1296
|
+
module: "ai",
|
|
1297
|
+
path: "ai.llm.models.0.capabilities.inputModalities",
|
|
1298
|
+
description: "\u5DF2\u786E\u8BA4\u652F\u6301\u7684\u8F93\u5165\u6A21\u6001\uFF1B\u672A\u77E5\u65F6\u7701\u7565\u3002",
|
|
1299
|
+
value: "",
|
|
1300
|
+
constraint: "JSON \u6570\u7EC4\uFF1B\u7D22\u5F15\u53EF\u6309 0\u30011\u30012 \u6269\u5C55\uFF1B\u6700\u5C11\u9879\u6570 1"
|
|
1301
|
+
},
|
|
1302
|
+
{
|
|
1303
|
+
name: "HAI_AI_LLM_MODELS_0_CAPABILITIES_INPUTMODALITIES_0",
|
|
1304
|
+
module: "ai",
|
|
1305
|
+
path: "ai.llm.models.0.capabilities.inputModalities.0",
|
|
1306
|
+
description: "\u5DF2\u786E\u8BA4\u652F\u6301\u7684\u8F93\u5165\u6A21\u6001\uFF1B\u672A\u77E5\u65F6\u7701\u7565\u3002\uFF1B\u6B64\u53D8\u91CF\u6574\u4F53\u66FF\u6362\u5355\u4E2A\u6570\u7EC4\u9879",
|
|
1307
|
+
value: "text",
|
|
1308
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Atext | image | audio | video"
|
|
1309
|
+
},
|
|
1310
|
+
{
|
|
1311
|
+
name: "HAI_AI_LLM_MODELS_0_CAPABILITIES_MAXOUTPUTTOKENS",
|
|
1312
|
+
module: "ai",
|
|
1313
|
+
path: "ai.llm.models.0.capabilities.maxOutputTokens",
|
|
1314
|
+
description: "\u6A21\u578B\u5355\u6B21\u8F93\u51FA\u80FD\u529B\u4E0A\u9650\uFF08Token\uFF09\uFF1B\u4E0E\u9ED8\u8BA4 maxTokens \u9884\u7B97\u4E0D\u540C\u3002",
|
|
1315
|
+
value: "",
|
|
1316
|
+
constraint: "\u6574\u6570\uFF1B<= 9007199254740991\uFF1B> 0"
|
|
1317
|
+
},
|
|
1318
|
+
{
|
|
1319
|
+
name: "HAI_AI_LLM_MODELS_0_CAPABILITIES_OUTPUTMODALITIES",
|
|
1320
|
+
module: "ai",
|
|
1321
|
+
path: "ai.llm.models.0.capabilities.outputModalities",
|
|
1322
|
+
description: "\u5DF2\u786E\u8BA4\u652F\u6301\u7684\u8F93\u51FA\u6A21\u6001\uFF1B\u4ECD\u9700\u8C03\u7528\u63A5\u53E3\u652F\u6301\u3002",
|
|
1323
|
+
value: "",
|
|
1324
|
+
constraint: "JSON \u6570\u7EC4\uFF1B\u7D22\u5F15\u53EF\u6309 0\u30011\u30012 \u6269\u5C55\uFF1B\u6700\u5C11\u9879\u6570 1"
|
|
1325
|
+
},
|
|
1326
|
+
{
|
|
1327
|
+
name: "HAI_AI_LLM_MODELS_0_CAPABILITIES_OUTPUTMODALITIES_0",
|
|
1328
|
+
module: "ai",
|
|
1329
|
+
path: "ai.llm.models.0.capabilities.outputModalities.0",
|
|
1330
|
+
description: "\u5DF2\u786E\u8BA4\u652F\u6301\u7684\u8F93\u51FA\u6A21\u6001\uFF1B\u4ECD\u9700\u8C03\u7528\u63A5\u53E3\u652F\u6301\u3002\uFF1B\u6B64\u53D8\u91CF\u6574\u4F53\u66FF\u6362\u5355\u4E2A\u6570\u7EC4\u9879",
|
|
1331
|
+
value: "text",
|
|
1332
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Atext | image | audio | video"
|
|
1333
|
+
},
|
|
1334
|
+
{
|
|
1335
|
+
name: "HAI_AI_LLM_MODELS_0_CAPABILITIES_REASONING",
|
|
1336
|
+
module: "ai",
|
|
1337
|
+
path: "ai.llm.models.0.capabilities.reasoning",
|
|
1338
|
+
description: "\u63A8\u7406\u80FD\u529B\u5143\u6570\u636E\uFF0C\u4E0D\u81EA\u52A8\u542F\u7528\u63A8\u7406\u8BF7\u6C42\u53C2\u6570\u3002",
|
|
1339
|
+
value: "",
|
|
1340
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
1341
|
+
},
|
|
1342
|
+
{
|
|
1343
|
+
name: "HAI_AI_LLM_MODELS_0_CAPABILITIES_REASONING_EFFORTS",
|
|
1344
|
+
module: "ai",
|
|
1345
|
+
path: "ai.llm.models.0.capabilities.reasoning.efforts",
|
|
1346
|
+
description: "\u5DF2\u786E\u8BA4\u53EF\u9009\u62E9\u7684\u63A8\u7406\u7EA7\u522B\u3002",
|
|
1347
|
+
value: "",
|
|
1348
|
+
constraint: "JSON \u6570\u7EC4\uFF1B\u7D22\u5F15\u53EF\u6309 0\u30011\u30012 \u6269\u5C55\uFF1B\u6700\u5C11\u9879\u6570 1"
|
|
1349
|
+
},
|
|
1350
|
+
{
|
|
1351
|
+
name: "HAI_AI_LLM_MODELS_0_CAPABILITIES_REASONING_EFFORTS_0",
|
|
1352
|
+
module: "ai",
|
|
1353
|
+
path: "ai.llm.models.0.capabilities.reasoning.efforts.0",
|
|
1354
|
+
description: "\u5DF2\u786E\u8BA4\u53EF\u9009\u62E9\u7684\u63A8\u7406\u7EA7\u522B\u3002\uFF1B\u6B64\u53D8\u91CF\u6574\u4F53\u66FF\u6362\u5355\u4E2A\u6570\u7EC4\u9879",
|
|
1355
|
+
value: "",
|
|
1356
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
1357
|
+
},
|
|
1358
|
+
{
|
|
1359
|
+
name: "HAI_AI_LLM_MODELS_0_CAPABILITIES_REASONING_SUPPORTED",
|
|
1360
|
+
module: "ai",
|
|
1361
|
+
path: "ai.llm.models.0.capabilities.reasoning.supported",
|
|
1362
|
+
description: "\u662F\u5426\u652F\u6301\u63A8\u7406\u80FD\u529B\u3002",
|
|
1363
|
+
value: "",
|
|
1364
|
+
constraint: "true | false"
|
|
1365
|
+
},
|
|
1366
|
+
{
|
|
1367
|
+
name: "HAI_AI_LLM_MODELS_0_CAPABILITIES_TOOLCALLING",
|
|
1368
|
+
module: "ai",
|
|
1369
|
+
path: "ai.llm.models.0.capabilities.toolCalling",
|
|
1370
|
+
description: "\u6A21\u578B\u662F\u5426\u652F\u6301\u51FD\u6570\u5DE5\u5177\u8C03\u7528\uFF1B\u672A\u77E5\u65F6\u7701\u7565\u3002",
|
|
1371
|
+
value: "",
|
|
1372
|
+
constraint: "true | false"
|
|
1373
|
+
},
|
|
942
1374
|
{
|
|
943
1375
|
name: "HAI_AI_LLM_MODELS_0_ID",
|
|
944
1376
|
module: "ai",
|
|
@@ -960,9 +1392,17 @@ var cli_config_catalog_default = [
|
|
|
960
1392
|
module: "ai",
|
|
961
1393
|
path: "ai.llm.models.0.model",
|
|
962
1394
|
description: "\u6A21\u578B\u540D\u79F0\uFF08\u4F20\u7ED9 API \u7684\u5B9E\u9645\u6A21\u578B\u540D\uFF09",
|
|
963
|
-
value: "",
|
|
1395
|
+
value: "your-coding-model",
|
|
964
1396
|
constraint: "\u5B57\u7B26\u4E32"
|
|
965
1397
|
},
|
|
1398
|
+
{
|
|
1399
|
+
name: "HAI_AI_LLM_MODELS_0_PROTOCOL",
|
|
1400
|
+
module: "ai",
|
|
1401
|
+
path: "ai.llm.models.0.protocol",
|
|
1402
|
+
description: "API \u534F\u8BAE\uFF08\u53EF\u9009\uFF0C\u672A\u6307\u5B9A\u65F6\u56DE\u9000\u5168\u5C40 `protocol`\uFF0C\u518D\u56DE\u9000 `chat`\uFF1B\u51B3\u5B9A\u8D70 Chat Completions / Responses / Anthropic\uFF09",
|
|
1403
|
+
value: "chat",
|
|
1404
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Achat | responses | anthropic"
|
|
1405
|
+
},
|
|
966
1406
|
{
|
|
967
1407
|
name: "HAI_AI_LLM_MODELS_0_TEMPERATURE",
|
|
968
1408
|
module: "ai",
|
|
@@ -979,6 +1419,14 @@ var cli_config_catalog_default = [
|
|
|
979
1419
|
value: "",
|
|
980
1420
|
constraint: "\u6570\u5B57\uFF1B> 0"
|
|
981
1421
|
},
|
|
1422
|
+
{
|
|
1423
|
+
name: "HAI_AI_LLM_PROTOCOL",
|
|
1424
|
+
module: "ai",
|
|
1425
|
+
path: "ai.llm.protocol",
|
|
1426
|
+
description: "\u9ED8\u8BA4\u8BF7\u6C42\u683C\u5F0F\uFF1Achat \u4E3A Chat Completions\uFF0Cresponses \u4E3A OpenAI Responses\uFF0Canthropic \u4E3A Anthropic Messages\uFF1B\u6A21\u578B\u9879\u53EF\u8986\u76D6\u3002",
|
|
1427
|
+
value: "chat",
|
|
1428
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Achat | responses | anthropic"
|
|
1429
|
+
},
|
|
982
1430
|
{
|
|
983
1431
|
name: "HAI_AI_LLM_SCENARIOS",
|
|
984
1432
|
module: "ai",
|
|
@@ -1079,7 +1527,7 @@ var cli_config_catalog_default = [
|
|
|
1079
1527
|
name: "HAI_AI_LLM_TEMPERATURE",
|
|
1080
1528
|
module: "ai",
|
|
1081
1529
|
path: "ai.llm.temperature",
|
|
1082
|
-
description: "\
|
|
1530
|
+
description: "\u56DE\u7B54\u7684\u968F\u673A\u7A0B\u5EA6\uFF0C0\u20132\uFF0C\u9ED8\u8BA4 0.7\uFF1B\u8F83\u4F4E\u901A\u5E38\u66F4\u7A33\u5B9A\uFF0C\u6A21\u578B\u9879\u53EF\u8986\u76D6\uFF0C\u90E8\u5206\u6A21\u578B\u4E0D\u652F\u6301\u81EA\u5B9A\u4E49\u3002",
|
|
1083
1531
|
value: "0.7",
|
|
1084
1532
|
constraint: "\u6570\u5B57\uFF1B>= 0\uFF1B<= 2"
|
|
1085
1533
|
},
|
|
@@ -1095,7 +1543,7 @@ var cli_config_catalog_default = [
|
|
|
1095
1543
|
name: "HAI_AI_LLM_TIMEOUT",
|
|
1096
1544
|
module: "ai",
|
|
1097
1545
|
path: "ai.llm.timeout",
|
|
1098
|
-
description: "\
|
|
1546
|
+
description: "\u4E00\u6B21\u6A21\u578B\u8BF7\u6C42\u6700\u591A\u7B49\u5F85\u591A\u5C11\u6BEB\u79D2\uFF0C\u9ED8\u8BA4 60000\uFF1B\u6A21\u578B\u9879\u53EF\u8986\u76D6\u3002",
|
|
1099
1547
|
value: "60000",
|
|
1100
1548
|
constraint: "\u6570\u5B57\uFF1B> 0"
|
|
1101
1549
|
},
|
|
@@ -1163,6 +1611,94 @@ var cli_config_catalog_default = [
|
|
|
1163
1611
|
value: "1.0.0",
|
|
1164
1612
|
constraint: "\u5B57\u7B26\u4E32"
|
|
1165
1613
|
},
|
|
1614
|
+
{
|
|
1615
|
+
name: "HAI_AI_MCP_SERVERS",
|
|
1616
|
+
module: "ai",
|
|
1617
|
+
path: "ai.mcp.servers",
|
|
1618
|
+
description: "\u5916\u90E8 MCP \u670D\u52A1\u53EA\u8BFB\u6E05\u5355\uFF1B\u4E0E\u6570\u636E\u5E93\u8BB0\u5F55\u5408\u5E76\u4F9B\u53D7\u7BA1 Agent \u4F7F\u7528\u3002",
|
|
1619
|
+
value: "",
|
|
1620
|
+
constraint: "JSON \u6570\u7EC4\uFF1B\u7D22\u5F15\u53EF\u6309 0\u30011\u30012 \u6269\u5C55"
|
|
1621
|
+
},
|
|
1622
|
+
{
|
|
1623
|
+
name: "HAI_AI_MCP_SERVERS_0",
|
|
1624
|
+
module: "ai",
|
|
1625
|
+
path: "ai.mcp.servers.0",
|
|
1626
|
+
description: "\u5916\u90E8 MCP \u670D\u52A1\u53EA\u8BFB\u6E05\u5355\uFF1B\u4E0E\u6570\u636E\u5E93\u8BB0\u5F55\u5408\u5E76\u4F9B\u53D7\u7BA1 Agent \u4F7F\u7528\u3002\uFF1B\u6B64\u53D8\u91CF\u6574\u4F53\u66FF\u6362\u5355\u4E2A\u6570\u7EC4\u9879",
|
|
1627
|
+
value: "",
|
|
1628
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
1629
|
+
},
|
|
1630
|
+
{
|
|
1631
|
+
name: "HAI_AI_MCP_SERVERS_0_ARGS",
|
|
1632
|
+
module: "ai",
|
|
1633
|
+
path: "ai.mcp.servers.0.args",
|
|
1634
|
+
description: "stdio \u53C2\u6570\uFF0C\u4E0D\u4F7F\u7528 shell \u62FC\u63A5\u3002",
|
|
1635
|
+
value: "[]",
|
|
1636
|
+
constraint: "JSON \u6570\u7EC4\uFF1B\u7D22\u5F15\u53EF\u6309 0\u30011\u30012 \u6269\u5C55"
|
|
1637
|
+
},
|
|
1638
|
+
{
|
|
1639
|
+
name: "HAI_AI_MCP_SERVERS_0_ARGS_0",
|
|
1640
|
+
module: "ai",
|
|
1641
|
+
path: "ai.mcp.servers.0.args.0",
|
|
1642
|
+
description: "stdio \u53C2\u6570\uFF0C\u4E0D\u4F7F\u7528 shell \u62FC\u63A5\u3002\uFF1B\u6B64\u53D8\u91CF\u6574\u4F53\u66FF\u6362\u5355\u4E2A\u6570\u7EC4\u9879",
|
|
1643
|
+
value: "",
|
|
1644
|
+
constraint: "\u5B57\u7B26\u4E32"
|
|
1645
|
+
},
|
|
1646
|
+
{
|
|
1647
|
+
name: "HAI_AI_MCP_SERVERS_0_COMMAND",
|
|
1648
|
+
module: "ai",
|
|
1649
|
+
path: "ai.mcp.servers.0.command",
|
|
1650
|
+
description: "stdio \u7A0B\u5E8F\u8DEF\u5F84\uFF1B\u4EC5\u53EF\u4FE1\u670D\u52A1\u7AEF\u914D\u7F6E\u3002",
|
|
1651
|
+
value: "",
|
|
1652
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
1653
|
+
},
|
|
1654
|
+
{
|
|
1655
|
+
name: "HAI_AI_MCP_SERVERS_0_ENVIRONMENTREFS",
|
|
1656
|
+
module: "ai",
|
|
1657
|
+
path: "ai.mcp.servers.0.environmentRefs",
|
|
1658
|
+
description: "stdio \u53D8\u91CF\u540D\u5230\u5BBF\u4E3B\u51ED\u636E\u53D8\u91CF\u540D\u7684\u6620\u5C04\u3002",
|
|
1659
|
+
value: "{}",
|
|
1660
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
1661
|
+
},
|
|
1662
|
+
{
|
|
1663
|
+
name: "HAI_AI_MCP_SERVERS_0_HEADERENV",
|
|
1664
|
+
module: "ai",
|
|
1665
|
+
path: "ai.mcp.servers.0.headerEnv",
|
|
1666
|
+
description: "\u8BA4\u8BC1 Header \u540D\u5230\u5BBF\u4E3B\u51ED\u636E\u53D8\u91CF\u540D\u7684\u6620\u5C04\u3002",
|
|
1667
|
+
value: "{}",
|
|
1668
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
1669
|
+
},
|
|
1670
|
+
{
|
|
1671
|
+
name: "HAI_AI_MCP_SERVERS_0_ID",
|
|
1672
|
+
module: "ai",
|
|
1673
|
+
path: "ai.mcp.servers.0.id",
|
|
1674
|
+
description: "\u670D\u52A1\u552F\u4E00\u6807\u8BC6\u3002",
|
|
1675
|
+
value: "",
|
|
1676
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
1677
|
+
},
|
|
1678
|
+
{
|
|
1679
|
+
name: "HAI_AI_MCP_SERVERS_0_NAME",
|
|
1680
|
+
module: "ai",
|
|
1681
|
+
path: "ai.mcp.servers.0.name",
|
|
1682
|
+
description: "\u4F20\u7ED9\u539F\u751F MCP \u5BA2\u6237\u7AEF\u7684\u670D\u52A1\u540D\u3002",
|
|
1683
|
+
value: "",
|
|
1684
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
1685
|
+
},
|
|
1686
|
+
{
|
|
1687
|
+
name: "HAI_AI_MCP_SERVERS_0_TRANSPORT",
|
|
1688
|
+
module: "ai",
|
|
1689
|
+
path: "ai.mcp.servers.0.transport",
|
|
1690
|
+
description: "\u539F\u751F MCP \u4F20\u8F93\u7C7B\u578B\u3002",
|
|
1691
|
+
value: "stdio",
|
|
1692
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Astdio | http | sse"
|
|
1693
|
+
},
|
|
1694
|
+
{
|
|
1695
|
+
name: "HAI_AI_MCP_SERVERS_0_URL",
|
|
1696
|
+
module: "ai",
|
|
1697
|
+
path: "ai.mcp.servers.0.url",
|
|
1698
|
+
description: "HTTP/SSE \u5730\u5740\u3002",
|
|
1699
|
+
value: "",
|
|
1700
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u683C\u5F0F uri"
|
|
1701
|
+
},
|
|
1166
1702
|
{
|
|
1167
1703
|
name: "HAI_AI_MEMORY",
|
|
1168
1704
|
module: "ai",
|
|
@@ -1175,7 +1711,7 @@ var cli_config_catalog_default = [
|
|
|
1175
1711
|
name: "HAI_AI_MEMORY_ALLOWEPHEMERALFALLBACK",
|
|
1176
1712
|
module: "ai",
|
|
1177
1713
|
path: "ai.memory.allowEphemeralFallback",
|
|
1178
|
-
description: "\u662F\u5426\u5141\u8BB8\u5728\u914D\u7F6E\u4E86\u6301\u4E45\u5316\u5411\u91CF\u540E\u7AEF\u4F46 mem0 \u65E0\u6CD5\u6620\u5C04\u65F6\u9000\u56DE\u5185\u5B58\u5B58\u50A8\uFF08\u9ED8\u8BA4 false\uFF09 \u4EC5\u5F71\u54CD `provider='mem0'`\uFF1A\u5F53\u524D\u6846\u67B6\u9002\u914D\u4EC5\u6620\u5C04 qdrant\
|
|
1714
|
+
description: "\u662F\u5426\u5141\u8BB8\u5728\u914D\u7F6E\u4E86\u6301\u4E45\u5316\u5411\u91CF\u540E\u7AEF\u4F46 mem0 \u65E0\u6CD5\u6620\u5C04\u65F6\u9000\u56DE\u5185\u5B58\u5B58\u50A8\uFF08\u9ED8\u8BA4 false\uFF09 \u4EC5\u5F71\u54CD `provider='mem0'`\uFF1A\u5F53\u524D\u6846\u67B6\u9002\u914D\u4EC5\u6620\u5C04 qdrant\uFF1B\u5176\u5B83\u6301\u4E45\u5316\u540E\u7AEF\u4F7F\u7528 native Provider\u3002\u5E95\u5C42 vecdb \u662F lancedb / chroma / \u672A\u77E5\u540E\u7AEF\u65F6\uFF0C\u9ED8\u8BA4 fail-fast\uFF08\u521D\u59CB\u5316\u5931\u8D25\uFF09\uFF0C\u907F\u514D\u670D\u52A1\u91CD\u542F\u540E\u8BB0\u5FC6\u9759\u9ED8\u4E22\u5931\uFF1B \u4EC5\u5F53\u663E\u5F0F\u8BBE\u4E3A true \u65F6\u624D\u5728\u5F00\u53D1\u6216\u660E\u786E E2E \u73AF\u5883\u9000\u56DE\u5185\u5B58\u5B58\u50A8\uFF08\u6570\u636E\u4E0D\u6301\u4E45\uFF09\u3002 \u751F\u4EA7\u59CB\u7EC8\u8981\u6C42\u5B9E\u9645\u6301\u4E45\u5316\u8FDE\u63A5\uFF0C\u4E0D\u80FD\u901A\u8FC7\u6B64\u5F00\u5173\u7ED5\u8FC7\u5171\u4EAB\u72B6\u6001\u8981\u6C42\u3002",
|
|
1179
1715
|
value: "false",
|
|
1180
1716
|
constraint: "true | false"
|
|
1181
1717
|
},
|
|
@@ -1223,7 +1759,7 @@ var cli_config_catalog_default = [
|
|
|
1223
1759
|
name: "HAI_AI_MEMORY_PROVIDER",
|
|
1224
1760
|
module: "ai",
|
|
1225
1761
|
path: "ai.memory.provider",
|
|
1226
|
-
description: "\u8BB0\u5FC6\u540E\u7AEF\uFF1Anative \u4F7F\u7528\u6846\u67B6\u539F\u751F\u5B58\u50A8\u4E0E\u6279\u91CF\u5408\u5E76\uFF1Bmem0 \u5C06\u6846\u67B6\u63D0\u53D6\u7ED3\u679C\
|
|
1762
|
+
description: "\u8BB0\u5FC6\u540E\u7AEF\uFF1Anative \u4F7F\u7528\u6846\u67B6\u539F\u751F\u5B58\u50A8\u4E0E\u6279\u91CF\u5408\u5E76\uFF1Bmem0 \u5C06\u6846\u67B6\u63D0\u53D6\u7ED3\u679C\u4EE5 Mem0 \u6570\u636E\u683C\u5F0F\u5199\u5165 Qdrant",
|
|
1227
1763
|
value: "native",
|
|
1228
1764
|
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Anative | mem0"
|
|
1229
1765
|
},
|
|
@@ -1247,7 +1783,7 @@ var cli_config_catalog_default = [
|
|
|
1247
1783
|
name: "HAI_AI_MEMORY_WRITEBACKRELATEDTOPK",
|
|
1248
1784
|
module: "ai",
|
|
1249
1785
|
path: "ai.memory.writebackRelatedTopK",
|
|
1250
|
-
description: "\u5199\u56DE / \u5408\u5E76\u65F6\u68C0\u7D22\u76F8\u5173\u8BB0\u5FC6\u7684\u6570\u91CF\
|
|
1786
|
+
description: "\u5199\u56DE / \u5408\u5E76\u65F6\u68C0\u7D22\u76F8\u5173\u8BB0\u5FC6\u7684\u6570\u91CF\uFF08\u4EC5 native\uFF0C\u9ED8\u8BA4 20\uFF09",
|
|
1251
1787
|
value: "20",
|
|
1252
1788
|
constraint: "\u6574\u6570\uFF1B<= 9007199254740991\uFF1B> 0"
|
|
1253
1789
|
},
|
|
@@ -1363,6 +1899,38 @@ var cli_config_catalog_default = [
|
|
|
1363
1899
|
value: "0.25",
|
|
1364
1900
|
constraint: "\u6570\u5B57\uFF1B> 0"
|
|
1365
1901
|
},
|
|
1902
|
+
{
|
|
1903
|
+
name: "HAI_ANDROID_KEY_ALIAS",
|
|
1904
|
+
module: "android",
|
|
1905
|
+
path: "HAI_ANDROID_KEY_ALIAS",
|
|
1906
|
+
description: "Android \u5BB9\u5668\u53D1\u5E03\u7B7E\u540D\u5BC6\u94A5\u522B\u540D",
|
|
1907
|
+
value: "",
|
|
1908
|
+
constraint: "\u5BC6\u94A5\u5E93\u5185\u7528\u4E8E APK \u7B7E\u540D\u7684\u522B\u540D"
|
|
1909
|
+
},
|
|
1910
|
+
{
|
|
1911
|
+
name: "HAI_ANDROID_KEY_PASSWORD",
|
|
1912
|
+
module: "android",
|
|
1913
|
+
path: "HAI_ANDROID_KEY_PASSWORD",
|
|
1914
|
+
description: "Android \u5BB9\u5668\u53D1\u5E03\u7B7E\u540D\u79C1\u94A5\u5BC6\u7801",
|
|
1915
|
+
value: "",
|
|
1916
|
+
constraint: "\u4EC5\u7531\u6784\u5EFA\u8FDB\u7A0B\u6216 CI \u6CE8\u5165\u7684\u654F\u611F\u5B57\u7B26\u4E32"
|
|
1917
|
+
},
|
|
1918
|
+
{
|
|
1919
|
+
name: "HAI_ANDROID_KEYSTORE",
|
|
1920
|
+
module: "android",
|
|
1921
|
+
path: "HAI_ANDROID_KEYSTORE",
|
|
1922
|
+
description: "Android \u5BB9\u5668\u53D1\u5E03\u7B7E\u540D\u5BC6\u94A5\u5E93",
|
|
1923
|
+
value: "",
|
|
1924
|
+
constraint: "\u5BBF\u4E3B\u6587\u4EF6\u8DEF\u5F84\uFF1B\u76F8\u5BF9\u8DEF\u5F84\u4ECE\u9879\u76EE\u6839\u89E3\u6790\uFF0C\u4EC5\u53EA\u8BFB\u6302\u8F7D\u5230\u7B7E\u540D\u5BB9\u5668"
|
|
1925
|
+
},
|
|
1926
|
+
{
|
|
1927
|
+
name: "HAI_ANDROID_STORE_PASSWORD",
|
|
1928
|
+
module: "android",
|
|
1929
|
+
path: "HAI_ANDROID_STORE_PASSWORD",
|
|
1930
|
+
description: "Android \u5BB9\u5668\u53D1\u5E03\u7B7E\u540D\u5BC6\u94A5\u5E93\u5BC6\u7801",
|
|
1931
|
+
value: "",
|
|
1932
|
+
constraint: "\u4EC5\u7531\u6784\u5EFA\u8FDB\u7A0B\u6216 CI \u6CE8\u5165\u7684\u654F\u611F\u5B57\u7B26\u4E32"
|
|
1933
|
+
},
|
|
1366
1934
|
{
|
|
1367
1935
|
name: "HAI_AUDIT",
|
|
1368
1936
|
module: "audit",
|
|
@@ -2031,7 +2599,7 @@ var cli_config_catalog_default = [
|
|
|
2031
2599
|
name: "HAI_CORE_LOGGING_REDACT",
|
|
2032
2600
|
module: "core",
|
|
2033
2601
|
path: "core.logging.redact",
|
|
2034
|
-
description: "\
|
|
2602
|
+
description: "\u989D\u5916\u4E1A\u52A1\u9690\u79C1\u7684\u65E5\u5FD7\u5B57\u6BB5\u8DEF\u5F84\uFF0C\u5982 customer.email\u3001recipients[*].phone\uFF1B* \u5339\u914D\u4E00\u5C42\uFF0C\u533A\u5206\u5927\u5C0F\u5199\uFF0C\u9ED8\u8BA4 []\u3002\u5DF2\u77E5\u5BC6\u7801/\u4EE4\u724C\u59CB\u7EC8\u8131\u654F\u3002",
|
|
2035
2603
|
value: "[]",
|
|
2036
2604
|
constraint: "JSON \u6570\u7EC4\uFF1B\u7D22\u5F15\u53EF\u6309 0\u30011\u30012 \u6269\u5C55"
|
|
2037
2605
|
},
|
|
@@ -2039,7 +2607,7 @@ var cli_config_catalog_default = [
|
|
|
2039
2607
|
name: "HAI_CORE_LOGGING_REDACT_0",
|
|
2040
2608
|
module: "core",
|
|
2041
2609
|
path: "core.logging.redact.0",
|
|
2042
|
-
description: "\
|
|
2610
|
+
description: "\u989D\u5916\u4E1A\u52A1\u9690\u79C1\u7684\u65E5\u5FD7\u5B57\u6BB5\u8DEF\u5F84\uFF0C\u5982 customer.email\u3001recipients[*].phone\uFF1B* \u5339\u914D\u4E00\u5C42\uFF0C\u533A\u5206\u5927\u5C0F\u5199\uFF0C\u9ED8\u8BA4 []\u3002\u5DF2\u77E5\u5BC6\u7801/\u4EE4\u724C\u59CB\u7EC8\u8131\u654F\u3002\uFF1B\u6B64\u53D8\u91CF\u6574\u4F53\u66FF\u6362\u5355\u4E2A\u6570\u7EC4\u9879",
|
|
2043
2611
|
value: "",
|
|
2044
2612
|
constraint: "\u5B57\u7B26\u4E32"
|
|
2045
2613
|
},
|
|
@@ -2363,6 +2931,54 @@ var cli_config_catalog_default = [
|
|
|
2363
2931
|
value: "",
|
|
2364
2932
|
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
2365
2933
|
},
|
|
2934
|
+
{
|
|
2935
|
+
name: "HAI_DEPLOY_CONTAINER_COMPOSE",
|
|
2936
|
+
module: "deploy",
|
|
2937
|
+
path: "deploy.container.compose",
|
|
2938
|
+
description: "\u4EE5\u9879\u76EE\u955C\u50CF\u89D2\u8272\u4E3A\u5355\u4F4D\u9644\u52A0 Compose \u8FD0\u884C\u53C2\u6570\u3002",
|
|
2939
|
+
value: "",
|
|
2940
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
2941
|
+
},
|
|
2942
|
+
{
|
|
2943
|
+
name: "HAI_DEPLOY_CONTAINER_COMPOSE_SERVICES",
|
|
2944
|
+
module: "deploy",
|
|
2945
|
+
path: "deploy.container.compose.services",
|
|
2946
|
+
description: "\u6309\u5DF2\u6784\u5EFA\u9879\u76EE\u7684\u955C\u50CF\u89D2\u8272\u5206\u522B\u8BBE\u7F6E\u5BB9\u5668\u6269\u5C55\u3002",
|
|
2947
|
+
value: "",
|
|
2948
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
2949
|
+
},
|
|
2950
|
+
{
|
|
2951
|
+
name: "HAI_DEPLOY_CONTAINER_COMPOSE_SERVICES_SERV",
|
|
2952
|
+
module: "deploy",
|
|
2953
|
+
path: "deploy.container.compose.services.serv",
|
|
2954
|
+
description: "API \u540E\u7AEF\u5BB9\u5668\u7684 Compose \u6269\u5C55\u3002",
|
|
2955
|
+
value: "",
|
|
2956
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
2957
|
+
},
|
|
2958
|
+
{
|
|
2959
|
+
name: "HAI_DEPLOY_CONTAINER_COMPOSE_SERVICES_SERV_EXTRA_HOSTS",
|
|
2960
|
+
module: "deploy",
|
|
2961
|
+
path: "deploy.container.compose.services.serv.extra_hosts",
|
|
2962
|
+
description: "\u5BB9\u5668\u5185\u7684\u4E3B\u673A\u540D\u5230 IPv4 \u6216 IPv6 \u5730\u5740\u6620\u5C04\uFF0C\u4E0D\u80FD\u8986\u76D6\u6846\u67B6\u5185\u90E8\u670D\u52A1\u540D\u3002",
|
|
2963
|
+
value: "",
|
|
2964
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
2965
|
+
},
|
|
2966
|
+
{
|
|
2967
|
+
name: "HAI_DEPLOY_CONTAINER_COMPOSE_SERVICES_WEB",
|
|
2968
|
+
module: "deploy",
|
|
2969
|
+
path: "deploy.container.compose.services.web",
|
|
2970
|
+
description: "Web \u5BB9\u5668\u7684 Compose \u6269\u5C55\u3002",
|
|
2971
|
+
value: "",
|
|
2972
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
2973
|
+
},
|
|
2974
|
+
{
|
|
2975
|
+
name: "HAI_DEPLOY_CONTAINER_COMPOSE_SERVICES_WEB_EXTRA_HOSTS",
|
|
2976
|
+
module: "deploy",
|
|
2977
|
+
path: "deploy.container.compose.services.web.extra_hosts",
|
|
2978
|
+
description: "\u5BB9\u5668\u5185\u7684\u4E3B\u673A\u540D\u5230 IPv4 \u6216 IPv6 \u5730\u5740\u6620\u5C04\uFF0C\u4E0D\u80FD\u8986\u76D6\u6846\u67B6\u5185\u90E8\u670D\u52A1\u540D\u3002",
|
|
2979
|
+
value: "",
|
|
2980
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
2981
|
+
},
|
|
2366
2982
|
{
|
|
2367
2983
|
name: "HAI_DEPLOY_CONTAINER_S3ENGINE",
|
|
2368
2984
|
module: "deploy",
|
|
@@ -2419,6 +3035,78 @@ var cli_config_catalog_default = [
|
|
|
2419
3035
|
value: "18080",
|
|
2420
3036
|
constraint: "\u6574\u6570\uFF1B>= 1\uFF1B<= 65535"
|
|
2421
3037
|
},
|
|
3038
|
+
{
|
|
3039
|
+
name: "HAI_DEPLOY_PROVIDER_EXPOSE_HTTPS",
|
|
3040
|
+
module: "deploy",
|
|
3041
|
+
path: "deploy.provider.expose.https",
|
|
3042
|
+
description: "\u53EF\u9009 HTTPS \u5165\u53E3\uFF1Bfiles \u4F7F\u7528\u5DF2\u6709\u8BC1\u4E66\uFF0Cletsencrypt \u4F7F\u7528\u5B98\u65B9 Certbot \u7533\u8BF7\u7EED\u671F\uFF0C\u7701\u7565\u4FDD\u6301 HTTP",
|
|
3043
|
+
value: "",
|
|
3044
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
3045
|
+
},
|
|
3046
|
+
{
|
|
3047
|
+
name: "HAI_DEPLOY_PROVIDER_EXPOSE_HTTPS_ACCEPTTERMS",
|
|
3048
|
+
module: "deploy",
|
|
3049
|
+
path: "deploy.provider.expose.https.acceptTerms",
|
|
3050
|
+
description: "\u660E\u786E\u540C\u610F Let\u2019s Encrypt \u670D\u52A1\u6761\u6B3E\u540E\u624D\u53EF\u8BBE\u7F6E\u4E3A true",
|
|
3051
|
+
value: "true",
|
|
3052
|
+
constraint: "true\uFF1B\u53D6\u503C\uFF1Atrue"
|
|
3053
|
+
},
|
|
3054
|
+
{
|
|
3055
|
+
name: "HAI_DEPLOY_PROVIDER_EXPOSE_HTTPS_CERTIFICATEFILE",
|
|
3056
|
+
module: "deploy",
|
|
3057
|
+
path: "deploy.provider.expose.https.certificateFile",
|
|
3058
|
+
description: "PEM \u5B8C\u6574\u8BC1\u4E66\u94FE\u8DEF\u5F84\uFF0C\u76F8\u5BF9\u5DE5\u7A0B\u6839\u6216\u7EDD\u5BF9\u8DEF\u5F84\uFF1B\u6253\u5305\u65F6\u590D\u5236\u5230\u79C1\u6709\u53D1\u5E03\u76EE\u5F55",
|
|
3059
|
+
value: "",
|
|
3060
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
3061
|
+
},
|
|
3062
|
+
{
|
|
3063
|
+
name: "HAI_DEPLOY_PROVIDER_EXPOSE_HTTPS_DOMAIN",
|
|
3064
|
+
module: "deploy",
|
|
3065
|
+
path: "deploy.provider.expose.https.domain",
|
|
3066
|
+
description: "HTTPS \u516C\u5F00\u57DF\u540D\uFF1B\u8BC1\u4E66\u5FC5\u987B\u5339\u914D\u8BE5\u57DF\u540D",
|
|
3067
|
+
value: "",
|
|
3068
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5927\u5B57\u7B26\u6570 253\uFF1B\u6B63\u5219 ^[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$"
|
|
3069
|
+
},
|
|
3070
|
+
{
|
|
3071
|
+
name: "HAI_DEPLOY_PROVIDER_EXPOSE_HTTPS_EMAIL",
|
|
3072
|
+
module: "deploy",
|
|
3073
|
+
path: "deploy.provider.expose.https.email",
|
|
3074
|
+
description: "Let\u2019s Encrypt \u8D26\u53F7\u8054\u7CFB\u90AE\u7BB1",
|
|
3075
|
+
value: "",
|
|
3076
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u683C\u5F0F email\uFF1B\u6B63\u5219 ^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
|
|
3077
|
+
},
|
|
3078
|
+
{
|
|
3079
|
+
name: "HAI_DEPLOY_PROVIDER_EXPOSE_HTTPS_PORT",
|
|
3080
|
+
module: "deploy",
|
|
3081
|
+
path: "deploy.provider.expose.https.port",
|
|
3082
|
+
description: "HTTPS \u5BBF\u4E3B\u7AEF\u53E3\uFF0C\u9ED8\u8BA4 443\uFF0C\u987B\u4E0E HTTP \u7AEF\u53E3\u4E0D\u540C",
|
|
3083
|
+
value: "443",
|
|
3084
|
+
constraint: "\u6574\u6570\uFF1B>= 1\uFF1B<= 65535"
|
|
3085
|
+
},
|
|
3086
|
+
{
|
|
3087
|
+
name: "HAI_DEPLOY_PROVIDER_EXPOSE_HTTPS_PRIVATEKEYFILE",
|
|
3088
|
+
module: "deploy",
|
|
3089
|
+
path: "deploy.provider.expose.https.privateKeyFile",
|
|
3090
|
+
description: "\u672A\u52A0\u5BC6 PEM \u79C1\u94A5\u8DEF\u5F84\uFF0C\u76F8\u5BF9\u5DE5\u7A0B\u6839\u6216\u7EDD\u5BF9\u8DEF\u5F84\uFF1B\u5FC5\u987B\u4E0E\u8BC1\u4E66\u5339\u914D",
|
|
3091
|
+
value: "",
|
|
3092
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
3093
|
+
},
|
|
3094
|
+
{
|
|
3095
|
+
name: "HAI_DEPLOY_PROVIDER_EXPOSE_HTTPS_REDIRECTHTTP",
|
|
3096
|
+
module: "deploy",
|
|
3097
|
+
path: "deploy.provider.expose.https.redirectHttp",
|
|
3098
|
+
description: "\u666E\u901A HTTP \u8BF7\u6C42\u662F\u5426\u4EE5 308 \u8DF3\u8F6C\u81F3 HTTPS\uFF0C\u5065\u5EB7\u68C0\u67E5\u548C ACME \u6311\u6218\u9664\u5916",
|
|
3099
|
+
value: "true",
|
|
3100
|
+
constraint: "true | false"
|
|
3101
|
+
},
|
|
3102
|
+
{
|
|
3103
|
+
name: "HAI_DEPLOY_PROVIDER_EXPOSE_HTTPS_TYPE",
|
|
3104
|
+
module: "deploy",
|
|
3105
|
+
path: "deploy.provider.expose.https.type",
|
|
3106
|
+
description: "\u5E94\u7528\u90E8\u7F72\uFF1A\u5E73\u53F0/\u66B4\u9732\u65B9\u5F0F\uFF0C\u6309\u6240\u5728\u8282\u70B9\u7684\u679A\u4E3E\u9009\u62E9",
|
|
3107
|
+
value: "files",
|
|
3108
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Afiles | letsencrypt"
|
|
3109
|
+
},
|
|
2422
3110
|
{
|
|
2423
3111
|
name: "HAI_DEPLOY_PROVIDER_EXPOSE_TYPE",
|
|
2424
3112
|
module: "deploy",
|
|
@@ -2787,6 +3475,14 @@ var cli_config_catalog_default = [
|
|
|
2787
3475
|
value: "",
|
|
2788
3476
|
constraint: "\u6709\u6548 HTTP(S) URL\uFF1B\u540C\u65F6\u51B3\u5B9A\u5BF9\u5E94\u9884\u89C8\u670D\u52A1\u7684\u76D1\u542C\u5730\u5740"
|
|
2789
3477
|
},
|
|
3478
|
+
{
|
|
3479
|
+
name: "HAI_E2E_GROUP",
|
|
3480
|
+
module: "e2e",
|
|
3481
|
+
path: "HAI_E2E_GROUP",
|
|
3482
|
+
description: "\u73AF\u5883\u5165\u53E3\uFF1B\u4F7F\u7528\u4F4D\u7F6E packages/cli/templates/apps/fullstack/playwright.config.ts.hbs",
|
|
3483
|
+
value: "",
|
|
3484
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6309\u4F7F\u7528\u4F4D\u7F6E\u7684\u6821\u9A8C\u89C4\u5219\u586B\u5199"
|
|
3485
|
+
},
|
|
2790
3486
|
{
|
|
2791
3487
|
name: "HAI_E2E_LIVE",
|
|
2792
3488
|
module: "e2e",
|
|
@@ -3977,7 +4673,7 @@ var cli_config_catalog_default = [
|
|
|
3977
4673
|
path: "kit.access",
|
|
3978
4674
|
description: "\u6BCF\u6B21\u8BF7\u6C42\u7684\u8DEF\u5F84/IP/\u65F6\u95F4\u7B56\u7565\uFF1Bfalse \u5173\u95ED\uFF0C\u5185\u8054\u89C4\u5219\u4E0E\u72EC\u7ACB YAML \u6587\u4EF6\u5F15\u7528\u4E0D\u80FD\u6DF7\u7528",
|
|
3979
4675
|
value: "false",
|
|
3980
|
-
constraint: "true | false\uFF1BJSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9\uFF1B\u53D6\u503C\uFF1Afalse"
|
|
4676
|
+
constraint: "true | false\uFF1Bfalse\uFF1BJSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9\uFF1B\u53D6\u503C\uFF1Afalse"
|
|
3981
4677
|
},
|
|
3982
4678
|
{
|
|
3983
4679
|
name: "HAI_KIT_ACCESS_FILE",
|
|
@@ -4273,7 +4969,7 @@ var cli_config_catalog_default = [
|
|
|
4273
4969
|
path: "kit.transport",
|
|
4274
4970
|
description: "\u4F20\u8F93\u52A0\u5BC6\u5F00\u5173\u6216\u5BC6\u94A5\u534F\u5546\u914D\u7F6E",
|
|
4275
4971
|
value: "false",
|
|
4276
|
-
constraint: "
|
|
4972
|
+
constraint: "false\uFF1BJSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9\uFF1B\u53D6\u503C\uFF1Afalse"
|
|
4277
4973
|
},
|
|
4278
4974
|
{
|
|
4279
4975
|
name: "HAI_KIT_TRANSPORT_EXCLUDEPATHS",
|
|
@@ -4315,6 +5011,14 @@ var cli_config_catalog_default = [
|
|
|
4315
5011
|
value: "/api/_hai/key-exchange",
|
|
4316
5012
|
constraint: "\u5B57\u7B26\u4E32\uFF1B\u4EE5 / \u5F00\u5934\u7684\u8DEF\u5F84\u5B57\u7B26\u4E32"
|
|
4317
5013
|
},
|
|
5014
|
+
{
|
|
5015
|
+
name: "HAI_KIT_TRANSPORT_MAXFUTURESKEWSECONDS",
|
|
5016
|
+
module: "kit",
|
|
5017
|
+
path: "kit.transport.maxFutureSkewSeconds",
|
|
5018
|
+
description: "\u5141\u8BB8\u5BA2\u6237\u7AEF\u8BF7\u6C42\u65F6\u95F4\u9886\u5148\u670D\u52A1\u5668\u7684\u79D2\u6570",
|
|
5019
|
+
value: "30",
|
|
5020
|
+
constraint: "\u6574\u6570\uFF1B>= 0\uFF1B<= 300"
|
|
5021
|
+
},
|
|
4318
5022
|
{
|
|
4319
5023
|
name: "HAI_KIT_TRANSPORT_MAXPLAINTEXTBYTES",
|
|
4320
5024
|
module: "kit",
|
|
@@ -4323,6 +5027,14 @@ var cli_config_catalog_default = [
|
|
|
4323
5027
|
value: "auto",
|
|
4324
5028
|
constraint: "\u6574\u6570\uFF1B>= 1024\uFF1B<= 67108864\uFF1B\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Aauto"
|
|
4325
5029
|
},
|
|
5030
|
+
{
|
|
5031
|
+
name: "HAI_KIT_TRANSPORT_MAXREQUESTAGESECONDS",
|
|
5032
|
+
module: "kit",
|
|
5033
|
+
path: "kit.transport.maxRequestAgeSeconds",
|
|
5034
|
+
description: "\u8BF7\u6C42\u4ECE\u7B7E\u53D1\u8D77\u7684\u6709\u6548\u79D2\u6570",
|
|
5035
|
+
value: "300",
|
|
5036
|
+
constraint: "\u6574\u6570\uFF1B>= 1\uFF1B<= 600"
|
|
5037
|
+
},
|
|
4326
5038
|
{
|
|
4327
5039
|
name: "HAI_KIT_TRANSPORT_ROUTEPLAINTEXTBYTES",
|
|
4328
5040
|
module: "kit",
|
|
@@ -4687,7 +5399,7 @@ var cli_config_catalog_default = [
|
|
|
4687
5399
|
name: "HAI_REACH_PROVIDERS_0_ENDPOINT",
|
|
4688
5400
|
module: "reach",
|
|
4689
5401
|
path: "reach.providers.0.endpoint",
|
|
4690
|
-
description: "API \u7AEF\u70B9\uFF08\u9ED8\u8BA4 dysmsapi.aliyuncs.com\uFF09",
|
|
5402
|
+
description: "\u76F4\u8FDE API \u7AEF\u70B9\uFF08\u9ED8\u8BA4 dysmsapi.aliyuncs.com\uFF09\uFF1B\u914D\u7F6E\u7F51\u5173\u65F6\u4F7F\u7528\u7F51\u5173 URL\u3002",
|
|
4691
5403
|
value: "dysmsapi.aliyuncs.com",
|
|
4692
5404
|
constraint: "\u5B57\u7B26\u4E32"
|
|
4693
5405
|
},
|
|
@@ -4700,20 +5412,52 @@ var cli_config_catalog_default = [
|
|
|
4700
5412
|
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
4701
5413
|
},
|
|
4702
5414
|
{
|
|
4703
|
-
name: "
|
|
5415
|
+
name: "HAI_REACH_PROVIDERS_0_GATEWAY",
|
|
4704
5416
|
module: "reach",
|
|
4705
|
-
path: "reach.providers.0.
|
|
4706
|
-
description: "\
|
|
5417
|
+
path: "reach.providers.0.gateway",
|
|
5418
|
+
description: "\u53EF\u9009\u7684\u77ED\u4FE1\u9694\u79BB\u7F51\u5173\uFF0C\u4EE5 POST \u8BF7\u6C42\u8F6C\u53D1\u5DF2\u7B7E\u540D\u7684\u67E5\u8BE2\u53C2\u6570\u3002",
|
|
5419
|
+
value: "",
|
|
5420
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
5421
|
+
},
|
|
5422
|
+
{
|
|
5423
|
+
name: "HAI_REACH_PROVIDERS_0_GATEWAY_ALLOWINSECUREHTTP",
|
|
5424
|
+
module: "reach",
|
|
5425
|
+
path: "reach.providers.0.gateway.allowInsecureHttp",
|
|
5426
|
+
description: "\u4EC5\u5728\u53D7\u4FE1\u5185\u7F51\u663E\u5F0F\u5141\u8BB8\u660E\u6587 HTTP\u3002",
|
|
5427
|
+
value: "false",
|
|
5428
|
+
constraint: "true | false"
|
|
5429
|
+
},
|
|
5430
|
+
{
|
|
5431
|
+
name: "HAI_REACH_PROVIDERS_0_GATEWAY_BODY",
|
|
5432
|
+
module: "reach",
|
|
5433
|
+
path: "reach.providers.0.gateway.body",
|
|
5434
|
+
description: "\u7F51\u5173\u8BF7\u6C42\u4F53\uFF1B\u5BF9\u8C61\u548C\u6570\u7EC4\u5E8F\u5217\u5316\u4E3A JSON\uFF0C\u5B57\u7B26\u4E32\u539F\u6837\u53D1\u9001\u3002\u7701\u7565\u65F6\u4E0D\u53D1\u8BF7\u6C42\u4F53\u3002",
|
|
5435
|
+
value: "",
|
|
5436
|
+
constraint: "JSON \u5BF9\u8C61\u3001\u6570\u7EC4\u6216\u539F\u59CB\u6587\u672C"
|
|
5437
|
+
},
|
|
5438
|
+
{
|
|
5439
|
+
name: "HAI_REACH_PROVIDERS_0_GATEWAY_HEADERS",
|
|
5440
|
+
module: "reach",
|
|
5441
|
+
path: "reach.providers.0.gateway.headers",
|
|
5442
|
+
description: "\u7F51\u5173\u81EA\u5B9A\u4E49\u8BF7\u6C42\u5934\uFF1B\u8FDE\u63A5\u4E0E\u6D88\u606F\u957F\u5EA6\u76F8\u5173\u7684\u5934\u7531 HTTP \u5BA2\u6237\u7AEF\u7BA1\u7406\u3002",
|
|
4707
5443
|
value: "",
|
|
4708
5444
|
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
4709
5445
|
},
|
|
4710
5446
|
{
|
|
4711
|
-
name: "
|
|
5447
|
+
name: "HAI_REACH_PROVIDERS_0_GATEWAY_URL",
|
|
5448
|
+
module: "reach",
|
|
5449
|
+
path: "reach.providers.0.gateway.url",
|
|
5450
|
+
description: "\u7F51\u5173\u7684\u5B8C\u6574 HTTP(S) URL\uFF1B\u5305\u542B\u8DEF\u5F84\uFF0C\u4E0D\u5141\u8BB8\u51ED\u636E\u3001\u67E5\u8BE2\u53C2\u6570\u6216\u7247\u6BB5\u3002",
|
|
5451
|
+
value: "",
|
|
5452
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u683C\u5F0F uri"
|
|
5453
|
+
},
|
|
5454
|
+
{
|
|
5455
|
+
name: "HAI_REACH_PROVIDERS_0_HEADERS",
|
|
4712
5456
|
module: "reach",
|
|
4713
|
-
path: "
|
|
4714
|
-
description: "
|
|
5457
|
+
path: "reach.providers.0.headers",
|
|
5458
|
+
description: "\u81EA\u5B9A\u4E49\u8BF7\u6C42\u5934",
|
|
4715
5459
|
value: "",
|
|
4716
|
-
constraint: "\
|
|
5460
|
+
constraint: "JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9"
|
|
4717
5461
|
},
|
|
4718
5462
|
{
|
|
4719
5463
|
name: "HAI_REACH_PROVIDERS_0_HOST",
|
|
@@ -4827,6 +5571,22 @@ var cli_config_catalog_default = [
|
|
|
4827
5571
|
value: "",
|
|
4828
5572
|
constraint: "\u5B57\u7B26\u4E32"
|
|
4829
5573
|
},
|
|
5574
|
+
{
|
|
5575
|
+
name: "HAI_REACH_PROVIDERS_1_ACCESSKEYID",
|
|
5576
|
+
module: "reach",
|
|
5577
|
+
path: "HAI_REACH_PROVIDERS_1_ACCESSKEYID",
|
|
5578
|
+
description: "\u963F\u91CC\u4E91 AccessKey ID",
|
|
5579
|
+
value: "",
|
|
5580
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
5581
|
+
},
|
|
5582
|
+
{
|
|
5583
|
+
name: "HAI_REACH_PROVIDERS_1_ACCESSKEYSECRET",
|
|
5584
|
+
module: "reach",
|
|
5585
|
+
path: "HAI_REACH_PROVIDERS_1_ACCESSKEYSECRET",
|
|
5586
|
+
description: "\u963F\u91CC\u4E91 AccessKey Secret",
|
|
5587
|
+
value: "",
|
|
5588
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6700\u5C0F\u5B57\u7B26\u6570 1"
|
|
5589
|
+
},
|
|
4830
5590
|
{
|
|
4831
5591
|
name: "HAI_REACH_PROVIDERS_1_TYPE",
|
|
4832
5592
|
module: "reach",
|
|
@@ -4835,6 +5595,22 @@ var cli_config_catalog_default = [
|
|
|
4835
5595
|
value: "console",
|
|
4836
5596
|
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Aconsole | smtp | aliyun-sms | api"
|
|
4837
5597
|
},
|
|
5598
|
+
{
|
|
5599
|
+
name: "HAI_REACH_PROVIDERS_2_HEADERS_AUTHORIZATION",
|
|
5600
|
+
module: "reach",
|
|
5601
|
+
path: "HAI_REACH_PROVIDERS_2_HEADERS_AUTHORIZATION",
|
|
5602
|
+
description: "\u51ED\u636E\u8F93\u5165\uFF1B\u4F7F\u7528\u4F4D\u7F6E packages/cli/src/commands/cli-config-templates.ts",
|
|
5603
|
+
value: "",
|
|
5604
|
+
constraint: "\u654F\u611F\u5B57\u7B26\u4E32\uFF1B\u542F\u7528\u76F8\u5E94\u529F\u80FD\u65F6\u5FC5\u586B\uFF0C\u4E0D\u5F97\u63D0\u4EA4\u771F\u5B9E\u503C"
|
|
5605
|
+
},
|
|
5606
|
+
{
|
|
5607
|
+
name: "HAI_REACH_PROVIDERS_2_IDEMPOTENT",
|
|
5608
|
+
module: "reach",
|
|
5609
|
+
path: "HAI_REACH_PROVIDERS_2_IDEMPOTENT",
|
|
5610
|
+
description: "\u63A5\u6536\u7AEF\u6309 Idempotency-Key \u539F\u5B50\u6301\u4E45\u53BB\u91CD\uFF0C\u4E14\u8986\u76D6\u6240\u6709\u91CD\u8BD5\u4E0E\u65E7\u8282\u70B9\u8FDF\u5230\u8BF7\u6C42\u65F6\u624D\u542F\u7528\uFF1B\u9ED8\u8BA4 false\u3002",
|
|
5611
|
+
value: "false",
|
|
5612
|
+
constraint: "true | false"
|
|
5613
|
+
},
|
|
4838
5614
|
{
|
|
4839
5615
|
name: "HAI_REACH_QUEUE",
|
|
4840
5616
|
module: "reach",
|
|
@@ -4847,7 +5623,7 @@ var cli_config_catalog_default = [
|
|
|
4847
5623
|
name: "HAI_REACH_QUEUE_MAXATTEMPTS",
|
|
4848
5624
|
module: "reach",
|
|
4849
5625
|
path: "reach.queue.maxAttempts",
|
|
4850
|
-
description: "\
|
|
5626
|
+
description: "\u6BCF\u6761\u961F\u5217\u6D88\u606F\u6700\u591A\u5904\u7406\u591A\u5C11\u6B21\uFF0C\u5305\u542B\u9996\u6B21\u53D1\u9001\u3001\u5931\u8D25\u91CD\u8BD5\u548C\u5F02\u5E38\u9000\u51FA\u540E\u7684\u91CD\u65B0\u5904\u7406\uFF1B\u9ED8\u8BA4 5\uFF0C\u8303\u56F4 1\u2013100\u3002",
|
|
4851
5627
|
value: "5",
|
|
4852
5628
|
constraint: "\u6574\u6570\uFF1B>= 1\uFF1B<= 100"
|
|
4853
5629
|
},
|
|
@@ -4855,7 +5631,7 @@ var cli_config_catalog_default = [
|
|
|
4855
5631
|
name: "HAI_REACH_QUEUE_MAXRETRYDELAYMS",
|
|
4856
5632
|
module: "reach",
|
|
4857
5633
|
path: "reach.queue.maxRetryDelayMs",
|
|
4858
|
-
description: "\
|
|
5634
|
+
description: "\u540E\u7EED\u5931\u8D25\u65F6\u7B49\u5F85\u65F6\u95F4\u9010\u6B21\u52A0\u500D\uFF0C\u4F46\u4E0D\u8D85\u8FC7\u6B64\u503C\uFF1B\u9ED8\u8BA4 3600000\uFF081 \u5C0F\u65F6\uFF09\uFF0C\u4E0D\u5F97\u5C0F\u4E8E retryDelayMs\u3002",
|
|
4859
5635
|
value: "3600000",
|
|
4860
5636
|
constraint: "\u6574\u6570\uFF1B>= 1000\uFF1B<= 86400000"
|
|
4861
5637
|
},
|
|
@@ -4863,7 +5639,7 @@ var cli_config_catalog_default = [
|
|
|
4863
5639
|
name: "HAI_REACH_QUEUE_RETRYDELAYMS",
|
|
4864
5640
|
module: "reach",
|
|
4865
5641
|
path: "reach.queue.retryDelayMs",
|
|
4866
|
-
description: "\
|
|
5642
|
+
description: "\u7B2C\u4E00\u6B21\u53D1\u9001\u5931\u8D25\u540E\uFF0C\u7B49\u5F85\u591A\u5C11\u6BEB\u79D2\u518D\u8BD5\uFF1B\u9ED8\u8BA4 60000\uFF081 \u5206\u949F\uFF09\uFF0C\u8303\u56F4 1000\u201386400000\u3002",
|
|
4867
5643
|
value: "60000",
|
|
4868
5644
|
constraint: "\u6574\u6570\uFF1B>= 1000\uFF1B<= 86400000"
|
|
4869
5645
|
},
|
|
@@ -4923,6 +5699,14 @@ var cli_config_catalog_default = [
|
|
|
4923
5699
|
value: "",
|
|
4924
5700
|
constraint: "\u672C\u673A HTTP(S) URL\uFF1B\u76F4\u63A5\u8FD0\u884C\u65F6 BASE_URL \u4F18\u5148"
|
|
4925
5701
|
},
|
|
5702
|
+
{
|
|
5703
|
+
name: "ALL_PROXY",
|
|
5704
|
+
module: "runtime",
|
|
5705
|
+
path: "ALL_PROXY",
|
|
5706
|
+
description: "\u6784\u5EFA\u4E0B\u8F7D\u7684\u5176\u4ED6\u4EE3\u7406\u5165\u53E3\uFF1B\u4EC5 inherit \u6A21\u5F0F\u539F\u6837\u4F20\u9012\uFF0C\u5176\u4ED6\u6A21\u5F0F\u6E05\u7A7A",
|
|
5707
|
+
value: "",
|
|
5708
|
+
constraint: "\u4EE3\u7406 URL\uFF1B\u534F\u8BAE\u652F\u6301\u7531\u4E0B\u8F7D\u5DE5\u5177\u51B3\u5B9A\uFF1B\u5C0F\u5199 all_proxy \u4E5F\u53D7\u652F\u6301"
|
|
5709
|
+
},
|
|
4926
5710
|
{
|
|
4927
5711
|
name: "ANTHROPIC_API_KEY",
|
|
4928
5712
|
module: "runtime",
|
|
@@ -4963,6 +5747,14 @@ var cli_config_catalog_default = [
|
|
|
4963
5747
|
value: "",
|
|
4964
5748
|
constraint: "\u6709\u6548 HTTP(S) URL\uFF1B\u53D1\u5E03\u539F\u751F\u5305\u65F6\u4E0D\u8BBE\u7F6E"
|
|
4965
5749
|
},
|
|
5750
|
+
{
|
|
5751
|
+
name: "CARGO_TARGET_DIR",
|
|
5752
|
+
module: "runtime",
|
|
5753
|
+
path: "CARGO_TARGET_DIR",
|
|
5754
|
+
description: "\u73AF\u5883\u5165\u53E3\uFF1B\u4F7F\u7528\u4F4D\u7F6E packages/cli/src/commands/cli-build.ts",
|
|
5755
|
+
value: "",
|
|
5756
|
+
constraint: "\u5B57\u7B26\u4E32\uFF1B\u6309\u4F7F\u7528\u4F4D\u7F6E\u7684\u6821\u9A8C\u89C4\u5219\u586B\u5199"
|
|
5757
|
+
},
|
|
4966
5758
|
{
|
|
4967
5759
|
name: "CI",
|
|
4968
5760
|
module: "runtime",
|
|
@@ -5051,6 +5843,14 @@ var cli_config_catalog_default = [
|
|
|
5051
5843
|
value: "",
|
|
5052
5844
|
constraint: "\u6574\u6570 1\u201365535"
|
|
5053
5845
|
},
|
|
5846
|
+
{
|
|
5847
|
+
name: "FTP_PROXY",
|
|
5848
|
+
module: "runtime",
|
|
5849
|
+
path: "FTP_PROXY",
|
|
5850
|
+
description: "\u6784\u5EFA\u4E0B\u8F7D\u7684 FTP \u4EE3\u7406\u5165\u53E3\uFF1B\u4EC5 inherit \u6A21\u5F0F\u539F\u6837\u4F20\u9012\uFF0C\u5176\u4ED6\u6A21\u5F0F\u6E05\u7A7A",
|
|
5851
|
+
value: "",
|
|
5852
|
+
constraint: "\u4EE3\u7406 URL\uFF1B\u534F\u8BAE\u652F\u6301\u7531\u4E0B\u8F7D\u5DE5\u5177\u51B3\u5B9A\uFF1B\u5C0F\u5199 ftp_proxy \u4E5F\u53D7\u652F\u6301"
|
|
5853
|
+
},
|
|
5054
5854
|
{
|
|
5055
5855
|
name: "GEMINI_API_KEY",
|
|
5056
5856
|
module: "runtime",
|
|
@@ -5131,6 +5931,22 @@ var cli_config_catalog_default = [
|
|
|
5131
5931
|
value: "",
|
|
5132
5932
|
constraint: "JSON \u5BF9\u8C61 {activeKeyId,keys:{id:{publicKey,privateKey}}}\uFF1B\u6240\u6709\u8282\u70B9\u5171\u4EAB\uFF0CID \u4E3A 1-64 \u4E2A\u5B57\u6BCD/\u6570\u5B57/\u4E0B\u5212\u7EBF/\u8FDE\u5B57\u7B26\uFF1B\u7981\u6B62 PUBLIC_/VITE_/\u516C\u5F00 YAML/\u65E5\u5FD7"
|
|
5133
5933
|
},
|
|
5934
|
+
{
|
|
5935
|
+
name: "HAI_NGINX_IMAGE",
|
|
5936
|
+
module: "runtime",
|
|
5937
|
+
path: "HAI_NGINX_IMAGE",
|
|
5938
|
+
description: "Dockerfile \u7684 Nginx \u57FA\u7840\u955C\u50CF\u6784\u5EFA\u53C2\u6570\uFF0C\u7531 CLI \u6309 build.sources.image \u6216 --image-source \u6CE8\u5165",
|
|
5939
|
+
value: "",
|
|
5940
|
+
constraint: "OCI \u955C\u50CF\u5F15\u7528\uFF1B\u4E0D\u662F\u5E94\u7528 .env \u914D\u7F6E\u9879"
|
|
5941
|
+
},
|
|
5942
|
+
{
|
|
5943
|
+
name: "HAI_NODE_IMAGE",
|
|
5944
|
+
module: "runtime",
|
|
5945
|
+
path: "HAI_NODE_IMAGE",
|
|
5946
|
+
description: "Dockerfile \u7684 Node \u57FA\u7840\u955C\u50CF\u6784\u5EFA\u53C2\u6570\uFF0C\u7531 CLI \u6309 build.sources.image \u6216 --image-source \u6CE8\u5165",
|
|
5947
|
+
value: "",
|
|
5948
|
+
constraint: "OCI \u955C\u50CF\u5F15\u7528\uFF1B\u4E0D\u662F\u5E94\u7528 .env \u914D\u7F6E\u9879"
|
|
5949
|
+
},
|
|
5134
5950
|
{
|
|
5135
5951
|
name: "HF_ENDPOINT",
|
|
5136
5952
|
module: "runtime",
|
|
@@ -5155,6 +5971,22 @@ var cli_config_catalog_default = [
|
|
|
5155
5971
|
value: "0.0.0.0",
|
|
5156
5972
|
constraint: "\u4E3B\u673A\u540D\u6216 IP"
|
|
5157
5973
|
},
|
|
5974
|
+
{
|
|
5975
|
+
name: "HTTP_PROXY",
|
|
5976
|
+
module: "runtime",
|
|
5977
|
+
path: "HTTP_PROXY",
|
|
5978
|
+
description: "\u6784\u5EFA\u4E0B\u8F7D\u7684 HTTP \u4EE3\u7406\uFF1Binherit \u6A21\u5F0F\u7EE7\u627F\u8FDB\u7A0B\u73AF\u5883\uFF0Csystem/custom/none \u6A21\u5F0F\u7531 CLI \u8986\u76D6",
|
|
5979
|
+
value: "",
|
|
5980
|
+
constraint: "HTTP(S) \u4EE3\u7406 URL\uFF1B\u5C0F\u5199 http_proxy \u4E5F\u53D7\u652F\u6301\uFF1B\u955C\u50CF\u62C9\u53D6\u4ECD\u53D6\u51B3\u4E8E\u5F15\u64CE\u4EE3\u7406"
|
|
5981
|
+
},
|
|
5982
|
+
{
|
|
5983
|
+
name: "HTTPS_PROXY",
|
|
5984
|
+
module: "runtime",
|
|
5985
|
+
path: "HTTPS_PROXY",
|
|
5986
|
+
description: "\u6784\u5EFA\u4E0B\u8F7D\u7684 HTTPS \u4EE3\u7406\uFF1B\u672A\u63D0\u4F9B\u65F6\u56DE\u9000 HTTP_PROXY\uFF1Bsystem/custom/none \u6A21\u5F0F\u7531 CLI \u8986\u76D6",
|
|
5987
|
+
value: "",
|
|
5988
|
+
constraint: "HTTP(S) \u4EE3\u7406 URL\uFF1B\u5C0F\u5199 https_proxy \u4E5F\u53D7\u652F\u6301\uFF1B\u955C\u50CF\u62C9\u53D6\u4ECD\u53D6\u51B3\u4E8E\u5F15\u64CE\u4EE3\u7406"
|
|
5989
|
+
},
|
|
5158
5990
|
{
|
|
5159
5991
|
name: "IAM_FIXTURE_LDAP",
|
|
5160
5992
|
module: "runtime",
|
|
@@ -5235,6 +6067,14 @@ var cli_config_catalog_default = [
|
|
|
5235
6067
|
value: "/opt/models",
|
|
5236
6068
|
constraint: "\u53EF\u8BFB\u53D6\u7684\u6A21\u578B\u8DEF\u5F84\u6216\u6709\u6548\u4ED3\u5E93 ID\uFF1B\u9ED8\u8BA4 /opt/models"
|
|
5237
6069
|
},
|
|
6070
|
+
{
|
|
6071
|
+
name: "NO_PROXY",
|
|
6072
|
+
module: "runtime",
|
|
6073
|
+
path: "NO_PROXY",
|
|
6074
|
+
description: "\u6784\u5EFA\u4E0B\u8F7D\u7684\u4EE3\u7406\u7ED5\u8FC7\u5217\u8868\uFF1Binherit \u6A21\u5F0F\u7EE7\u627F\uFF0C\u53EF\u7531 build.proxy.bypass \u6216 --proxy-bypass \u8986\u76D6",
|
|
6075
|
+
value: "",
|
|
6076
|
+
constraint: "\u9017\u53F7\u5206\u9694\u7684\u4E3B\u673A\u6216\u5730\u5740\uFF1B\u5C0F\u5199 no_proxy \u4E5F\u53D7\u652F\u6301\uFF1Bnone \u6A21\u5F0F\u6E05\u7A7A"
|
|
6077
|
+
},
|
|
5238
6078
|
{
|
|
5239
6079
|
name: "NODE_ENV",
|
|
5240
6080
|
module: "runtime",
|
|
@@ -5433,7 +6273,7 @@ var cli_config_catalog_default = [
|
|
|
5433
6273
|
path: "scheduler.enableDb",
|
|
5434
6274
|
description: "\u5FC5\u987B\u4F7F\u7528\u5171\u4EAB\u6570\u636E\u5E93\u4FDD\u5B58\u6267\u884C\u72B6\u6001\uFF1Bfalse \u4E0D\u518D\u5141\u8BB8\uFF0C\u9700\u8981\u5148\u521D\u59CB\u5316",
|
|
5435
6275
|
value: "true",
|
|
5436
|
-
constraint: "true
|
|
6276
|
+
constraint: "true\uFF1B\u53D6\u503C\uFF1Atrue"
|
|
5437
6277
|
},
|
|
5438
6278
|
{
|
|
5439
6279
|
name: "HAI_SCHEDULER_LEASEMS",
|
|
@@ -5616,7 +6456,7 @@ var cli_config_catalog_default = [
|
|
|
5616
6456
|
module: "serv",
|
|
5617
6457
|
path: "serv.cors.nativeOrigins",
|
|
5618
6458
|
description: "\u5141\u8BB8\u4F7F\u7528\u539F\u751F\u51ED\u636E\u901A\u9053\u7684\u5B8C\u6574 Origin \u5217\u8868",
|
|
5619
|
-
value: "http://localhost,https://tauri.localhost,tauri://localhost,capacitor://localhost",
|
|
6459
|
+
value: "http://localhost,https://localhost,http://tauri.localhost,https://tauri.localhost,tauri://localhost,capacitor://localhost",
|
|
5620
6460
|
constraint: "\u5B57\u7B26\u4E32"
|
|
5621
6461
|
},
|
|
5622
6462
|
{
|
|
@@ -5641,7 +6481,7 @@ var cli_config_catalog_default = [
|
|
|
5641
6481
|
path: "serv.http.access",
|
|
5642
6482
|
description: "\u6BCF\u6B21\u8BF7\u6C42\u7684\u8DEF\u5F84/IP/\u65F6\u95F4\u7B56\u7565\uFF1Bfalse \u5173\u95ED\uFF0C\u5185\u8054\u89C4\u5219\u4E0E\u72EC\u7ACB YAML \u6587\u4EF6\u5F15\u7528\u4E0D\u80FD\u6DF7\u7528",
|
|
5643
6483
|
value: "false",
|
|
5644
|
-
constraint: "true | false\uFF1BJSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9\uFF1B\u53D6\u503C\uFF1Afalse"
|
|
6484
|
+
constraint: "true | false\uFF1Bfalse\uFF1BJSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9\uFF1B\u53D6\u503C\uFF1Afalse"
|
|
5645
6485
|
},
|
|
5646
6486
|
{
|
|
5647
6487
|
name: "HAI_SERV_HTTP_ACCESS_FILE",
|
|
@@ -5913,7 +6753,7 @@ var cli_config_catalog_default = [
|
|
|
5913
6753
|
path: "serv.http.docs",
|
|
5914
6754
|
description: "HTTP API \u6587\u6863\u529F\u80FD\u5F00\u5173\u6216\u6587\u6863\u8BBF\u95EE\u914D\u7F6E",
|
|
5915
6755
|
value: "false",
|
|
5916
|
-
constraint: "true | false\uFF1BJSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9\uFF1B\u53D6\u503C\uFF1Afalse"
|
|
6756
|
+
constraint: "true | false\uFF1Bfalse\uFF1BJSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9\uFF1B\u53D6\u503C\uFF1Afalse"
|
|
5917
6757
|
},
|
|
5918
6758
|
{
|
|
5919
6759
|
name: "HAI_SERV_HTTP_DOCS_PATH",
|
|
@@ -5937,7 +6777,7 @@ var cli_config_catalog_default = [
|
|
|
5937
6777
|
path: "serv.http.health",
|
|
5938
6778
|
description: "HTTP \u5065\u5EB7\u68C0\u67E5\u5F00\u5173\u6216\u68C0\u67E5\u914D\u7F6E",
|
|
5939
6779
|
value: '{"path":"/health","readyPath":"/ready"}',
|
|
5940
|
-
constraint: "JSON \u5BF9\u8C61\
|
|
6780
|
+
constraint: "JSON \u5BF9\u8C61\uFF1Bfalse\uFF1BJSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9\uFF1B\u53D6\u503C\uFF1Afalse"
|
|
5941
6781
|
},
|
|
5942
6782
|
{
|
|
5943
6783
|
name: "HAI_SERV_HTTP_HEALTH_PATH",
|
|
@@ -5961,7 +6801,7 @@ var cli_config_catalog_default = [
|
|
|
5961
6801
|
path: "serv.http.openapi",
|
|
5962
6802
|
description: "OpenAPI \u7AEF\u70B9\u5F00\u5173\u6216\u7AEF\u70B9\u914D\u7F6E",
|
|
5963
6803
|
value: "false",
|
|
5964
|
-
constraint: "true | false\uFF1BJSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9\uFF1B\u53D6\u503C\uFF1Afalse"
|
|
6804
|
+
constraint: "true | false\uFF1Bfalse\uFF1BJSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9\uFF1B\u53D6\u503C\uFF1Afalse"
|
|
5965
6805
|
},
|
|
5966
6806
|
{
|
|
5967
6807
|
name: "HAI_SERV_HTTP_OPENAPI_PATH",
|
|
@@ -5971,46 +6811,6 @@ var cli_config_catalog_default = [
|
|
|
5971
6811
|
value: "/openapi.json",
|
|
5972
6812
|
constraint: "\u5B57\u7B26\u4E32\uFF1B\u4EE5 / \u5F00\u5934\u7684\u8DEF\u5F84\u5B57\u7B26\u4E32"
|
|
5973
6813
|
},
|
|
5974
|
-
{
|
|
5975
|
-
name: "HAI_SERV_HTTP_RPC",
|
|
5976
|
-
module: "serv",
|
|
5977
|
-
path: "serv.http.rpc",
|
|
5978
|
-
description: "RPC \u7AEF\u70B9\u5F00\u5173\u6216\u8BBF\u95EE\u914D\u7F6E",
|
|
5979
|
-
value: "false",
|
|
5980
|
-
constraint: "true | false\uFF1BJSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9\uFF1B\u53D6\u503C\uFF1Afalse"
|
|
5981
|
-
},
|
|
5982
|
-
{
|
|
5983
|
-
name: "HAI_SERV_HTTP_RPC_ACCESS",
|
|
5984
|
-
module: "serv",
|
|
5985
|
-
path: "serv.http.rpc.access",
|
|
5986
|
-
description: "RPC \u5BF9\u5916\u8BBF\u95EE\u7B56\u7565",
|
|
5987
|
-
value: "loopback",
|
|
5988
|
-
constraint: "\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Aloopback | private-network | gateway-only"
|
|
5989
|
-
},
|
|
5990
|
-
{
|
|
5991
|
-
name: "HAI_SERV_HTTP_RPC_GATEWAYHEADER",
|
|
5992
|
-
module: "serv",
|
|
5993
|
-
path: "serv.http.rpc.gatewayHeader",
|
|
5994
|
-
description: "\u53D7\u4FE1\u7F51\u5173\u8BA4\u8BC1\u8BF7\u6C42\u5934\u540D\u79F0",
|
|
5995
|
-
value: "",
|
|
5996
|
-
constraint: "\u5B57\u7B26\u4E32"
|
|
5997
|
-
},
|
|
5998
|
-
{
|
|
5999
|
-
name: "HAI_SERV_HTTP_RPC_GATEWAYSECRET",
|
|
6000
|
-
module: "serv",
|
|
6001
|
-
path: "serv.http.rpc.gatewaySecret",
|
|
6002
|
-
description: "\u53D7\u4FE1\u7F51\u5173\u8BA4\u8BC1\u5BC6\u94A5",
|
|
6003
|
-
value: "",
|
|
6004
|
-
constraint: "\u5B57\u7B26\u4E32"
|
|
6005
|
-
},
|
|
6006
|
-
{
|
|
6007
|
-
name: "HAI_SERV_HTTP_RPC_PREFIX",
|
|
6008
|
-
module: "serv",
|
|
6009
|
-
path: "serv.http.rpc.prefix",
|
|
6010
|
-
description: "RPC \u7AEF\u70B9\u7684\u8DEF\u5F84\u524D\u7F00",
|
|
6011
|
-
value: "/rpc",
|
|
6012
|
-
constraint: "\u5B57\u7B26\u4E32\uFF1B\u4EE5 / \u5F00\u5934\u7684\u8DEF\u5F84\u5B57\u7B26\u4E32"
|
|
6013
|
-
},
|
|
6014
6814
|
{
|
|
6015
6815
|
name: "HAI_SERV_HTTP_TRUSTEDPROXIES",
|
|
6016
6816
|
module: "serv",
|
|
@@ -6027,6 +6827,14 @@ var cli_config_catalog_default = [
|
|
|
6027
6827
|
value: "",
|
|
6028
6828
|
constraint: "\u5B57\u7B26\u4E32\uFF1B\u683C\u5F0F ipv4\uFF1B\u6B63\u5219 ^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$\uFF1B\u683C\u5F0F ipv6\uFF1B\u6B63\u5219 ^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$\uFF1B\u683C\u5F0F cidrv4\uFF1B\u6B63\u5219 ^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/([0-9]|[1-2][0-9]|3[0-2])$\uFF1B\u683C\u5F0F cidrv6\uFF1B\u6B63\u5219 ^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$"
|
|
6029
6829
|
},
|
|
6830
|
+
{
|
|
6831
|
+
name: "HAI_SERV_REFRESH_COOKIE_SECURE",
|
|
6832
|
+
module: "serv",
|
|
6833
|
+
path: "HAI_SERV_REFRESH_COOKIE_SECURE",
|
|
6834
|
+
description: "Serv \u5237\u65B0 Cookie \u7684 Secure \u5C5E\u6027\uFF1B\u7559\u7A7A\u6CBF\u7528\u73AF\u5883\u9ED8\u8BA4\u503C\uFF0C\u751F\u4EA7\u9ED8\u8BA4\u5F00\u542F",
|
|
6835
|
+
value: "",
|
|
6836
|
+
constraint: "true | false\uFF1B\u4EC5\u5728\u53D7\u63A7\u5185\u7F51\u6216 VPN \u7684 HTTP \u5165\u53E3\u4F7F\u7528 false"
|
|
6837
|
+
},
|
|
6030
6838
|
{
|
|
6031
6839
|
name: "HAI_SERV_SERVER",
|
|
6032
6840
|
module: "serv",
|
|
@@ -6057,7 +6865,7 @@ var cli_config_catalog_default = [
|
|
|
6057
6865
|
path: "serv.transport",
|
|
6058
6866
|
description: "\u4F20\u8F93\u52A0\u5BC6\u5F00\u5173\u6216\u5BC6\u94A5\u534F\u5546\u914D\u7F6E",
|
|
6059
6867
|
value: "false",
|
|
6060
|
-
constraint: "
|
|
6868
|
+
constraint: "false\uFF1BJSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9\uFF1B\u53D6\u503C\uFF1Afalse"
|
|
6061
6869
|
},
|
|
6062
6870
|
{
|
|
6063
6871
|
name: "HAI_SERV_TRANSPORT_EXCLUDEPATHS",
|
|
@@ -6115,6 +6923,14 @@ var cli_config_catalog_default = [
|
|
|
6115
6923
|
value: "/_hai/key-exchange",
|
|
6116
6924
|
constraint: "\u5B57\u7B26\u4E32\uFF1B\u4EE5 / \u5F00\u5934\u7684\u8DEF\u5F84\u5B57\u7B26\u4E32"
|
|
6117
6925
|
},
|
|
6926
|
+
{
|
|
6927
|
+
name: "HAI_SERV_TRANSPORT_MAXFUTURESKEWSECONDS",
|
|
6928
|
+
module: "serv",
|
|
6929
|
+
path: "serv.transport.maxFutureSkewSeconds",
|
|
6930
|
+
description: "\u5141\u8BB8\u5BA2\u6237\u7AEF\u8BF7\u6C42\u65F6\u95F4\u9886\u5148\u670D\u52A1\u5668\u7684\u79D2\u6570",
|
|
6931
|
+
value: "30",
|
|
6932
|
+
constraint: "\u6574\u6570\uFF1B>= 0\uFF1B<= 300"
|
|
6933
|
+
},
|
|
6118
6934
|
{
|
|
6119
6935
|
name: "HAI_SERV_TRANSPORT_MAXPLAINTEXTBYTES",
|
|
6120
6936
|
module: "serv",
|
|
@@ -6123,6 +6939,14 @@ var cli_config_catalog_default = [
|
|
|
6123
6939
|
value: "1048576",
|
|
6124
6940
|
constraint: "\u6574\u6570\uFF1B>= 1024\uFF1B<= 67108864\uFF1B\u5B57\u7B26\u4E32\uFF1B\u53D6\u503C\uFF1Aauto"
|
|
6125
6941
|
},
|
|
6942
|
+
{
|
|
6943
|
+
name: "HAI_SERV_TRANSPORT_MAXREQUESTAGESECONDS",
|
|
6944
|
+
module: "serv",
|
|
6945
|
+
path: "serv.transport.maxRequestAgeSeconds",
|
|
6946
|
+
description: "\u8BF7\u6C42\u4ECE\u7B7E\u53D1\u8D77\u7684\u6709\u6548\u79D2\u6570",
|
|
6947
|
+
value: "300",
|
|
6948
|
+
constraint: "\u6574\u6570\uFF1B>= 1\uFF1B<= 600"
|
|
6949
|
+
},
|
|
6126
6950
|
{
|
|
6127
6951
|
name: "HAI_SERV_TRANSPORT_ROUTEPLAINTEXTBYTES",
|
|
6128
6952
|
module: "serv",
|
|
@@ -6239,7 +7063,7 @@ var cli_config_catalog_default = [
|
|
|
6239
7063
|
name: "HAI_STORAGE_PREFIX",
|
|
6240
7064
|
module: "storage",
|
|
6241
7065
|
path: "storage.prefix",
|
|
6242
|
-
description: "\
|
|
7066
|
+
description: "S3 \u6876\u5185\u5BF9\u8C61\u952E\u524D\u7F00\uFF0C\u4F8B\u5982 my-app/uploads/\uFF0C\u7559\u7A7A\u4F7F\u7528\u6876\u6839",
|
|
6243
7067
|
value: "",
|
|
6244
7068
|
constraint: "\u5B57\u7B26\u4E32"
|
|
6245
7069
|
},
|
|
@@ -6472,7 +7296,55 @@ var cli_config_catalog_default = [
|
|
|
6472
7296
|
// src/commands/cli-config-environment.ts
|
|
6473
7297
|
var catalogByName = new Map(cli_config_catalog_default.map((entry) => [entry.name, entry]));
|
|
6474
7298
|
var catalogByPath = new Map(cli_config_catalog_default.map((entry) => [entry.path, entry]));
|
|
7299
|
+
function configurationConstraint(value) {
|
|
7300
|
+
return value.replaceAll("JSON \u5BF9\u8C61\uFF1B\u6574\u4F53\u8986\u76D6\u65F6\u66FF\u6362\u8BE5\u8282\u70B9", "\u914D\u7F6E\u5757\uFF08\u586B\u5199\u4E0B\u65B9\u7F29\u8FDB\u5B57\u6BB5\uFF09").replaceAll("JSON \u6570\u7EC4\uFF1B\u7D22\u5F15\u53EF\u6309 0\u30011\u30012 \u6269\u5C55", "\u5217\u8868\uFF08\u6BCF\u9879\u4EE5 - \u5F00\u5934\uFF09").replaceAll("string,null", "\u5B57\u7B26\u4E32\u6216\u7A7A\u503C").replaceAll("\uFF1B<= 9007199254740991", "");
|
|
7301
|
+
}
|
|
7302
|
+
function withoutGeneratedDocumentation(content) {
|
|
7303
|
+
const { lines, document: optional, counter } = readOptionalConfig(content);
|
|
7304
|
+
const starts = [];
|
|
7305
|
+
let offset = 0;
|
|
7306
|
+
for (const line of lines) {
|
|
7307
|
+
starts.push(offset);
|
|
7308
|
+
offset += line.length + 1;
|
|
7309
|
+
}
|
|
7310
|
+
const ranges = [];
|
|
7311
|
+
function originalOffset(position, end) {
|
|
7312
|
+
const location = counter.linePos(position);
|
|
7313
|
+
const line = lines[location.line - 1] ?? "";
|
|
7314
|
+
const prefix = /^(\s*)# (?=\s*(?:[a-z][\w-]*:|-\s))/i.exec(line);
|
|
7315
|
+
const column = location.col - 1;
|
|
7316
|
+
const removed = prefix && (column > prefix[1].length || !end && column === prefix[1].length) ? 2 : 0;
|
|
7317
|
+
return (starts[location.line - 1] ?? content.length) + column + removed;
|
|
7318
|
+
}
|
|
7319
|
+
function collect(node, virtual) {
|
|
7320
|
+
if (isMap(node)) {
|
|
7321
|
+
for (const pair of node.items)
|
|
7322
|
+
collect(pair.value, virtual);
|
|
7323
|
+
} else if (isSeq(node)) {
|
|
7324
|
+
node.items.forEach((item) => collect(item, virtual));
|
|
7325
|
+
} else if (isScalar(node) && node.range) {
|
|
7326
|
+
ranges.push(virtual ? [
|
|
7327
|
+
originalOffset(node.range[0], false),
|
|
7328
|
+
originalOffset(node.range[1], true)
|
|
7329
|
+
] : [node.range[0], node.range[1]]);
|
|
7330
|
+
}
|
|
7331
|
+
}
|
|
7332
|
+
collect(parseDocument(content).contents, false);
|
|
7333
|
+
if (!optional.errors.length)
|
|
7334
|
+
collect(optional.contents, true);
|
|
7335
|
+
const protectedAt = (position) => ranges.some(([start, end]) => position >= start && position < end);
|
|
7336
|
+
return lines.flatMap((line, index) => {
|
|
7337
|
+
const metadata = /^(\s*)#\s*(?:用途|说明|取值):/.exec(line);
|
|
7338
|
+
if (metadata && !protectedAt(starts[index] + metadata[1].length))
|
|
7339
|
+
return [];
|
|
7340
|
+
const suffix = line.lastIndexOf(" # \u8BF4\u660E\uFF1A");
|
|
7341
|
+
return [
|
|
7342
|
+
suffix >= 0 && !protectedAt(starts[index] + suffix + 1) ? line.slice(0, suffix) : line
|
|
7343
|
+
];
|
|
7344
|
+
}).join("\n");
|
|
7345
|
+
}
|
|
6475
7346
|
function documentConfig(name, content) {
|
|
7347
|
+
content = withoutGeneratedDocumentation(content);
|
|
6476
7348
|
const document = parseDocument(content);
|
|
6477
7349
|
if (document.errors.length)
|
|
6478
7350
|
throw new Error(`Invalid ${name} configuration documentation source`);
|
|
@@ -6483,7 +7355,7 @@ function documentConfig(name, content) {
|
|
|
6483
7355
|
const previous = node[field];
|
|
6484
7356
|
if (!previous)
|
|
6485
7357
|
continue;
|
|
6486
|
-
const kept = previous.split("\n").filter((line) => !/^\s
|
|
7358
|
+
const kept = previous.split("\n").filter((line) => !/^\s*(?:用途|说明|取值):/.test(line)).join("\n") || null;
|
|
6487
7359
|
if (kept !== previous) {
|
|
6488
7360
|
node[field] = kept;
|
|
6489
7361
|
changed = true;
|
|
@@ -6498,11 +7370,19 @@ function documentConfig(name, content) {
|
|
|
6498
7370
|
if (!isScalar(pair.key))
|
|
6499
7371
|
continue;
|
|
6500
7372
|
clearGeneratedComments(pair.key);
|
|
6501
|
-
const field = [
|
|
7373
|
+
const field = [
|
|
7374
|
+
...segments,
|
|
7375
|
+
String(pair.key.value)
|
|
7376
|
+
];
|
|
6502
7377
|
const description = catalogByPath.get([name, ...field].join(".").replace(/\.\d+(?=\.|$)/g, ".0"))?.description;
|
|
6503
7378
|
if (description) {
|
|
6504
7379
|
const target = sequenceItem && index === 0 ? node : pair.key;
|
|
6505
|
-
const
|
|
7380
|
+
const entry = catalogByPath.get([name, ...field].join(".").replace(/\.\d+(?=\.|$)/g, ".0"));
|
|
7381
|
+
const comment = [
|
|
7382
|
+
target.commentBefore,
|
|
7383
|
+
` \u8BF4\u660E\uFF1A${description}`,
|
|
7384
|
+
entry?.constraint ? ` \u53D6\u503C\uFF1A${configurationConstraint(entry.constraint)}` : void 0
|
|
7385
|
+
].filter(Boolean).join("\n");
|
|
6506
7386
|
if (target.commentBefore !== comment) {
|
|
6507
7387
|
target.commentBefore = comment;
|
|
6508
7388
|
changed = true;
|
|
@@ -6511,29 +7391,81 @@ function documentConfig(name, content) {
|
|
|
6511
7391
|
walk(pair.value, field);
|
|
6512
7392
|
}
|
|
6513
7393
|
} else if (isSeq(node)) {
|
|
6514
|
-
node.items.forEach((item, index) => walk(item, [
|
|
7394
|
+
node.items.forEach((item, index) => walk(item, [
|
|
7395
|
+
...segments,
|
|
7396
|
+
String(index)
|
|
7397
|
+
], true));
|
|
6515
7398
|
}
|
|
6516
7399
|
}
|
|
6517
7400
|
walk(document.contents, []);
|
|
6518
|
-
return changed ? document.toString({ lineWidth: 0 }) : content;
|
|
7401
|
+
return documentOptionalConfig(name, changed ? document.toString({ lineWidth: 0 }) : content).replace(/^#[\t ]+$/gm, "#");
|
|
7402
|
+
}
|
|
7403
|
+
function documentOptionalConfig(name, content) {
|
|
7404
|
+
const { lines, document, counter } = readOptionalConfig(content);
|
|
7405
|
+
if (document.errors.length)
|
|
7406
|
+
return content;
|
|
7407
|
+
const additions = /* @__PURE__ */ new Map();
|
|
7408
|
+
function walk(node, path) {
|
|
7409
|
+
if (isMap(node)) {
|
|
7410
|
+
for (const pair of node.items) {
|
|
7411
|
+
if (!isScalar(pair.key))
|
|
7412
|
+
continue;
|
|
7413
|
+
const segments = [
|
|
7414
|
+
...path,
|
|
7415
|
+
String(pair.key.value)
|
|
7416
|
+
];
|
|
7417
|
+
const entry = catalogByPath.get([name, ...segments].join(".").replace(/\.\d+(?=\.|$)/g, ".0"));
|
|
7418
|
+
if (entry && pair.key.range) {
|
|
7419
|
+
const line = counter.linePos(pair.key.range[0]).line - 1;
|
|
7420
|
+
const prefix = /^(\s*#\s*)(?:-\s*)?[A-Z][\w-]*:/i.exec(lines[line])?.[1];
|
|
7421
|
+
if (prefix && !additions.has(line))
|
|
7422
|
+
additions.set(line, ` # \u8BF4\u660E\uFF1A${entry.description}\uFF1B\u53D6\u503C\uFF1A${configurationConstraint(entry.constraint)}`);
|
|
7423
|
+
}
|
|
7424
|
+
walk(pair.value, segments);
|
|
7425
|
+
}
|
|
7426
|
+
} else if (isSeq(node)) {
|
|
7427
|
+
node.items.forEach((item, index) => walk(item, [
|
|
7428
|
+
...path,
|
|
7429
|
+
String(index)
|
|
7430
|
+
]));
|
|
7431
|
+
}
|
|
7432
|
+
}
|
|
7433
|
+
walk(document.contents, []);
|
|
7434
|
+
return lines.map((line, index) => line + (additions.get(index) ?? "")).join("\n");
|
|
7435
|
+
}
|
|
7436
|
+
function readOptionalConfig(content) {
|
|
7437
|
+
const lines = content.split(/\r?\n/);
|
|
7438
|
+
const virtual = lines.map((line) => line.replace(/^(\s*)# (?=\s*(?:[A-Z][\w-]*:|-\s))/i, "$1")).join("\n");
|
|
7439
|
+
const counter = new LineCounter();
|
|
7440
|
+
const document = parseDocument(virtual, { uniqueKeys: false, lineCounter: counter });
|
|
7441
|
+
return { lines, document, counter };
|
|
6519
7442
|
}
|
|
6520
7443
|
function parameterizeConfig(name, content) {
|
|
7444
|
+
content = parameterizeOptionalConfig(name, content);
|
|
6521
7445
|
const document = parseDocument(content);
|
|
6522
7446
|
if (document.errors.length > 0)
|
|
6523
7447
|
throw new Error(`Invalid ${name} configuration template`);
|
|
6524
7448
|
if (!document.contents || isScalar(document.contents) && document.contents.value === null)
|
|
6525
7449
|
return content;
|
|
7450
|
+
let changed = false;
|
|
6526
7451
|
function walk(node, path) {
|
|
6527
7452
|
if (["templates", "supportedLocales", "id"].includes(path[0]) || path.includes("redact") || name === "audit" && /^(?:userTable|userIdColumn|userNameColumn)$/.test(path[0] ?? "") || name === "iam" && ["ui", "agreements", "rbac"].includes(path[0]) && !(path.at(-1) ?? "").endsWith("Url") || ["id", "name", "operations"].includes(path.at(-1) ?? "") && path.some((segment) => /^\d+$/.test(segment))) {
|
|
6528
7453
|
return;
|
|
6529
7454
|
}
|
|
6530
7455
|
if (isMap(node)) {
|
|
6531
7456
|
for (const pair of node.items) {
|
|
6532
|
-
if (isScalar(pair.key))
|
|
6533
|
-
walk(pair.value, [
|
|
7457
|
+
if (isScalar(pair.key)) {
|
|
7458
|
+
walk(pair.value, [
|
|
7459
|
+
...path,
|
|
7460
|
+
String(pair.key.value)
|
|
7461
|
+
]);
|
|
7462
|
+
}
|
|
6534
7463
|
}
|
|
6535
7464
|
} else if (isSeq(node)) {
|
|
6536
|
-
node.items.forEach((item, index) => walk(item, [
|
|
7465
|
+
node.items.forEach((item, index) => walk(item, [
|
|
7466
|
+
...path,
|
|
7467
|
+
String(index)
|
|
7468
|
+
]));
|
|
6537
7469
|
} else if (isScalar(node) && node.value !== null && node.value !== void 0) {
|
|
6538
7470
|
const value = String(node.value);
|
|
6539
7471
|
if (value.includes("${") || /[\n\r}]/.test(value))
|
|
@@ -6543,42 +7475,114 @@ function parameterizeConfig(name, content) {
|
|
|
6543
7475
|
const fallback = typeof node.value === "string" && value !== "" && (parsed.errors.length > 0 || !isScalar(parsed.contents) || parsed.contents.value !== value) ? JSON.stringify(value) : value;
|
|
6544
7476
|
node.value = `\${${variable}:${fallback}}`;
|
|
6545
7477
|
node.type = Scalar.PLAIN;
|
|
7478
|
+
changed = true;
|
|
7479
|
+
}
|
|
7480
|
+
}
|
|
7481
|
+
walk(document.contents, []);
|
|
7482
|
+
return changed ? document.toString({ lineWidth: 0 }) : content;
|
|
7483
|
+
}
|
|
7484
|
+
function parameterizeOptionalConfig(name, content) {
|
|
7485
|
+
const { lines, document, counter } = readOptionalConfig(content);
|
|
7486
|
+
if (document.errors.length)
|
|
7487
|
+
return content;
|
|
7488
|
+
const edits = /* @__PURE__ */ new Map();
|
|
7489
|
+
function walk(node, segments) {
|
|
7490
|
+
if (isMap(node)) {
|
|
7491
|
+
for (const pair of node.items) {
|
|
7492
|
+
if (isScalar(pair.key)) {
|
|
7493
|
+
walk(pair.value, [
|
|
7494
|
+
...segments,
|
|
7495
|
+
String(pair.key.value)
|
|
7496
|
+
]);
|
|
7497
|
+
}
|
|
7498
|
+
}
|
|
7499
|
+
} else if (isSeq(node)) {
|
|
7500
|
+
node.items.forEach((item, index) => walk(item, [
|
|
7501
|
+
...segments,
|
|
7502
|
+
String(index)
|
|
7503
|
+
]));
|
|
7504
|
+
} else if (isScalar(node) && node.range && node.value !== null && node.value !== void 0) {
|
|
7505
|
+
const location = counter.linePos(node.range[0]);
|
|
7506
|
+
const line = lines[location.line - 1];
|
|
7507
|
+
if (!/^\s*# /.test(line) || /[\n\r}]/.test(String(node.value)) || String(node.value).includes("${"))
|
|
7508
|
+
return;
|
|
7509
|
+
const field = [name, ...segments].join(".").replace(/\.\d+(?=\.|$)/g, ".0");
|
|
7510
|
+
if (!catalogByPath.has(field) || ["id", "name", "operations"].includes(segments.at(-1) ?? "") || segments.includes("templates") || segments.includes("redact"))
|
|
7511
|
+
return;
|
|
7512
|
+
const variable = ["HAI", name, ...segments].map((part) => part.replace(/[^a-z0-9]+/gi, "_").replace(/^_+|_+$/g, "").toUpperCase()).join("_");
|
|
7513
|
+
const text = String(node.value);
|
|
7514
|
+
const parsed = parseDocument(text);
|
|
7515
|
+
const fallback = typeof node.value === "string" && text !== "" && (parsed.errors.length > 0 || !isScalar(parsed.contents) || parsed.contents.value !== text) ? JSON.stringify(text) : text;
|
|
7516
|
+
const replacement = `\${${variable}:${fallback}}`;
|
|
7517
|
+
const list = edits.get(location.line - 1) ?? [];
|
|
7518
|
+
list.push({
|
|
7519
|
+
start: location.col + 1,
|
|
7520
|
+
end: location.col + 1 + node.range[1] - node.range[0],
|
|
7521
|
+
value: JSON.stringify(replacement)
|
|
7522
|
+
});
|
|
7523
|
+
edits.set(location.line - 1, list);
|
|
6546
7524
|
}
|
|
6547
7525
|
}
|
|
6548
7526
|
walk(document.contents, []);
|
|
6549
|
-
|
|
7527
|
+
for (const [index, replacements] of edits) {
|
|
7528
|
+
for (const edit of replacements.sort((a, b) => b.start - a.start))
|
|
7529
|
+
lines[index] = lines[index].slice(0, edit.start) + edit.value + lines[index].slice(edit.end);
|
|
7530
|
+
}
|
|
7531
|
+
return lines.join("\n");
|
|
6550
7532
|
}
|
|
6551
7533
|
function configEnvironmentVariables(name, content) {
|
|
6552
7534
|
const variables = /* @__PURE__ */ new Map();
|
|
6553
7535
|
const locations = /* @__PURE__ */ new Map();
|
|
7536
|
+
const activeValues = /* @__PURE__ */ new Map();
|
|
6554
7537
|
function locate(node, path) {
|
|
6555
7538
|
if (isMap(node)) {
|
|
6556
7539
|
for (const pair of node.items) {
|
|
6557
|
-
if (isScalar(pair.key))
|
|
6558
|
-
locate(pair.value, [
|
|
7540
|
+
if (isScalar(pair.key)) {
|
|
7541
|
+
locate(pair.value, [
|
|
7542
|
+
...path,
|
|
7543
|
+
String(pair.key.value)
|
|
7544
|
+
]);
|
|
7545
|
+
}
|
|
6559
7546
|
}
|
|
6560
7547
|
} else if (isSeq(node)) {
|
|
6561
|
-
node.items.forEach((item, index) => locate(item, [
|
|
7548
|
+
node.items.forEach((item, index) => locate(item, [
|
|
7549
|
+
...path,
|
|
7550
|
+
String(index)
|
|
7551
|
+
]));
|
|
6562
7552
|
} else if (isScalar(node) && typeof node.value === "string") {
|
|
6563
|
-
for (const match of node.value.matchAll(/\$\{([^}:]+)/g))
|
|
7553
|
+
for (const match of node.value.matchAll(/\$\{([^}:]+)(?::([^}]*))?\}/g)) {
|
|
6564
7554
|
locations.set(match[1], [name, ...path].join("."));
|
|
7555
|
+
if (!activeValues.has(match[1]))
|
|
7556
|
+
activeValues.set(match[1], match[2] ?? "");
|
|
7557
|
+
}
|
|
6565
7558
|
}
|
|
6566
7559
|
}
|
|
6567
7560
|
locate(parseDocument(content).contents, []);
|
|
6568
7561
|
for (const match of content.matchAll(/\$\{((?:HAI_|PUBLIC_|VITE_|AI_|OPENAI_|GEMINI_|DASHSCOPE_|ARK_|LDAP_)[A-Z0-9_]*)(?::([^}]*))?\}/g)) {
|
|
6569
7562
|
const [, variable, value = ""] = match;
|
|
7563
|
+
if (variables.has(variable))
|
|
7564
|
+
continue;
|
|
7565
|
+
const normalized = catalogByName.get(variable.replace(/_\d+(?=_|$)/g, "_0"));
|
|
7566
|
+
const entry = catalogByName.get(variable) ?? normalized;
|
|
7567
|
+
const indices = [
|
|
7568
|
+
...variable.matchAll(/_(\d+)(?=_|$)/g)
|
|
7569
|
+
].map((item) => item[1]);
|
|
7570
|
+
const catalogPath = (entry?.path === variable ? normalized?.path : entry?.path)?.replace(/\.0(?=\.|$)/g, () => `.${indices.shift() ?? "0"}`);
|
|
6570
7571
|
variables.set(variable, {
|
|
6571
7572
|
name: variable,
|
|
6572
|
-
path: locations.get(variable) ?? `${name} (${variable}\uFF0C\u53EF\u9009\u5757)`,
|
|
6573
|
-
value,
|
|
7573
|
+
path: locations.get(variable) ?? catalogPath ?? `${name} (${variable}\uFF0C\u53EF\u9009\u5757)`,
|
|
7574
|
+
value: activeValues.get(variable) ?? value,
|
|
6574
7575
|
constraint: variableConstraint(variable, value),
|
|
6575
|
-
description:
|
|
7576
|
+
description: entry?.description,
|
|
7577
|
+
optional: !locations.has(variable)
|
|
6576
7578
|
});
|
|
6577
7579
|
}
|
|
6578
|
-
return [
|
|
7580
|
+
return [
|
|
7581
|
+
...variables.values()
|
|
7582
|
+
];
|
|
6579
7583
|
}
|
|
6580
7584
|
function variableConstraint(name, value) {
|
|
6581
|
-
const known = catalogByName.get(name);
|
|
7585
|
+
const known = catalogByName.get(name) ?? catalogByName.get(name.replace(/_\d+(?=_|$)/g, "_0"));
|
|
6582
7586
|
if (known)
|
|
6583
7587
|
return known.constraint;
|
|
6584
7588
|
const enums = {
|
|
@@ -6589,7 +7593,7 @@ function variableConstraint(name, value) {
|
|
|
6589
7593
|
HAI_CACHE_TYPE: "memory | redis",
|
|
6590
7594
|
HAI_STORAGE_TYPE: "local | s3",
|
|
6591
7595
|
HAI_VECDB_TYPE: "lancedb | pgvector | qdrant | chroma",
|
|
6592
|
-
|
|
7596
|
+
HAI_AI_LLM_PROTOCOL: "chat | responses | anthropic",
|
|
6593
7597
|
HAI_DB_SSL: "MySQL\uFF1Afalse \u6216\u4E25\u683C TLS \u5BF9\u8C61\uFF08{} \u9ED8\u8BA4\u6821\u9A8C\u8BC1\u4E66\u94FE\u548C DNS \u8EAB\u4EFD\uFF09\uFF1BPostgreSQL\uFF1A\u5E03\u5C14\u503C\u3001require/prefer/allow/disable \u6216 TLS \u5BF9\u8C61",
|
|
6594
7598
|
HAI_IAM_PASSWORD_MINLENGTH: "\u6574\u6570 >= 1\uFF0C\u4E14\u4E0D\u5927\u4E8E maxLength",
|
|
6595
7599
|
HAI_IAM_PASSWORD_MAXLENGTH: "\u6574\u6570 1\u2013256\uFF0C\u4E14\u4E0D\u5C0F\u4E8E minLength",
|
|
@@ -6616,8 +7620,9 @@ function variableConstraint(name, value) {
|
|
|
6616
7620
|
return "\u6574\u6570 1\u201365535";
|
|
6617
7621
|
if (name.endsWith("TEMPERATURE"))
|
|
6618
7622
|
return "\u6570\u5B57 0\u20132";
|
|
6619
|
-
if (/^HAI_AI_.*(?:TIMEOUT|MAXTOKENS|CACHE_TTL)$/.test(name))
|
|
7623
|
+
if (/^HAI_AI_.*(?:TIMEOUT|MAXTOKENS|CACHE_TTL)$/.test(name)) {
|
|
6620
7624
|
return name.endsWith("MAXTOKENS") ? "\u6570\u5B57 > 0\uFF0C\u5355\u4F4D token" : "\u6570\u5B57 > 0\uFF0C\u5355\u4F4D\u6BEB\u79D2";
|
|
7625
|
+
}
|
|
6621
7626
|
if (name === "HAI_CACHE_DB")
|
|
6622
7627
|
return "\u6574\u6570 0\u201315";
|
|
6623
7628
|
if (name === "HAI_DB_DATABASE")
|
|
@@ -6643,18 +7648,29 @@ function runtimeEnvironmentVariables(content) {
|
|
|
6643
7648
|
const variables = /* @__PURE__ */ new Map();
|
|
6644
7649
|
for (const match of content.matchAll(/(?:process\.env|import\.meta\.env)(?:\?\.)?\.?(?:([A-Z][A-Z0-9_]+)|\[['"]([A-Z][A-Z0-9_]+)['"]\])|\$\{((?:HAI_|PUBLIC_|VITE_)[A-Z0-9_]+)(?::[^}]*)?\}/g)) {
|
|
6645
7650
|
const name = match[1] ?? match[2] ?? match[3];
|
|
6646
|
-
if (match[0].startsWith("import.meta.env") && [
|
|
7651
|
+
if (match[0].startsWith("import.meta.env") && [
|
|
7652
|
+
"SSR",
|
|
7653
|
+
"MODE",
|
|
7654
|
+
"DEV",
|
|
7655
|
+
"PROD",
|
|
7656
|
+
"BASE_URL"
|
|
7657
|
+
].includes(name)) {
|
|
6647
7658
|
continue;
|
|
7659
|
+
}
|
|
6648
7660
|
const variable = catalogByName.get(name);
|
|
6649
7661
|
if (variable)
|
|
6650
7662
|
variables.set(name, variable);
|
|
6651
7663
|
}
|
|
6652
|
-
return [
|
|
7664
|
+
return [
|
|
7665
|
+
...variables.values()
|
|
7666
|
+
];
|
|
6653
7667
|
}
|
|
6654
7668
|
|
|
6655
7669
|
// src/commands/cli-config-templates.ts
|
|
6656
|
-
function generateConfigFile(moduleKey, configs) {
|
|
6657
|
-
|
|
7670
|
+
function generateConfigFile(moduleKey, configs, enabled = true) {
|
|
7671
|
+
const content = documentConfig(moduleKey, parameterizeConfig(moduleKey, generateLiteralConfigFile(moduleKey, configs)));
|
|
7672
|
+
return enabled ? content : `# # \u672A\u542F\u7528\uFF1A\u5B89\u88C5\u5BF9\u5E94\u6A21\u5757\u5E76\u5728\u670D\u52A1\u7AEF runtime \u4E2D\u521D\u59CB\u5316\uFF0C\u518D\u53D6\u6D88\u6240\u9700\u914D\u7F6E\u7684\u6CE8\u91CA\u3002
|
|
7673
|
+
${content.split("\n").map((line) => line ? `# ${line}` : "").join("\n")}`;
|
|
6658
7674
|
}
|
|
6659
7675
|
function generateLiteralConfigFile(moduleKey, configs) {
|
|
6660
7676
|
switch (moduleKey) {
|
|
@@ -6709,6 +7725,8 @@ logging:
|
|
|
6709
7725
|
format: pretty
|
|
6710
7726
|
# context:
|
|
6711
7727
|
# service: api
|
|
7728
|
+
# redact \u586B\u65E5\u5FD7\u5B57\u6BB5\u8DEF\u5F84\uFF1Bcustomer.email \u906E\u76D6\u5BA2\u6237\u90AE\u7BB1\uFF0Crecipients[*].phone \u906E\u76D6\u6570\u7EC4\u4E2D\u7684\u7535\u8BDD\u3002
|
|
7729
|
+
# \u53EA\u5339\u914D\u6307\u5B9A\u5C42\u7EA7\uFF0C* \u5339\u914D\u4E00\u5C42\uFF1B\u5BC6\u7801\u548C\u4EE4\u724C\u7B49\u5DF2\u77E5\u51ED\u636E\u9ED8\u8BA4\u4ECD\u4F1A\u8131\u654F\u3002
|
|
6712
7730
|
redact:
|
|
6713
7731
|
- password
|
|
6714
7732
|
- token
|
|
@@ -6745,22 +7763,24 @@ http:
|
|
|
6745
7763
|
access: false
|
|
6746
7764
|
# access:
|
|
6747
7765
|
# file: ./config/security/request-access.yml
|
|
7766
|
+
# \u6216\u5C06 access: false \u66FF\u6362\u4E3A\u4E0B\u5217\u5185\u8054\u914D\u7F6E\uFF1B\u4E0E file \u4E8C\u9009\u4E00\u3002
|
|
7767
|
+
# access:
|
|
7768
|
+
# global:
|
|
7769
|
+
# timezone: UTC # \u53EF\u7528 HAI_SERV_HTTP_ACCESS_GLOBAL_TIMEZONE=Asia/Shanghai
|
|
7770
|
+
# allowIps: []
|
|
7771
|
+
# denyIps: []
|
|
7772
|
+
# windows: []
|
|
7773
|
+
# rules: []
|
|
6748
7774
|
apiPrefix: /api/v1
|
|
6749
7775
|
openapi:
|
|
6750
7776
|
path: /openapi.json
|
|
7777
|
+
# HAI_SERV_HTTP_DOCS=false \u5173\u95ED\u6587\u6863\uFF1B\u5F00\u542F\u65F6\u518D\u914D\u7F6E path/requireAuth\u3002
|
|
6751
7778
|
docs:
|
|
6752
7779
|
path: /docs
|
|
6753
7780
|
# requireAuth: true
|
|
6754
7781
|
health:
|
|
6755
7782
|
path: /health
|
|
6756
7783
|
readyPath: /ready
|
|
6757
|
-
rpc: false
|
|
6758
|
-
# \u542F\u7528\u5185\u90E8 RPC \u65F6\u7528\u5BF9\u8C61\u66FF\u6362 false\uFF0Cgateway-only \u5FC5\u987B\u914D\u7F6E\u7F51\u5173\u5BC6\u94A5\u3002
|
|
6759
|
-
# rpc:
|
|
6760
|
-
# prefix: /api/rpc
|
|
6761
|
-
# access: gateway-only # loopback | private-network | gateway-only
|
|
6762
|
-
# gatewayHeader: X-Gateway-Key
|
|
6763
|
-
# gatewaySecret: \${HAI_SERV_HTTP_RPC_GATEWAYSECRET}
|
|
6764
7784
|
|
|
6765
7785
|
# \u6309\u9700\u5F00\u542F\u8DE8\u57DF\u8BBF\u95EE\uFF0C\u751F\u4EA7\u73AF\u5883\u586B\u5199\u660E\u786E\u7684 Origin\u3002
|
|
6766
7786
|
# cors:
|
|
@@ -6776,6 +7796,9 @@ transport: false
|
|
|
6776
7796
|
# maxPlaintextBytes: \${HAI_SERV_TRANSPORT_MAXPLAINTEXTBYTES:1048576} # \u53CC\u5411 UTF-8 \u660E\u6587\uFF0C1 KiB\uFF5E64 MiB
|
|
6777
7797
|
# keyExchangePath: /_hai/key-exchange
|
|
6778
7798
|
# excludePaths: [/health, /ready]
|
|
7799
|
+
# \u5355\u6761\u8DEF\u5F84\u9700\u8981\u66F4\u5927\u8BF7\u6C42\u4F53\u65F6\u586B\u5199\u5B57\u8282\u6570\uFF0C* \u53EA\u5339\u914D\u4E00\u6BB5\u8DEF\u5F84\u3002
|
|
7800
|
+
# routePlaintextBytes: # HAI_SERV_TRANSPORT_ROUTEPLAINTEXTBYTES \u53EF\u586B JSON \u8DEF\u5F84\u6620\u5C04
|
|
7801
|
+
# /api/v1/uploads/*: 8388608
|
|
6779
7802
|
`;
|
|
6780
7803
|
}
|
|
6781
7804
|
function generateDbConfig(cfg) {
|
|
@@ -6797,7 +7820,7 @@ function generateDbConfig(cfg) {
|
|
|
6797
7820
|
# MySQL \u4E13\u7528\uFF1BPostgreSQL \u65E0\u9700\u6B64\u5757\u3002
|
|
6798
7821
|
# mysql:
|
|
6799
7822
|
# charset: utf8mb4
|
|
6800
|
-
#
|
|
7823
|
+
# MySQL \u4E0D\u652F\u6301 timezone \u914D\u7F6E\uFF1B\u4E0D\u8981\u5728 mysql \u5757\u5185\u586B\u5199\u8BE5\u5B57\u6BB5\u3002`;
|
|
6801
7824
|
return `# =============================================================================
|
|
6802
7825
|
# \u6570\u636E\u5E93\u914D\u7F6E
|
|
6803
7826
|
# =============================================================================
|
|
@@ -6813,7 +7836,7 @@ url: \${HAI_DB_URL:}
|
|
|
6813
7836
|
ssl: \${HAI_DB_SSL:false}
|
|
6814
7837
|
${networkOptions}
|
|
6815
7838
|
|
|
6816
|
-
#
|
|
7839
|
+
# \u64CD\u4F5C\u65E5\u5FD7\u6309\u9700\u5F00\u542F\uFF0C\u53EA\u8BB0\u5F55\u8017\u65F6\u3001\u6570\u91CF\u7B49\u5B89\u5168\u6458\u8981\uFF1BmaxLength \u9650\u5236\u6458\u8981\u957F\u5EA6\uFF0C\u4E0D\u8BB0\u5F55 SQL \u539F\u6587\u548C\u53C2\u6570\u3002
|
|
6817
7840
|
# operationLog:
|
|
6818
7841
|
# read: false
|
|
6819
7842
|
# write: false
|
|
@@ -6825,7 +7848,12 @@ function generateCacheConfig(cfg) {
|
|
|
6825
7848
|
const cacheType = cfg?.type ?? "memory";
|
|
6826
7849
|
const host = cfg?.host ?? "localhost";
|
|
6827
7850
|
const port = cfg?.port ?? 6379;
|
|
6828
|
-
const connection = stringify({
|
|
7851
|
+
const connection = stringify({
|
|
7852
|
+
host,
|
|
7853
|
+
port,
|
|
7854
|
+
password: "",
|
|
7855
|
+
keyPrefix: "hai:"
|
|
7856
|
+
}).trim();
|
|
6829
7857
|
return `# =============================================================================
|
|
6830
7858
|
# \u7F13\u5B58\u914D\u7F6E
|
|
6831
7859
|
# =============================================================================
|
|
@@ -6903,7 +7931,7 @@ captcha:
|
|
|
6903
7931
|
# apikey:
|
|
6904
7932
|
# maxKeysPerUser: 10
|
|
6905
7933
|
# defaultExpirationDays: 0 # 0 \u8868\u793A\u4E0D\u9650\u5236\u6709\u6548\u671F
|
|
6906
|
-
# prefix: hai_
|
|
7934
|
+
# prefix: hai_ # \u65B0\u5EFA API Key \u7684\u5F00\u5934\uFF0C\u4F8B\u5982 hai_abc123\uFF1B\u53EA\u586B\u5E94\u7528\u6807\u8BC6\uFF0C\u4E0D\u653E\u5BC6\u7801\u3002
|
|
6907
7935
|
# OTP \u9700\u542F\u7528 login.otp\uFF0C\u5E76\u9009\u62E9 Reach \u6807\u51C6\u6A21\u677F\u6216\u81EA\u5B9A\u4E49\u53D1\u9001\u56DE\u8C03\u3002
|
|
6908
7936
|
${(loginOtp ? "" : "# \u4FDD\u7559\u9ED8\u8BA4\u7B56\u7565\u5165\u53E3\uFF0C\u5355\u72EC\u5207\u6362 login.otp \u5373\u53EF\u542F\u7528\u9A8C\u8BC1\u7801\u767B\u5F55\u3002\notp: {}\n# \u5B9A\u5236\u7B56\u7565\u65F6\u7528\u4E0B\u65B9\u914D\u7F6E\u5757\u66FF\u6362\u7A7A\u5BF9\u8C61\uFF0C\u6216\u901A\u8FC7 HAI_IAM_OTP \u6574\u4F53\u8986\u76D6\u3002\n") + `otp:
|
|
6909
7937
|
email: true
|
|
@@ -6967,7 +7995,12 @@ loginAccess:
|
|
|
6967
7995
|
timezone: UTC
|
|
6968
7996
|
allowIps: [] # \u7A7A\u5217\u8868\u4E0D\u9650\u5236\uFF1B\u652F\u6301 IPv4\u3001IPv6 \u4E0E CIDR
|
|
6969
7997
|
denyIps: [] # \u62D2\u7EDD\u4F18\u5148
|
|
6970
|
-
windows: [] #
|
|
7998
|
+
windows: [] # \u7559\u7A7A\u5141\u8BB8\u4EFB\u4F55\u65F6\u95F4\uFF1B\u4EE5\u4E0B\u4F8B\u5B50\u53EA\u5141\u8BB8\u5468\u4E00\u81F3\u5468\u4E94 09:00\u201318:00 \u767B\u5F55\u3002
|
|
7999
|
+
# windows:
|
|
8000
|
+
# - days: [1, 2, 3, 4, 5]
|
|
8001
|
+
# start: '09:00'
|
|
8002
|
+
# end: '18:00'
|
|
8003
|
+
# timezone \u8BBE\u4E3A Asia/Shanghai \u65F6\uFF0C\u4E0A\u8FF0\u65F6\u95F4\u6309\u5317\u4EAC\u65F6\u95F4\u89E3\u91CA\u3002
|
|
6971
8004
|
|
|
6972
8005
|
# \u4F1A\u8BDD\u914D\u7F6E
|
|
6973
8006
|
session:
|
|
@@ -6978,7 +8011,11 @@ session:
|
|
|
6978
8011
|
singleDeviceMode: replace # replace \u9876\u65E7\u4FDD\u65B0\uFF1Breject \u62D2\u7EDD\u91CD\u590D\u767B\u5F55
|
|
6979
8012
|
maxSessions: 0 # \u6BCF\u7528\u6237\u6709\u6548\u4F1A\u8BDD\u4E0A\u9650\uFF0C0 \u4E0D\u9650\u5236
|
|
6980
8013
|
# \u6309\u7EC8\u7AEF\u5206\u522B\u9650\u5236\uFF1B\u975E\u7A7A\u65F6\u4EC5\u5141\u8BB8\u5217\u51FA\u7684\u7C7B\u578B\uFF0C\u4ECD\u53D7\u5168\u5C40\u6700\u5927\u4F1A\u8BDD\u6570\u7EA6\u675F\u3002
|
|
6981
|
-
terminalLimits: {}
|
|
8014
|
+
terminalLimits: {} # \u7559\u7A7A\u4E0D\u6309\u7EC8\u7AEF\u9650\u5236\u3002\u4E0B\u9762\u4F8B\u5B50\u5141\u8BB8 web 2 \u4E2A\u3001app 1 \u4E2A\uFF0C\u5176\u4F59\u7EC8\u7AEF\u4E0D\u5141\u8BB8\u65B0\u767B\u5F55\u3002
|
|
8015
|
+
# terminalLimits:
|
|
8016
|
+
# web: 2
|
|
8017
|
+
# app: 1
|
|
8018
|
+
# \u524D\u7AEF\u53D1\u9001\u7684\u7EC8\u7AEF\u540D\u79F0\u5FC5\u987B\u4E0E\u952E\u540D\u76F8\u540C\uFF1B\u6B64\u9650\u5236\u540C\u65F6\u53D7 maxSessions \u7EA6\u675F\u3002
|
|
6982
8019
|
terminalLimitMode: reject
|
|
6983
8020
|
idleTimeout: 0 # \u95F2\u7F6E\u671F\u9650\uFF08\u79D2\uFF09\uFF0C0 \u5173\u95ED\uFF1Baccess/refresh \u5747\u6267\u884C
|
|
6984
8021
|
absoluteTimeout: 0 # \u4ECE\u9996\u6B21\u767B\u5F55\u8D77\u7684\u7EDD\u5BF9\u671F\u9650\uFF08\u79D2\uFF09\uFF0C0 \u5173\u95ED
|
|
@@ -7012,8 +8049,9 @@ accessKeyId: ''
|
|
|
7012
8049
|
secretAccessKey: ''
|
|
7013
8050
|
endpoint: \${HAI_STORAGE_ENDPOINT:https://s3.amazonaws.com}
|
|
7014
8051
|
forcePathStyle: false
|
|
7015
|
-
#
|
|
7016
|
-
#
|
|
8052
|
+
# \u53EF\u76F4\u63A5\u8BBE\u7F6E HAI_STORAGE_PREFIX=my-app/uploads/\uFF1B\u4FDD\u5B58 report.pdf \u540E\u7684\u952E\u540D\u4E3A my-app/uploads/report.pdf\u3002
|
|
8053
|
+
# prefix: "\${HAI_STORAGE_PREFIX:}"
|
|
8054
|
+
# publicEndpoint: https://app.example.com # \u6D4F\u89C8\u5668\u4E0B\u8F7D\u5165\u53E3\uFF0C\u53EF\u5E26 /files \u7B49\u4EE3\u7406\u76EE\u5F55\uFF1B\u4E0D\u542B\u6876\u540D
|
|
7017
8055
|
# publicUrl: https://cdn.example.com`;
|
|
7018
8056
|
return `# \u5B58\u50A8\u914D\u7F6E\uFF1BHAI_STORAGE \u53EF\u6574\u4F53\u66FF\u6362\u8FDE\u63A5\u914D\u7F6E\u3002
|
|
7019
8057
|
type: ${type}
|
|
@@ -7037,7 +8075,7 @@ function generateAiConfig(cfg) {
|
|
|
7037
8075
|
# AI \u914D\u7F6E
|
|
7038
8076
|
# =============================================================================
|
|
7039
8077
|
|
|
7040
|
-
#
|
|
8078
|
+
# \u5BF9\u8BDD\u6A21\u578B\uFF08\u4F7F\u7528\u5BF9\u8BDD\u529F\u80FD\u65F6\u914D\u7F6E\uFF09
|
|
7041
8079
|
llm:
|
|
7042
8080
|
# API Key\uFF08\u7EA6\u5B9A\u73AF\u5883\u53D8\u91CF HAI_AI_LLM_APIKEY \u4F18\u5148\uFF09
|
|
7043
8081
|
apiKey: ''
|
|
@@ -7045,7 +8083,7 @@ llm:
|
|
|
7045
8083
|
# baseUrl: https://api.openai.com/v1
|
|
7046
8084
|
# \u9ED8\u8BA4\u6A21\u578B
|
|
7047
8085
|
${stringify({ model }).trim().split("\n").map((line) => ` ${line}`).join("\n")}
|
|
7048
|
-
|
|
8086
|
+
protocol: ${api} # \u8BF7\u6C42\u683C\u5F0F\uFF1AOpenAI \u517C\u5BB9\u9009 chat\uFF0CResponses \u9009 responses\uFF0CClaude Messages \u9009 anthropic\u3002
|
|
7049
8087
|
# \u5168\u5C40\u6700\u5927 Token \u6570\uFF08\u9ED8\u8BA4 4096\uFF09
|
|
7050
8088
|
# maxTokens: 4096
|
|
7051
8089
|
# \u91C7\u6837\u6E29\u5EA6\uFF080-2\uFF0C\u9ED8\u8BA4 0.7\uFF09
|
|
@@ -7054,21 +8092,34 @@ ${stringify({ model }).trim().split("\n").map((line) => ` ${line}`).join("\n")}
|
|
|
7054
8092
|
# timeout: 60000
|
|
7055
8093
|
# tempModelCacheTtl: 600000
|
|
7056
8094
|
|
|
7057
|
-
# \u591A\u6A21\u578B\u914D\u7F6E\
|
|
8095
|
+
# \u591A\u6A21\u578B\u914D\u7F6E\uFF1Aid \u662F\u5E94\u7528\u4E2D\u7684\u77ED\u540D\uFF0Cmodel \u662F\u4F9B\u5E94\u5546\u7684\u771F\u5B9E\u578B\u53F7\u3002\u5404\u9879\u53EF\u5355\u72EC\u8BBE\u7F6E\u534F\u8BAE\u3001\u5730\u5740\u548C\u5BC6\u94A5\u3002
|
|
7058
8096
|
# models:
|
|
7059
8097
|
# - id: fast
|
|
7060
8098
|
# model: gpt-4o-mini
|
|
7061
|
-
#
|
|
8099
|
+
# protocol: chat
|
|
7062
8100
|
# apiKey: ''
|
|
7063
8101
|
# baseUrl: https://api.openai.com/v1
|
|
7064
8102
|
# maxTokens: 4096
|
|
7065
8103
|
# temperature: 0.7
|
|
7066
8104
|
# timeout: 60000
|
|
8105
|
+
# capabilities: # \u80FD\u529B\u6765\u81EA\u4F9B\u5E94\u5546\u786E\u8BA4\uFF1B\u672A\u77E5\u65F6\u7701\u7565\uFF0C\u4E0D\u80FD\u7528 maxTokens \u9884\u7B97\u731C\u5BB9\u91CF\u3002
|
|
8106
|
+
# contextWindow: 128000
|
|
8107
|
+
# maxOutputTokens: 16384
|
|
8108
|
+
# inputModalities: [text, image]
|
|
8109
|
+
# outputModalities: [text]
|
|
8110
|
+
# toolCalling: true
|
|
8111
|
+
# reasoning:
|
|
8112
|
+
# supported: false
|
|
7067
8113
|
# - id: smart
|
|
7068
8114
|
# model: gpt-4o
|
|
7069
8115
|
# apiKey: ''
|
|
8116
|
+
# - id: coding # Codex \u4F7F\u7528\u72EC\u7ACB\u7684 Responses \u7AEF\u70B9\uFF1B\u6309\u5B9E\u9645\u670D\u52A1\u586B\u5199\u578B\u53F7\u3001\u5730\u5740\u548C\u5BC6\u94A5\u3002
|
|
8117
|
+
# model: your-coding-model
|
|
8118
|
+
# protocol: responses
|
|
8119
|
+
# baseUrl: https://your-responses-service.example/v1
|
|
8120
|
+
# apiKey: ''
|
|
7070
8121
|
|
|
7071
|
-
# \u573A\u666F\u6A21\u578B\u6620\u5C04\
|
|
8122
|
+
# \u573A\u666F\u6A21\u578B\u6620\u5C04\uFF1A\u666E\u901A\u5BF9\u8BDD\u7528 fast\uFF0C\u590D\u6742\u63A8\u7406\u7528 smart\uFF1B\u503C\u5BF9\u5E94\u4E0A\u65B9 models \u7684 id\u3002
|
|
7072
8123
|
# scenarios:
|
|
7073
8124
|
# default: fast
|
|
7074
8125
|
# chat: fast
|
|
@@ -7084,7 +8135,39 @@ ${stringify({ model }).trim().split("\n").map((line) => ` ${line}`).join("\n")}
|
|
|
7084
8135
|
# embedding / rerank / vision \u987B\u5728 models \u4E2D\u58F0\u660E\u5BF9\u5E94\u5382\u5546\u6A21\u578B\uFF0C\u4E0D\u80FD\u53EA\u586B\u5199\u573A\u666F ID\u3002
|
|
7085
8136
|
|
|
7086
8137
|
# \u53EF\u9009\u5B50\u6A21\u5757\u53EA\u53D6\u6D88\u9700\u8981\u7684\u5757\uFF1B\u751F\u4EA7\u73AF\u5883\u5148\u521D\u59CB\u5316\u5171\u4EAB\u6570\u636E\u5E93\u4E0E\u7F51\u7EDC\u5411\u91CF\u5E93\uFF0C\u518D\u521D\u59CB\u5316 AI\u3002
|
|
8138
|
+
# ACP \u4EC5\u670D\u52A1\u7AEF\u4F7F\u7528\uFF1Bagents/workspaces \u53EF\u5199\u914D\u7F6E\u6216\u901A\u8FC7 ai.acp \u4FDD\u5B58\u6570\u636E\u5E93\uFF0C\u914D\u7F6E\u540C ID \u4F18\u5148\u4E14\u53EA\u8BFB\u3002
|
|
8139
|
+
# \u6A21\u578B\u3001MCP\u3001\u68C0\u7D22\u6E90\u6E05\u5355\u540C\u6837\u5408\u5E76\u4E24\u4EFD\u6765\u6E90\uFF0C\u8BE6\u89C1 .agents/skills/hai-ai/resources.md\u3002
|
|
8140
|
+
# embedded \u5728\u672C\u673A\u8FD0\u884C\u539F\u751F\u8FDB\u7A0B\uFF1Bbuiltin-service \u4F7F\u7528 Podman \u4F18\u5148\u7684\u5BB9\u5668\u548C\u6301\u4E45 volume\uFF1B
|
|
8141
|
+
# custom-service \u8FDE\u63A5\u539F\u751F HTTP/WS \u670D\u52A1\uFF0C\u4E0D\u6CE8\u5165\u6A21\u578B\u3002\u8BE6\u89C1 .agents/skills/hai-ai/acp.md\u3002
|
|
8142
|
+
# acp:
|
|
8143
|
+
# requestTimeout: 30000
|
|
8144
|
+
# promptTimeout: 600000
|
|
8145
|
+
# cancelTimeout: 5000
|
|
8146
|
+
# maxContentBytes: 8388608
|
|
8147
|
+
# maxPendingEvents: 1024
|
|
8148
|
+
# agents:
|
|
8149
|
+
# - id: coder
|
|
8150
|
+
# name: Codex
|
|
8151
|
+
# mode: embedded
|
|
8152
|
+
# adapter: codex
|
|
8153
|
+
# modelIds: [coding]
|
|
8154
|
+
# workspaces:
|
|
8155
|
+
# - id: project
|
|
8156
|
+
# storage:
|
|
8157
|
+
# type: directory
|
|
8158
|
+
# path: /srv/projects/project
|
|
8159
|
+
# repositories:
|
|
8160
|
+
# - id: api
|
|
8161
|
+
# url: https://git.example.com/team/api.git
|
|
8162
|
+
# mainBranch: trunk
|
|
7087
8163
|
# mcp:
|
|
8164
|
+
# servers:
|
|
8165
|
+
# - id: docs
|
|
8166
|
+
# name: Docs
|
|
8167
|
+
# transport: stdio
|
|
8168
|
+
# command: docs-mcp
|
|
8169
|
+
# environmentRefs:
|
|
8170
|
+
# API_TOKEN: DOCS_API_TOKEN
|
|
7088
8171
|
# server:
|
|
7089
8172
|
# name: my-app
|
|
7090
8173
|
# version: 1.0.0
|
|
@@ -7205,12 +8288,38 @@ ${stringify({ model }).trim().split("\n").map((line) => ` ${line}`).join("\n")}
|
|
|
7205
8288
|
`;
|
|
7206
8289
|
}
|
|
7207
8290
|
function generateEnvExample(features, configs, includeDisabled = false, configContents = {}) {
|
|
7208
|
-
const keys = /* @__PURE__ */ new Set([
|
|
7209
|
-
|
|
8291
|
+
const keys = /* @__PURE__ */ new Set([
|
|
8292
|
+
"core",
|
|
8293
|
+
...["serv", "kit"].filter((key) => configContents[key]),
|
|
8294
|
+
...features.filter((feature) => ![
|
|
8295
|
+
"crypto",
|
|
8296
|
+
"api-client",
|
|
8297
|
+
"capacitor",
|
|
8298
|
+
"datapipe"
|
|
8299
|
+
].includes(feature))
|
|
8300
|
+
]);
|
|
8301
|
+
const allKeys = [
|
|
8302
|
+
"core",
|
|
8303
|
+
"serv",
|
|
8304
|
+
"kit",
|
|
8305
|
+
"crypto",
|
|
8306
|
+
"db",
|
|
8307
|
+
"cache",
|
|
8308
|
+
"iam",
|
|
8309
|
+
"storage",
|
|
8310
|
+
"ai",
|
|
8311
|
+
"vecdb",
|
|
8312
|
+
"reach",
|
|
8313
|
+
"payment",
|
|
8314
|
+
"scheduler",
|
|
8315
|
+
"deploy",
|
|
8316
|
+
"audit",
|
|
8317
|
+
"feedback"
|
|
8318
|
+
];
|
|
7210
8319
|
const sections = [`# Environment configuration
|
|
7211
8320
|
# .env / .env.dev / .env.test / .env.prod are public configuration tracked in Git.
|
|
7212
8321
|
# .env.local is private to this machine and ignored by Git.
|
|
7213
|
-
# Priority: process environment > .env.local > .env.<
|
|
8322
|
+
# Priority: process environment > .env.<mode>.local > .env.local > .env.<mode> > .env > YAML.
|
|
7214
8323
|
# Naming: HAI_<CONFIG>_<PATH>; camelCase stays joined (apiKey -> APIKEY); arrays use zero-based indexes.
|
|
7215
8324
|
# PUBLIC_ / VITE_ variables are visible in browsers and must never contain secrets.
|
|
7216
8325
|
# YAML declares references and local fallbacks; constraints are validated by module Schemas.
|
|
@@ -7220,16 +8329,22 @@ function generateEnvExample(features, configs, includeDisabled = false, configCo
|
|
|
7220
8329
|
if (!keys.has(key) && !includeDisabled)
|
|
7221
8330
|
continue;
|
|
7222
8331
|
const variables = configEnvironmentVariables(key, configContents[key] ?? generateConfigFile(key, configs));
|
|
7223
|
-
const section = renderEnvironment(variables);
|
|
8332
|
+
const section = renderEnvironment(variables.filter((variable) => !variable.optional));
|
|
8333
|
+
const declaredOptional = renderEnvironment(variables.filter((variable) => variable.optional));
|
|
7224
8334
|
const activeNames = new Set(variables.map((variable) => variable.name));
|
|
7225
|
-
const
|
|
8335
|
+
const candidates = moduleEnvironmentVariables(key);
|
|
8336
|
+
const primitiveArrays = candidates.filter((variable) => variable.constraint.includes("JSON \u6570\u7EC4") && candidates.some((child) => child.name === `${variable.name}_0` && !child.constraint.includes("JSON \u5BF9\u8C61")));
|
|
8337
|
+
const optional = renderEnvironment(candidates.filter((variable) => !activeNames.has(variable.name) && !primitiveArrays.some((parent) => variable.name.startsWith(`${parent.name}_`)) && !variables.some((child) => child.name.startsWith(`${variable.name}_`) && (variable.constraint.includes("JSON \u5BF9\u8C61") || variable.constraint.includes("JSON \u6570\u7EC4")) && !variable.constraint.includes("false")) && (!(variable.constraint.includes("JSON \u5BF9\u8C61") || variable.constraint.includes("JSON \u6570\u7EC4")) || variable.constraint.includes("false") || !candidates.some((child) => child.name.startsWith(`${variable.name}_`)) || primitiveArrays.includes(variable))));
|
|
7226
8338
|
const commented = (value) => value.split("\n").map((line) => line && !line.startsWith("#") ? `# ${line}` : line).join("\n");
|
|
7227
8339
|
sections.push(`# --- ${key} ---
|
|
7228
8340
|
${keys.has(key) ? section : commented(section)}
|
|
7229
8341
|
|
|
7230
|
-
# \u53EF\u9009\u5B57\u6BB5\uFF1A\u5148\
|
|
8342
|
+
# \u53EF\u9009\u5B57\u6BB5\uFF1A\u5148\u5728 YAML \u4E2D\u542F\u7528\u5BF9\u5E94\u914D\u7F6E\u5757\uFF1B\u4E0B\u5217\u53D8\u91CF\u540D\u4E0E\u5B57\u6BB5\u8DEF\u5F84\u4E00\u4E00\u5BF9\u5E94\u3002
|
|
8343
|
+
${commented(declaredOptional)}
|
|
7231
8344
|
${commented(optional)}`);
|
|
7232
8345
|
}
|
|
8346
|
+
if (includeDisabled)
|
|
8347
|
+
sections.push("# \u670D\u52A1\u7AEF\u4F20\u8F93\u5BC6\u94A5\u73AF\uFF1A\u542F\u7528 crypto transport \u540E\uFF0C\u901A\u8FC7\u79C1\u6709\u73AF\u5883\u6CE8\u5165\u7248\u672C\u5316 JSON\uFF1B\u4E0D\u5F97\u4E0B\u53D1\u5230\u6D4F\u89C8\u5668\u3002\n# HAI_CRYPTO_TRANSPORT_SERVERKEYRING=");
|
|
7233
8348
|
return `${sections.join("\n\n")}
|
|
7234
8349
|
`;
|
|
7235
8350
|
}
|
|
@@ -7248,7 +8363,14 @@ function generateProductionEnvironment(features, configs) {
|
|
|
7248
8363
|
if (enabled.has("db")) {
|
|
7249
8364
|
const mysql = configs?.db?.type === "mysql";
|
|
7250
8365
|
const database = configs?.db?.type !== "sqlite" && configs?.db?.database ? configs.db.database : "hai";
|
|
7251
|
-
sections.push("", "# \u5FC5\u987B\u79C1\u6709\u6CE8\u5165 HAI_DB_PASSWORD\uFF1B\u5916\u90E8\u6570\u636E\u5E93\u53EF\u8986\u76D6\u4E0B\u5217\u8FDE\u63A5\u5B57\u6BB5\u3002", `HAI_DB_TYPE=${mysql ? "mysql" : "postgresql"}`, "HAI_DB_HOST=db", `HAI_DB_PORT=${mysql ? 3306 : 5432}`, renderEnvironment([
|
|
8366
|
+
sections.push("", "# \u5FC5\u987B\u79C1\u6709\u6CE8\u5165 HAI_DB_PASSWORD\uFF1B\u5916\u90E8\u6570\u636E\u5E93\u53EF\u8986\u76D6\u4E0B\u5217\u8FDE\u63A5\u5B57\u6BB5\u3002", `HAI_DB_TYPE=${mysql ? "mysql" : "postgresql"}`, "HAI_DB_HOST=db", `HAI_DB_PORT=${mysql ? 3306 : 5432}`, renderEnvironment([
|
|
8367
|
+
{
|
|
8368
|
+
name: "HAI_DB_DATABASE",
|
|
8369
|
+
path: "db.database",
|
|
8370
|
+
value: database,
|
|
8371
|
+
constraint: "\u751F\u4EA7\u6570\u636E\u5E93\u540D"
|
|
8372
|
+
}
|
|
8373
|
+
]), `HAI_DB_USER=${mysql ? "root" : "postgres"}`);
|
|
7252
8374
|
}
|
|
7253
8375
|
if (enabled.has("cache"))
|
|
7254
8376
|
sections.push("", "# \u5FC5\u987B\u79C1\u6709\u6CE8\u5165 HAI_CACHE_PASSWORD\u3002", "HAI_CACHE_TYPE=redis", "HAI_CACHE_HOST=cache", "HAI_CACHE_PORT=6379");
|
|
@@ -7260,7 +8382,7 @@ function generateProductionEnvironment(features, configs) {
|
|
|
7260
8382
|
if (enabled.has("ai"))
|
|
7261
8383
|
sections.push("", "# \u5FC5\u987B\u79C1\u6709\u6CE8\u5165 HAI_AI_LLM_APIKEY \u53CA\u6240\u9009\u6A21\u578B\u7684\u5176\u5B83\u51ED\u636E\uFF1BAI \u81EA\u52A8\u590D\u7528\u5DF2\u521D\u59CB\u5316\u7684\u5171\u4EAB db/vecdb\u3002");
|
|
7262
8384
|
if (enabled.has("reach")) {
|
|
7263
|
-
sections.push("", "# \
|
|
8385
|
+
sections.push("", "# \u5728 .env.prod.local \u6216\u90E8\u7F72\u8FDB\u7A0B\u4E2D\u7528 HAI_REACH_PROVIDERS \u6CE8\u5165\u5B8C\u6574\u7684\u751F\u4EA7\u901A\u77E5 Provider JSON\u3002", "# \u7A7A\u6570\u7EC4\u6709\u610F\u8BA9\u5E94\u7528\u62D2\u7EDD\u542F\u52A8\u3002\u53EA\u6709\u5B8C\u6574\u5217\u8868\u4E2D\u5DF2\u6709\u7684\u9879\u624D\u80FD\u4F7F\u7528\u7D22\u5F15\u73AF\u5883\u53D8\u91CF\u8986\u76D6\u3002", "HAI_REACH_PROVIDERS='[]'");
|
|
7264
8386
|
}
|
|
7265
8387
|
return `${sections.join("\n")}
|
|
7266
8388
|
`;
|
|
@@ -7276,6 +8398,16 @@ provider:
|
|
|
7276
8398
|
expose:
|
|
7277
8399
|
hostPort: 18080
|
|
7278
8400
|
containerPort: 3000
|
|
8401
|
+
# HTTPS \u4E5F\u53EF\u5728 pnpm run deploy \u7684\u53EF\u9009\u8BC1\u4E66\u73AF\u8282\u4E2D\u914D\u7F6E\u3002
|
|
8402
|
+
# https:
|
|
8403
|
+
# type: files
|
|
8404
|
+
# domain: app.example.com
|
|
8405
|
+
# port: 443
|
|
8406
|
+
# redirectHttp: true
|
|
8407
|
+
# certificateFile: .hai/certificates/fullchain.pem
|
|
8408
|
+
# privateKeyFile: .hai/certificates/privkey.pem
|
|
8409
|
+
# Let's Encrypt\uFF1Atype \u6539\u4E3A letsencrypt\uFF0CHTTP hostPort \u8BBE\u4E3A 80\uFF1B
|
|
8410
|
+
# \u4EE5 email \u548C acceptTerms: true \u66FF\u4EE3\u4E24\u4E2A\u6587\u4EF6\u8DEF\u5F84\u3002
|
|
7279
8411
|
|
|
7280
8412
|
container:
|
|
7281
8413
|
s3Engine: \${HAI_DEPLOY_CONTAINER_S3ENGINE:rustfs} # rustfs | minio
|
|
@@ -7348,7 +8480,10 @@ providers:
|
|
|
7348
8480
|
- name: console_dev
|
|
7349
8481
|
type: console
|
|
7350
8482
|
|
|
7351
|
-
|
|
8483
|
+
# \u751F\u4EA7\u793A\u4F8B\uFF1A\u7528\u4E0B\u9762 providers \u6574\u6BB5\u66FF\u6362\u4E0A\u65B9\u63A7\u5236\u53F0\u5217\u8868\uFF1B\u4FDD\u7559\u9700\u8981\u7684\u9879\u3002
|
|
8484
|
+
# \u6570\u7EC4\u7D22\u5F15\u4ECE 0 \u5F00\u59CB\uFF0C\u5220\u6389\u67D0\u9879\u540E\u540C\u6B65\u4FEE\u6539\u5176\u4F59\u73AF\u5883\u53D8\u91CF\u4E2D\u7684\u7D22\u5F15\u3002
|
|
8485
|
+
# providers:
|
|
8486
|
+
# SMTP \u90AE\u4EF6
|
|
7352
8487
|
# - name: email
|
|
7353
8488
|
# type: smtp
|
|
7354
8489
|
# host: \${HAI_REACH_PROVIDERS_0_HOST:smtp.example.com}
|
|
@@ -7361,10 +8496,15 @@ providers:
|
|
|
7361
8496
|
# \u963F\u91CC\u4E91\u77ED\u4FE1\uFF08\u6309\u9700\u5F00\u542F\uFF09
|
|
7362
8497
|
# - name: sms
|
|
7363
8498
|
# type: aliyun-sms
|
|
7364
|
-
# accessKeyId: \${
|
|
7365
|
-
# accessKeySecret: \${
|
|
8499
|
+
# accessKeyId: \${HAI_REACH_PROVIDERS_1_ACCESSKEYID}
|
|
8500
|
+
# accessKeySecret: \${HAI_REACH_PROVIDERS_1_ACCESSKEYSECRET}
|
|
7366
8501
|
# signName: MyApp
|
|
7367
8502
|
# endpoint: dysmsapi.aliyuncs.com
|
|
8503
|
+
# gateway: # \u53EF\u9009\uFF1B\u914D\u7F6E\u540E\u5411\u5B8C\u6574 URL \u53D1\u9001 POST
|
|
8504
|
+
# url: https://sms-gateway.example.com/dx
|
|
8505
|
+
# headers:
|
|
8506
|
+
# X-Gateway-Client: delivery
|
|
8507
|
+
# body: {}
|
|
7368
8508
|
|
|
7369
8509
|
# \u901A\u7528 API\uFF08\u6309\u9700\u5F00\u542F\uFF1B\u53EF\u5BF9\u63A5\u5E94\u7528\u81EA\u6709\u6295\u9012\u670D\u52A1\uFF09
|
|
7370
8510
|
# - name: custom
|
|
@@ -7372,7 +8512,7 @@ providers:
|
|
|
7372
8512
|
# url: https://notify.example.com/send
|
|
7373
8513
|
# method: POST # POST | PUT
|
|
7374
8514
|
# headers:
|
|
7375
|
-
# Authorization: 'Bearer \${
|
|
8515
|
+
# Authorization: 'Bearer \${HAI_REACH_PROVIDERS_2_HEADERS_AUTHORIZATION}'
|
|
7376
8516
|
# timeout: 10000
|
|
7377
8517
|
# redirect: error # \u666E\u901A\u6D88\u606F\u624D\u53EF\u663E\u5F0F follow\uFF1B\u654F\u611F\u53D1\u9001\u59CB\u7EC8\u62D2\u7EDD\u8DF3\u8F6C\u3002
|
|
7378
8518
|
# requireHttps: true # \u5F3A\u5236 HTTPS\uFF1B\u7701\u7565\u65F6\u751F\u4EA7\u654F\u611F\u53D1\u9001\u4ECD\u8981\u6C42 HTTPS\u3002
|
|
@@ -7403,7 +8543,8 @@ templates: []
|
|
|
7403
8543
|
# start: "22:00"
|
|
7404
8544
|
# end: "08:00"
|
|
7405
8545
|
|
|
7406
|
-
# \
|
|
8546
|
+
# \u53D1\u9001\u5931\u8D25\u65F6\u6700\u591A\u5C1D\u8BD5 5 \u6B21\uFF1B\u7B49\u5F85\u65F6\u95F4\u4ECE 1 \u5206\u949F\u9010\u6B21\u52A0\u500D\uFF0C\u6700\u957F 1 \u5C0F\u65F6\u3002
|
|
8547
|
+
# \u65E0\u6CD5\u786E\u8BA4\u5BF9\u65B9\u662F\u5426\u6536\u5230\u65F6\u505C\u6B62\u81EA\u52A8\u91CD\u53D1\uFF0C\u5148\u6838\u5BF9\u6295\u9012\u7ED3\u679C\u3002\u4FEE\u6539\u7B56\u7565\u53EA\u5F71\u54CD\u4EE5\u540E\u8FDB\u5165\u961F\u5217\u7684\u6D88\u606F\u3002
|
|
7407
8548
|
queue:
|
|
7408
8549
|
maxAttempts: \${HAI_REACH_QUEUE_MAXATTEMPTS:5}
|
|
7409
8550
|
retryDelayMs: \${HAI_REACH_QUEUE_RETRYDELAYMS:60000}
|
|
@@ -7436,7 +8577,7 @@ function generateAuditConfig() {
|
|
|
7436
8577
|
# \u5BA1\u8BA1\u65E5\u5FD7\u914D\u7F6E (@h-ai/audit)
|
|
7437
8578
|
# =============================================================================
|
|
7438
8579
|
|
|
7439
|
-
# \u7528\u6237\u8868\
|
|
8580
|
+
# \u5BA1\u8BA1\u5217\u8868\u67E5\u8BE2\u64CD\u4F5C\u8005\u540D\u79F0\u65F6\u4F7F\u7528\u7684\u7528\u6237\u8868\u3002\u4F7F\u7528\u6846\u67B6 IAM \u65F6\u4FDD\u6301\u4E0B\u9762\u4E09\u4E2A\u9ED8\u8BA4\u503C\u3002
|
|
7440
8581
|
userTable: hai_iam_users
|
|
7441
8582
|
|
|
7442
8583
|
# \u7528\u6237\u8868\u4E3B\u952E\u5217\u540D
|
|
@@ -7445,22 +8586,27 @@ userIdColumn: id
|
|
|
7445
8586
|
# \u7528\u6237\u540D\u5217\u540D
|
|
7446
8587
|
userNameColumn: username
|
|
7447
8588
|
|
|
7448
|
-
# \u6846\u67B6\
|
|
8589
|
+
# \u81EA\u52A8\u8BB0\u5F55\u5DF2\u63A5\u5165\u6846\u67B6\u7684\u91CD\u8981\u64CD\u4F5C\uFF1BincludeReads=true \u65F6\u4E5F\u8BB0\u5F55\u6210\u529F\u67E5\u8BE2\uFF0C\u4F1A\u589E\u52A0\u8BB0\u5F55\u91CF\u3002
|
|
8590
|
+
# enabled=false \u53EA\u5173\u95ED\u81EA\u52A8\u91C7\u96C6\uFF0C\u4E1A\u52A1\u4E3B\u52A8\u8C03\u7528 audit.log() \u4ECD\u53EF\u5199\u5165\u3002
|
|
7449
8591
|
capture:
|
|
7450
8592
|
enabled: true
|
|
7451
8593
|
includeReads: false
|
|
7452
8594
|
|
|
7453
|
-
# \
|
|
8595
|
+
# enabled=true \u540E\uFF0C\u6700\u8FD1 minDays \u5929\u7684\u8BB0\u5F55\u4E0D\u80FD\u4FEE\u6539\u6216\u5220\u9664\uFF1B\u8D85\u8FC7\u4FDD\u62A4\u671F\u4E5F\u4E0D\u4F1A\u81EA\u52A8\u5220\u9664\u3002
|
|
8596
|
+
# \u4FDD\u62A4\u8BBE\u7F6E\u4F1A\u5B58\u5165\u6570\u636E\u5E93\uFF0C\u5220\u6389\u8FD9\u4E00\u6BB5\u4F1A\u6CBF\u7528\u5DF2\u6709\u8BBE\u7F6E\uFF1B\u660E\u786E enabled=false \u624D\u5173\u95ED\u4FDD\u62A4\u3002
|
|
7454
8597
|
retention:
|
|
7455
8598
|
enabled: false
|
|
7456
8599
|
minDays: 90
|
|
7457
8600
|
|
|
7458
|
-
# \
|
|
8601
|
+
# fields \u586B\u989D\u5916\u7684\u9690\u79C1\u5B57\u6BB5\u540D\uFF0C\u4F8B\u5982 [customerPhone, idCard]\uFF0C\u4E0D\u533A\u5206\u5927\u5C0F\u5199\u3002
|
|
8602
|
+
# \u5BC6\u7801\u3001\u4EE4\u724C\u7B49\u51ED\u636E\u59CB\u7EC8\u906E\u76D6\uFF1Benabled \u53EA\u63A7\u5236\u8FD9\u91CC\u8865\u5145\u7684\u4E1A\u52A1\u5B57\u6BB5\uFF0C\u4E0D\u6062\u590D\u5386\u53F2\u539F\u6587\u3002
|
|
7459
8603
|
privacy:
|
|
7460
8604
|
enabled: true
|
|
7461
8605
|
fields: []
|
|
7462
8606
|
|
|
7463
|
-
# \
|
|
8607
|
+
# \u5C06\u5BA1\u8BA1\u53E6\u5B58\u4E3A\u79C1\u6709 JSONL \u5907\u4EFD\uFF0C\u542F\u7528\u524D\u5148\u521D\u59CB\u5316\u79C1\u6709 Storage\u3002
|
|
8608
|
+
# batchSize \u662F\u6BCF\u6279\u8BFB\u53D6\u6761\u6570\uFF1BmaxRecordBytes \u662F\u5355\u6761\u4E0A\u9650\uFF08\u5B57\u8282\uFF09\uFF0C\u8D85\u9650\u62A5\u9519\uFF0C\u4E0D\u622A\u65AD\u8BB0\u5F55\u3002
|
|
8609
|
+
# schedule.enabled=true \u6309 cron \u81EA\u52A8\u5907\u4EFD\uFF1B\u4F8B\u5982 UTC 02:00 \u5BF9\u5E94\u5317\u4EAC\u65F6\u95F4 10:00\u3002
|
|
7464
8610
|
backup:
|
|
7465
8611
|
enabled: false
|
|
7466
8612
|
batchSize: 200
|
|
@@ -7470,18 +8616,21 @@ backup:
|
|
|
7470
8616
|
cron: '0 2 * * *'
|
|
7471
8617
|
timezone: UTC
|
|
7472
8618
|
|
|
7473
|
-
# \
|
|
8619
|
+
# \u6309\u4E00\u6BB5\u65F6\u95F4\u5185\u7684\u4E8B\u4EF6\u6570\u91CF\u901A\u77E5\u7BA1\u7406\u5458\uFF1B\u542F\u7528\u524D\u914D\u7F6E Reach\uFF0C\u5E76\u5C06 provider \u586B\u4E3A\u5DF2\u6CE8\u518C\u7684\u901A\u9053\u540D\u79F0\u3002
|
|
8620
|
+
# \u4F8B\u5B50\uFF1A5 \u5206\u949F\u5185\u767B\u5F55\u5931\u8D25/\u62D2\u7EDD\u8FBE\u5230 10 \u6B21\u65F6\u901A\u77E5\u5B89\u5168\u56E2\u961F\uFF1B\u89C4\u5219\u548C\u5B9A\u65F6\u68C0\u67E5\u9700\u8981\u5206\u522B\u542F\u7528\u3002
|
|
7474
8621
|
alerts:
|
|
7475
8622
|
enabled: false
|
|
7476
8623
|
maxNotificationsPerCheck: 100
|
|
7477
8624
|
rules: []
|
|
7478
|
-
#
|
|
7479
|
-
#
|
|
7480
|
-
#
|
|
7481
|
-
#
|
|
7482
|
-
#
|
|
7483
|
-
#
|
|
7484
|
-
#
|
|
8625
|
+
# \u7528\u4E0B\u9762\u7684 rules \u5217\u8868\u66FF\u6362\u7A7A\u6570\u7EC4\u3002
|
|
8626
|
+
# rules:
|
|
8627
|
+
# - id: login-failures
|
|
8628
|
+
# actions: [auth.login]
|
|
8629
|
+
# outcomes: [failure, denied]
|
|
8630
|
+
# threshold: 10
|
|
8631
|
+
# windowSeconds: 300
|
|
8632
|
+
# severity: warning
|
|
8633
|
+
# targets: [{ id: security-team, provider: email, to: security@example.com }]
|
|
7485
8634
|
schedule:
|
|
7486
8635
|
enabled: false
|
|
7487
8636
|
cron: '* * * * *'
|
|
@@ -7552,6 +8701,6 @@ envAllowlist:
|
|
|
7552
8701
|
`;
|
|
7553
8702
|
}
|
|
7554
8703
|
|
|
7555
|
-
export { generateConfigFile, generateEnvExample, generateProductionEnvironment, moduleEnvironmentVariables, parameterizeConfig, renderEnvironment, runtimeEnvironmentVariables };
|
|
7556
|
-
//# sourceMappingURL=chunk-
|
|
7557
|
-
//# sourceMappingURL=chunk-
|
|
8704
|
+
export { documentConfig, generateConfigFile, generateEnvExample, generateProductionEnvironment, moduleEnvironmentVariables, parameterizeConfig, renderEnvironment, runtimeEnvironmentVariables };
|
|
8705
|
+
//# sourceMappingURL=chunk-L53P43B2.js.map
|
|
8706
|
+
//# sourceMappingURL=chunk-L53P43B2.js.map
|