@nexusclawhq/cli 0.3.14 → 0.3.15

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.
Files changed (37) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/build-info.json +4 -4
  3. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/index.d.ts +1 -0
  4. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/index.js +1 -0
  5. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/index.js.map +1 -1
  6. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.d.ts +488 -0
  7. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.js +499 -11
  8. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.js.map +1 -1
  9. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/index.d.ts +976 -0
  10. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.d.ts +488 -0
  11. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.js +558 -70
  12. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.js.map +1 -1
  13. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/platform-admin-route-readiness/index.js +59 -57
  14. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/platform-admin-route-readiness/index.js.map +1 -1
  15. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/workspace-regional-settings.d.ts +15 -0
  16. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/workspace-regional-settings.js +30 -0
  17. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/workspace-regional-settings.js.map +1 -0
  18. package/dist/nexus-cli/node_modules/@nexusclaw/shared/package.json +4 -0
  19. package/dist/nexus-cli/src/cli.js +0 -0
  20. package/dist/nexus-cli/src/services/__env-probe.test.d.ts +1 -0
  21. package/dist/nexus-cli/src/services/__env-probe.test.js +13 -0
  22. package/dist/nexus-cli/src/services/__env-probe.test.js.map +1 -0
  23. package/dist/nexus-cli/src/services/ai-authoring-context-v2.pack.e2e.test.d.ts +1 -0
  24. package/dist/nexus-cli/src/services/ai-authoring-context-v2.pack.e2e.test.js +132 -0
  25. package/dist/nexus-cli/src/services/ai-authoring-context-v2.pack.e2e.test.js.map +1 -0
  26. package/dist/nexus-cli/src/services/api-client.js +7 -1
  27. package/dist/nexus-cli/src/services/api-client.js.map +1 -1
  28. package/dist/nexus-cli/src/services/step-up-helper.test.js +12 -1
  29. package/dist/nexus-cli/src/services/step-up-helper.test.js.map +1 -1
  30. package/dist/nexus-cli/src/services/workforce-test-remote.d.ts +1 -1
  31. package/dist/nexus-cli/src/services/workforce-test-remote.js +1 -1
  32. package/dist/nexus-cli/src/services/workforce-test-remote.test.js +1 -1
  33. package/dist/nexus-cli/src/templates/project/templates/drill-code-extension-page/src/components/drill-code-extension-page/index.js +70 -0
  34. package/dist/nexus-cli/src/templates/project/templates/drill-code-extension-page/src/metadata/drill-code-extension-page.manifest.json +63 -0
  35. package/dist/nexus-cli/src/templates/project/templates/drill-code-extension-page/src/tests/drill-code-extension-page.assertions.json +13 -0
  36. package/dist/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +1 -1
@@ -5047,6 +5047,8 @@ const messages = {
5047
5047
  requestFailedWithStatus: "请求失败({status})",
5048
5048
  serviceException: "服务异常",
5049
5049
  // 历史会话 / 会议回放(仅本人,按 userId+workspaceId 隔离)
5050
+ newConversation: "新会话",
5051
+ restoringSession: "正在恢复上次演练会话…",
5050
5052
  historyButton: "历史会话",
5051
5053
  historyTitle: "历史会话",
5052
5054
  historyEmpty: "暂无历史会话",
@@ -7434,6 +7436,8 @@ const messages = {
7434
7436
  builderPreviewMenuCaption: "任务输入与产出",
7435
7437
  builderPreviewRun: "预览运行",
7436
7438
  builderPreviewWelcome: "输入一个真实任务,我会用当前 AI 员工配置试跑。",
7439
+ builderPreviewNewSession: "新会话",
7440
+ builderPreviewRestoring: "正在恢复上次会话…",
7437
7441
  builderReadinessTitle: "上岗准备度",
7438
7442
  builderReadiness: {
7439
7443
  access: "使用范围",
@@ -7442,6 +7446,9 @@ const messages = {
7442
7446
  knowledge: "知识",
7443
7447
  sop: "SOP",
7444
7448
  test: "测试",
7449
+ loadFailed: "服务商控制面加载失败",
7450
+ loadFailedDescription: "无法读取服务商配置和组织策略,请重试。",
7451
+ retry: "重试",
7445
7452
  },
7446
7453
  builderReadinessMenuCaption: "发布前检查",
7447
7454
  builderReadinessStatus: {
@@ -11067,6 +11074,12 @@ const messages = {
11067
11074
  breadcrumbPlatformTools: "平台工具",
11068
11075
  breadcrumbExecutionLogs: "执行日志",
11069
11076
  breadcrumbLogDetail: "日志详情",
11077
+ scopeRequired: "缺少执行日志所属工作区",
11078
+ scopeRequiredDescription: "平台执行日志详情必须同时包含执行日志 ID 和工作区,避免跨租户读取。",
11079
+ loadFailed: "执行日志详情加载失败",
11080
+ loadFailedDescription: "无法读取该工作区的执行日志,请稍后重试。",
11081
+ notFound: "未找到执行日志",
11082
+ notFoundDescription: "该日志不存在,或不属于当前选择的工作区。",
11070
11083
  },
11071
11084
  executionLogs: {
11072
11085
  statusSuccess: "成功",
@@ -11087,6 +11100,14 @@ const messages = {
11087
11100
  searchPlaceholder: "搜索执行 ID、用户、对象或错误信息...",
11088
11101
  breadcrumbSettings: "设置",
11089
11102
  breadcrumbPlatformTools: "平台工具",
11103
+ workspaceRequired: "请先选择工作区",
11104
+ workspaceRequiredDescription: "平台执行审计必须在明确的工作区范围内查询,不会默认使用当前工作区。",
11105
+ loadFailed: "执行日志加载失败",
11106
+ loadFailedDescription: "无法读取所选工作区的执行日志,请稍后重试。",
11107
+ selectWorkspaceEmpty: "选择工作区后查看执行日志",
11108
+ noResults: "没有符合筛选条件的执行日志",
11109
+ errorTimeout: "执行超时",
11110
+ errorFailed: "执行失败",
11090
11111
  },
11091
11112
  fieldHistoryDetail: {
11092
11113
  saveSuccess: "字段历史追踪配置已保存",
@@ -11921,6 +11942,11 @@ const messages = {
11921
11942
  behaviorPolicyStudioTitle: "行为策略工作室",
11922
11943
  },
11923
11944
  queryMonitorDetail: {
11945
+ scopeRequired: "需要工作区范围",
11946
+ scopeRequiredDescription: "请从查询监控列表选择工作区后再打开详情。",
11947
+ loadFailed: "查询详情加载失败",
11948
+ notFound: "未找到该工作区中的查询记录。",
11949
+ retry: "重试",
11924
11950
  basicInfo: "基本信息",
11925
11951
  queryId: "查询 ID",
11926
11952
  executionTime: "执行时间",
@@ -11938,6 +11964,8 @@ const messages = {
11938
11964
  backToList: "返回列表",
11939
11965
  },
11940
11966
  queryMonitor: {
11967
+ scopeRequired: "请选择工作区后查看慢查询。",
11968
+ loadFailed: "慢查询加载失败,请重试。",
11941
11969
  colExecutionTime: "执行时间",
11942
11970
  colSqlSummary: "SQL 摘要",
11943
11971
  colQueryType: "查询类型",
@@ -13691,6 +13719,7 @@ const messages = {
13691
13719
  trialConsoleUi: {
13692
13720
  demoAccess: {
13693
13721
  page: {
13722
+ title: "Demo Access",
13694
13723
  subtitle: "受控 Demo 发放后台:申请队列、审批决策、环境池和分配动作都先收在同一页。",
13695
13724
  refresh: "刷新",
13696
13725
  loadError: "Demo Access 数据加载失败",
@@ -13699,6 +13728,7 @@ const messages = {
13699
13728
  approvedAssignable: "已审批可分配",
13700
13729
  readyInstances: "Ready 实例",
13701
13730
  totalAvailableCapacity: "总池剩余容量",
13731
+ invitations: "邀请",
13702
13732
  },
13703
13733
  queue: {
13704
13734
  title: "Demo 请求队列",
@@ -13716,9 +13746,11 @@ const messages = {
13716
13746
  empty: "暂无环境实例,点击新建接入资源",
13717
13747
  },
13718
13748
  assignmentCard: {
13749
+ title: "活跃会话 / 分配",
13719
13750
  empty: "暂无活跃分配",
13720
13751
  },
13721
13752
  jobCard: {
13753
+ title: "自动化任务",
13722
13754
  empty: "暂无 Demo Access 自动化任务",
13723
13755
  },
13724
13756
  requestColumns: {
@@ -13729,6 +13761,9 @@ const messages = {
13729
13761
  status: "状态",
13730
13762
  recommended: "推荐",
13731
13763
  pendingScreening: "待筛选",
13764
+ riskScore: "风险 {risk} / 评分 {score}",
13765
+ riskOnly: "风险 {risk}",
13766
+ invitation: "邀请",
13732
13767
  actions: "操作",
13733
13768
  },
13734
13769
  invitation: {
@@ -13741,6 +13776,7 @@ const messages = {
13741
13776
  },
13742
13777
  actions: {
13743
13778
  review: "审批",
13779
+ provision: "准备环境",
13744
13780
  assign: "分配",
13745
13781
  },
13746
13782
  poolColumns: {
@@ -13755,12 +13791,14 @@ const messages = {
13755
13791
  status: "状态",
13756
13792
  },
13757
13793
  assignmentColumns: {
13794
+ assignment: "分配",
13758
13795
  instancePool: "实例 / 环境池",
13759
13796
  status: "状态",
13760
13797
  actions: "操作",
13761
13798
  },
13762
13799
  assignmentActions: {
13763
13800
  expire: "到期",
13801
+ markResetPending: "标记待回池",
13764
13802
  completeReset: "完成回池",
13765
13803
  },
13766
13804
  jobColumns: {
@@ -13783,6 +13821,20 @@ const messages = {
13783
13821
  accessLevelLabel: "访问级别",
13784
13822
  decisionReasonLabel: "审批备注",
13785
13823
  },
13824
+ options: {
13825
+ accessPublic: "公开",
13826
+ accessPrivate: "私有",
13827
+ accessInternal: "内部",
13828
+ routePublicDemo: "公开 Demo",
13829
+ routePrivateDemo: "私有 Demo",
13830
+ routeMaterialOnly: "仅资料",
13831
+ invitationMagicLink: "Magic Link",
13832
+ invitationOtp: "一次性验证码",
13833
+ poolPublicDemo: "公开 Demo 池",
13834
+ poolPrivatePresales: "私有售前池",
13835
+ poolInternal: "内部池",
13836
+ unknownPool: "未知环境池",
13837
+ },
13786
13838
  assignModal: {
13787
13839
  title: "分配 Demo 环境",
13788
13840
  instanceLabel: "环境实例",
@@ -13792,6 +13844,10 @@ const messages = {
13792
13844
  },
13793
13845
  poolModal: {
13794
13846
  title: "新建环境池",
13847
+ poolCodeLabel: "环境池编码",
13848
+ poolTypeLabel: "环境池类型",
13849
+ routeTypeLabel: "路由类型",
13850
+ accessLevelLabel: "访问级别",
13795
13851
  capacityLabel: "容量",
13796
13852
  industryScenarioLabel: "行业场景",
13797
13853
  purposeLabel: "用途说明",
@@ -13802,6 +13858,7 @@ const messages = {
13802
13858
  title: "新建环境实例",
13803
13859
  poolLabel: "所属环境池",
13804
13860
  instanceCodeLabel: "实例编码",
13861
+ environmentKeyLabel: "环境键",
13805
13862
  },
13806
13863
  toast: {
13807
13864
  reviewSaved: "审批结果已保存",
@@ -18476,6 +18533,11 @@ const messages = {
18476
18533
  breadcrumbSettings: "设置",
18477
18534
  breadcrumbPlatformTools: "平台工具",
18478
18535
  searchPlaceholder: "搜索类名...",
18536
+ scopeRequired: "请选择工作区后查看平台批处理任务。",
18537
+ loadFailed: "批处理任务加载失败,请重试。",
18538
+ detailScopeRequired: "缺少批处理任务的工作区范围。",
18539
+ detailNotFound: "未找到该工作区中的批处理任务。",
18540
+ retry: "重试",
18479
18541
  colClassName: "类名",
18480
18542
  colType: "类型",
18481
18543
  colStatus: "状态",
@@ -18533,6 +18595,247 @@ const messages = {
18533
18595
  abortError: "中止失败: {message}",
18534
18596
  },
18535
18597
  platformAdmin: {
18598
+ adminPanelUi: {
18599
+ common: {
18600
+ sectionOther: "其他",
18601
+ platformAdmin: "平台管理",
18602
+ adminPanel: "管理面板",
18603
+ systemOverview: "系统概览",
18604
+ configVariables: "配置变量",
18605
+ healthStatus: "健康状态",
18606
+ queues: "队列",
18607
+ worker: "Worker",
18608
+ loading: "加载中...",
18609
+ loadFailed: "数据加载失败",
18610
+ loadFailedDescription: "无法读取当前管理数据,请重试。",
18611
+ retry: "重试",
18612
+ refresh: "刷新",
18613
+ filter: "筛选",
18614
+ name: "名称",
18615
+ value: "值",
18616
+ status: "状态",
18617
+ source: "来源",
18618
+ group: "分组",
18619
+ id: "ID",
18620
+ email: "邮箱",
18621
+ url: "URL",
18622
+ unknown: "未知",
18623
+ notFound: "未找到",
18624
+ errorInfo: "错误信息",
18625
+ details: "状态详情",
18626
+ noDetails: "没有详细信息",
18627
+ operational: "正常运行",
18628
+ normal: "正常",
18629
+ outage: "故障",
18630
+ search: "搜索",
18631
+ cancel: "取消",
18632
+ reset: "重置",
18633
+ },
18634
+ general: {
18635
+ about: "关于",
18636
+ appVersionInfo: "应用版本信息",
18637
+ currentVersion: "当前版本",
18638
+ latestVersion: "最新版本",
18639
+ latestVersionNotFound: "未找到最新版本",
18640
+ featureFlagsAndImpersonation: "功能标志与用户模拟",
18641
+ userImpersonation: "用户模拟",
18642
+ featureFlagsAndImpersonationHint: "查找用户并管理其工作区功能标志或模拟登录",
18643
+ userImpersonationHint: "查找用户以模拟登录",
18644
+ userIdentifierPlaceholder: "输入用户 ID 或邮箱地址",
18645
+ userInfo: "用户信息",
18646
+ aboutThisUser: "关于此用户",
18647
+ fullName: "姓名",
18648
+ workspaces: "工作区",
18649
+ userWorkspaces: "此用户所属的所有工作区",
18650
+ noWorkspaces: "此用户没有加入任何工作区",
18651
+ workspaceInfo: "工作区信息",
18652
+ aboutThisWorkspace: "关于此工作区",
18653
+ members: "成员数",
18654
+ unnamed: "未命名",
18655
+ featureFlags: "功能标志",
18656
+ featureFlag: "功能标志",
18657
+ impersonate: "模拟登录",
18658
+ impersonationDisabled: "此工作区禁用模拟",
18659
+ searchUserFirst: "请先搜索用户",
18660
+ impersonationFailed: "模拟登录失败: {message}",
18661
+ searchFailed: "搜索失败: {message}",
18662
+ updateFeatureFlagFailed: "更新功能标志失败: {message}",
18663
+ },
18664
+ config: {
18665
+ allGroups: "全部分组",
18666
+ allSources: "全部来源",
18667
+ database: "数据库",
18668
+ environment: "环境变量",
18669
+ default: "默认值",
18670
+ showHiddenGroups: "显示隐藏分组",
18671
+ searchPlaceholder: "搜索变量...",
18672
+ noVariables: "没有找到配置变量",
18673
+ detailTitle: "配置变量详情",
18674
+ variableMissing: "未找到配置变量",
18675
+ variableMissingDescription: '变量 "{name}" 不存在',
18676
+ tagPlaceholder: "输入值后按回车添加",
18677
+ undefinedPlaceholder: "未定义",
18678
+ databaseValuePlaceholder: "输入要存储到数据库的值",
18679
+ envOnlyMessage: "此变量只能通过环境变量设置",
18680
+ databaseSourceMessage: "此变量当前使用数据库中的值。点击重置按钮可恢复为环境变量/默认值。",
18681
+ changedMessage: "值已修改,点击保存按钮提交更改。",
18682
+ updated: "配置变量已更新",
18683
+ updateFailed: "更新失败: {message}",
18684
+ resetTitle: "重置变量",
18685
+ resetConfirm1: "这将删除数据库中的值,系统将使用环境变量或默认值。",
18686
+ resetConfirm2: "确定要重置此变量吗?",
18687
+ resetSuccess: "配置变量已重置为默认值",
18688
+ resetFailed: "重置失败: {message}",
18689
+ consumerLabel: "运行时消费者: {consumer}",
18690
+ requiresRestartMessage: "此更改需要重启进程才能生效。",
18691
+ noConsumerMessage: "无运行时消费者 — 此变量仅通过环境变量设置。",
18692
+ },
18693
+ health: {
18694
+ systemHealthHint: "系统运行状况",
18695
+ noHealthData: "暂无健康状态数据",
18696
+ detailTitle: "健康状态详情",
18697
+ missing: "未找到健康状态信息",
18698
+ missingDescription: '指标 "{id}" 不存在',
18699
+ workerUnavailable: "队列信息不可用,因为 Worker 已停止运行",
18700
+ noQueueInfo: "没有队列信息",
18701
+ },
18702
+ queue: {
18703
+ queueName: "队列名称",
18704
+ jobStats: "任务统计",
18705
+ manageQueuesHint: "查看和管理后台任务队列",
18706
+ workerUnavailableTitle: "Worker 服务不可用",
18707
+ workerUnavailableDescription: "队列信息不可用,因为 Worker 服务已停止运行。请检查 Worker 服务状态。",
18708
+ noQueues: "暂无队列数据",
18709
+ title: "队列: {queueName}",
18710
+ waiting: "等待",
18711
+ active: "进行中",
18712
+ failed: "失败",
18713
+ completed: "已完成",
18714
+ delayed: "延迟",
18715
+ paused: "暂停",
18716
+ waitingState: "等待中",
18717
+ attempts: "尝试次数",
18718
+ createdAt: "创建时间",
18719
+ jobs: "任务列表",
18720
+ data: "数据:",
18721
+ failedReason: "失败原因:",
18722
+ returnValue: "返回值:",
18723
+ options: "选项:",
18724
+ retentionLoading: "加载保留配置中...",
18725
+ retentionDescription: "已完成任务保留 {completedAge},失败任务保留 {failedAge} (最多各 {count} 个)",
18726
+ days: "{count} 天",
18727
+ hours: "{count} 小时",
18728
+ },
18729
+ cron: {
18730
+ title: "定时任务",
18731
+ description: "管理系统定时任务的执行计划",
18732
+ noJobs: "暂无定时任务",
18733
+ jobName: "任务名称",
18734
+ schedule: "执行周期",
18735
+ lastRun: "上次执行",
18736
+ nextRun: "下次执行",
18737
+ enabled: "启用",
18738
+ actions: "操作",
18739
+ runNow: "立即执行",
18740
+ history: "执行历史",
18741
+ historyTitle: "执行历史 - {name}",
18742
+ confirmRunNowTitle: "立即执行",
18743
+ confirmRunNowContent: '确定要立即执行 "{name}" 吗?',
18744
+ operationFailed: "操作失败",
18745
+ runFailed: "执行失败",
18746
+ notWired: "未接入可等待的手工执行处理器",
18747
+ readOnly: "只读",
18748
+ jobEnabled: "{name} 已启用",
18749
+ jobPaused: "{name} 已暂停",
18750
+ jobTriggered: "{name} 已触发执行",
18751
+ jobExecuted: "{name} 执行已完成",
18752
+ active: "运行中",
18753
+ paused: "已暂停",
18754
+ error: "错误",
18755
+ neverRun: "从未运行",
18756
+ justNow: "刚刚",
18757
+ minutesAgo: "{count} 分钟前",
18758
+ hoursAgo: "{count} 小时前",
18759
+ failed: "失败",
18760
+ success: "成功",
18761
+ running: "运行中",
18762
+ everyMinute: "每分钟",
18763
+ every5Minutes: "每5分钟",
18764
+ every10Minutes: "每10分钟",
18765
+ every15Minutes: "每15分钟",
18766
+ every30Minutes: "每30分钟",
18767
+ everyHour: "每小时",
18768
+ every2Hours: "每2小时",
18769
+ every6Hours: "每6小时",
18770
+ every12Hours: "每12小时",
18771
+ dailyMidnight: "每天午夜",
18772
+ weeklySundayMidnight: "每周日午夜",
18773
+ monthlyFirstMidnight: "每月1日午夜",
18774
+ startedAt: "开始时间",
18775
+ executionId: "执行关联 ID",
18776
+ duration: "耗时",
18777
+ totalItems: "共 {total} 条",
18778
+ },
18779
+ logs: {
18780
+ title: "租户调试日志",
18781
+ sectionMonitoring: "系统监控",
18782
+ description: "查看租户调试日志和错误信息",
18783
+ export: "导出",
18784
+ time: "时间",
18785
+ level: "级别",
18786
+ source: "来源",
18787
+ message: "消息",
18788
+ levelPlaceholder: "日志级别",
18789
+ sourcePlaceholder: "来源",
18790
+ searchPlaceholder: "搜索消息...",
18791
+ noLogs: "暂无日志数据",
18792
+ },
18793
+ },
18794
+ adminPanel: "管理面板",
18795
+ adminHealth: {
18796
+ indicators: {
18797
+ database: {
18798
+ label: "数据库",
18799
+ description: "PostgreSQL 连接状态与核心数据表计数。",
18800
+ error: "数据库健康检查失败。",
18801
+ },
18802
+ redis: {
18803
+ label: "Redis",
18804
+ description: "Redis 缓存与队列后端连接状态。",
18805
+ error: "Redis 健康检查失败。",
18806
+ },
18807
+ worker: {
18808
+ label: "后台任务 Worker",
18809
+ description: "平台异步任务所使用的 Worker 与队列状态。",
18810
+ error: "Agent execution 队列尚未初始化。",
18811
+ },
18812
+ connectedAccount: {
18813
+ label: "外部连接账号",
18814
+ description: "外部账号集成尚未配置真实健康检查,因此状态为未知。",
18815
+ },
18816
+ app: {
18817
+ label: "后端应用",
18818
+ description: "后端应用进程及核心依赖状态。",
18819
+ error: "一个或多个核心服务不健康。",
18820
+ },
18821
+ },
18822
+ detailLabels: {
18823
+ configuredCheck: "健康检查配置",
18824
+ status: "探测状态",
18825
+ waiting: "等待任务",
18826
+ active: "执行中任务",
18827
+ completed: "已完成任务",
18828
+ failed: "失败任务",
18829
+ delayed: "延迟任务",
18830
+ paused: "已暂停任务",
18831
+ workerCount: "在线 Worker 数",
18832
+ consumerActive: "消费者在线",
18833
+ },
18834
+ notConfigured: "未配置",
18835
+ yes: "是",
18836
+ no: "否",
18837
+ technicalDetails: "技术明细",
18838
+ },
18536
18839
  ops: {
18537
18840
  common: {
18538
18841
  back: "返回",
@@ -18542,25 +18845,26 @@ const messages = {
18542
18845
  submit: "提交",
18543
18846
  view: "查看",
18544
18847
  details: "详情",
18545
- workspace: "Workspace",
18546
- plan: "Plan",
18547
- status: "Status",
18548
- seats: "Seats",
18549
- cycle: "Cycle",
18550
- created: "Created",
18551
- amount: "Amount",
18552
- provider: "Provider",
18553
- risk: "Risk",
18554
- healthy: "Healthy",
18555
- atRisk: "At Risk",
18556
- critical: "Critical",
18848
+ workspace: "客户",
18849
+ plan: "套餐",
18850
+ status: "状态",
18851
+ seats: "席位",
18852
+ cycle: "周期",
18853
+ created: "创建时间",
18854
+ amount: "金额",
18855
+ provider: "支付渠道",
18856
+ risk: "风险",
18857
+ healthy: "健康",
18858
+ atRisk: "有风险",
18859
+ critical: "严重",
18557
18860
  unknown: "未知",
18558
- periodEnd: "Period End",
18559
- invoiceDate: "Invoice Date",
18560
- billingPeriod: "Billing Period",
18561
- paymentStatus: "Payment Status",
18562
- overdue: "Overdue",
18861
+ periodEnd: "本期结束",
18862
+ invoiceDate: "账单日期",
18863
+ billingPeriod: "账期",
18864
+ paymentStatus: "付款状态",
18865
+ overdue: "逾期",
18563
18866
  noMatches: "没有匹配的记录",
18867
+ retry: "重试",
18564
18868
  },
18565
18869
  dashboard: {
18566
18870
  title: "平台总览",
@@ -18571,7 +18875,7 @@ const messages = {
18571
18875
  alertDescription: "优先处理 critical 租户健康、逾期账单和即将到期的续费。",
18572
18876
  viewHealth: "查看健康状态",
18573
18877
  totalTenants: "总租户",
18574
- criticalHealthAlerts: "Critical 健康报警",
18878
+ criticalHealthAlerts: "严重健康报警",
18575
18879
  overdueAndUnpaid: "逾期与欠费",
18576
18880
  trendTitle: "90 天健康信号趋势",
18577
18881
  healthDistribution: "健康状态分布",
@@ -18589,24 +18893,32 @@ const messages = {
18589
18893
  watch: "关注",
18590
18894
  remainingDays: "剩余天数",
18591
18895
  renewalStatus: "状态",
18592
- noTrend: "暂无 90 天健康信号",
18896
+ noTrend: " 90 天暂无健康观测数据",
18897
+ insufficientTrend: "目前只有 1 个观测日,至少需要 2 个观测日才能形成趋势",
18898
+ trendDescription: "仅统计当天有真实用量观测的租户;缺失日期不会按零用量计入风险。",
18593
18899
  trendAria: "90 天健康信号趋势",
18594
18900
  healthAlertTitle: "{workspaceName} 健康度 {riskLevel}",
18595
18901
  healthAlertDescription: "到期 {days} 天,周登录 {loginFrequency},用量 {usageRatio}%。",
18596
18902
  renewalAlertTitle: "{workspaceName} 续费 {renewalStatus}",
18597
18903
  renewalAlertDescription: "当前计划 {plan},剩余 {days} 天。",
18598
18904
  invoiceAlertTitle: "{workspaceName} 存在逾期账单",
18599
- invoiceAlertDescription: "账单金额 ${amount},状态 {status}。",
18905
+ invoiceAlertDescription: "账单金额 {amount},状态 {status}。",
18906
+ loadFailed: "平台运营数据加载失败",
18907
+ loadFailedDescription: "部分订阅、续费或计费 owner 无法读取;相关数字不会按零值解释,请重试。",
18600
18908
  },
18601
18909
  subscriptions: {
18602
18910
  create: "开通订阅",
18603
- searchPlaceholder: "Search workspace",
18911
+ searchPlaceholder: "搜索客户",
18604
18912
  noSubscriptions: "没有匹配的订阅",
18605
- periodEnd: "Period End",
18606
- total: "Total",
18607
- active: "Active",
18608
- trialing: "Trialing",
18609
- canceled: "Canceled",
18913
+ periodEnd: "本期结束",
18914
+ total: "总数",
18915
+ active: "生效中",
18916
+ trialing: "试用中",
18917
+ canceled: "已取消",
18918
+ statusFilter: "按订阅状态筛选",
18919
+ planFilter: "按套餐筛选",
18920
+ loadFailed: "订阅列表加载失败",
18921
+ loadFailedDescription: "订阅或套餐目录读取失败,汇总数字不会按零值解释。",
18610
18922
  },
18611
18923
  provision: {
18612
18924
  successTitle: "订阅已开通",
@@ -18621,38 +18933,100 @@ const messages = {
18621
18933
  invalidEmail: "邮箱格式不正确",
18622
18934
  invalidUuid: "请输入有效 UUID",
18623
18935
  workspacePlaceholder: "留空则创建新 workspace",
18624
- customerName: "Customer Name",
18625
- adminUsername: "Admin Username",
18626
- adminEmail: "Admin Email",
18627
- billingCycle: "Billing Cycle",
18628
- workspaceId: "Workspace ID",
18936
+ customerName: "客户名称",
18937
+ adminUsername: "管理员用户名",
18938
+ adminEmail: "管理员邮箱",
18939
+ billingCycle: "计费周期",
18940
+ workspaceId: "工作区 ID",
18941
+ subscriptionId: "订阅 ID",
18942
+ catalogLoadFailed: "订阅套餐目录加载失败",
18943
+ catalogLoadFailedDescription: "无法读取可开通的套餐和计费周期,修复后重试。",
18944
+ language: "默认语言",
18945
+ timezone: "默认时区",
18946
+ dateFormat: "日期格式",
18947
+ timeFormat: "时间格式",
18948
+ numberFormat: "数字格式",
18949
+ currencyPosition: "货币符号位置",
18950
+ fiscalYearStartMonth: "财年起始月",
18629
18951
  },
18630
18952
  tenantDetail: {
18631
18953
  updateSuccess: "订阅已更新",
18632
18954
  updateFailed: "订阅更新失败",
18633
- price: "Price",
18634
- currentStart: "Current Start",
18635
- currentEnd: "Current End",
18636
- extend: "Extend",
18637
- expiryDays: "Expiry Days",
18638
- loginPerWeek: "Login / Week",
18639
- usageRatio: "Usage Ratio",
18640
- token: "Token",
18641
- apiCalls: "API Calls",
18642
- storage: "Storage",
18955
+ title: "客户订阅详情",
18956
+ description: "核对客户订阅、健康风险、资源用量、注册账号和正式账单。",
18957
+ subscriptionSummary: "订阅摘要",
18958
+ healthAndUsage: "健康与资源用量",
18959
+ price: "订阅金额",
18960
+ currentStart: "本期开始",
18961
+ currentEnd: "本期结束",
18962
+ extend: "延长至",
18963
+ expiryDays: "距到期天数",
18964
+ loginPerWeek: "每周登录次数",
18965
+ usageRatio: "综合用量率",
18966
+ token: "Token 用量",
18967
+ apiCalls: "API 调用",
18968
+ storage: "文件存储",
18969
+ tokenUnit: "个 Token",
18970
+ callUnit: "次",
18971
+ noRiskReason: "当前没有触发风险规则",
18972
+ measurementStatus: "测量状态",
18973
+ measured: "已测量",
18974
+ unknownMeasurement: "部分或全部指标未知",
18975
+ measuredTime: "数据时间",
18976
+ unavailableMeasurements: "不可用指标",
18977
+ measurementUnavailable: "该指标当前不可用",
18978
+ quotaRemaining: "剩余额度",
18979
+ quotaExceeded: "额度已用尽或超限",
18980
+ increaseQuota: "增加额度",
18981
+ quotaResource: "超限资源",
18982
+ currentUsage: "当前用量",
18983
+ currentQuota: "当前额度",
18984
+ recommendedPlan: "建议升级到",
18985
+ upgradePlan: "升级套餐并增加额度",
18986
+ quotaUpgradeDescription: "升级套餐会同时提高 Token、API 调用和文件存储额度,并由订阅 owner 记录审计;当前账期起止时间不变。",
18987
+ noHigherQuotaPlan: "当前已是最高套餐",
18988
+ noHigherQuotaPlanDescription: "没有更高的自动套餐额度,请通过企业合同流程配置额外容量。",
18989
+ quotaIncreaseSuccess: "额度已增加",
18990
+ quotaIncreaseSuccessDescription: "套餐升级成功,最新资源额度和风险状态已刷新。",
18991
+ quotaIncreaseFailed: "增加额度失败",
18992
+ activityTitle: "近 90 天日用量活动",
18993
+ activityDescription: "Token 与 API 调用按各自单位和独立尺度展示;没有活动的日期不会被补零。文件存储目前仅提供测量时点快照。",
18994
+ activityDateRange: "{start} 至 {end}",
18995
+ noActivityRange: "暂无可用日期范围",
18996
+ tokenActivity: "Token 日消耗",
18997
+ apiActivity: "API 日调用",
18998
+ periodTotal: "区间合计",
18999
+ latestObserved: "最近观测值",
19000
+ insufficientTrendData: "仅有一个观测日,不绘制趋势。",
19001
+ noActivityData: "该区间没有可用活动数据。",
19002
+ activityChartAria: "{metric},范围 {range},单位 {unit}",
19003
+ measuredAt: "测量于 {value}",
19004
+ storageSnapshot: "存储当前快照",
19005
+ storageSnapshotDescription: "{date} 的测量值;当前没有历史存储序列。",
19006
+ storageUnavailable: "文件存储测量当前不可用。",
19007
+ subscriptionChange: "订阅变更",
19008
+ subscriptionChangeDescription: "变更套餐、计费周期或延长服务期限。保存后由订阅 owner 记录审计。",
19009
+ invoiceTitle: "正式账单",
19010
+ invoiceDescription: "仅显示该客户的正式账单;点击一行查看受控账单详情。",
19011
+ scopeRequired: "缺少客户工作区范围",
19012
+ scopeRequiredDescription: "请从订阅列表进入客户详情。",
19013
+ notFound: "未找到该客户订阅",
19014
+ notFoundDescription: "该工作区不存在可管理的订阅,或订阅已被移除。",
19015
+ loadFailed: "客户详情加载不完整",
19016
+ loadFailedDescription: "订阅、健康、账单、套餐目录或注册账号中至少一项读取失败,请重试。",
18643
19017
  },
18644
19018
  users: {
18645
19019
  title: "注册账号",
18646
19020
  registrationAccount: "租户注册账号",
18647
19021
  registrationAccountNotRecorded: "该租户的注册账号尚未记录,不会通过 Org 用户列表推断。",
18648
19022
  searchPlaceholder: "搜索用户名 / 邮箱 / 姓名",
18649
- workspace: "Workspace",
18650
- status: "Status",
19023
+ workspace: "工作区",
19024
+ status: "状态",
18651
19025
  active: "启用",
18652
19026
  inactive: "停用",
18653
19027
  frozen: "已冻结",
18654
19028
  serviceAccount: "服务账户",
18655
- role: "Role",
19029
+ role: "角色",
18656
19030
  lastLogin: "最后登录",
18657
19031
  viewDetail: "查看详情",
18658
19032
  backToList: "返回用户列表",
@@ -18666,50 +19040,133 @@ const messages = {
18666
19040
  resetPasswordFailed: "发送密码重置邮件失败",
18667
19041
  resetPasswordServiceAccount: "AI 数字员工工号为受保护的服务账户,不允许重置密码",
18668
19042
  editProfile: "编辑资料",
18669
- email: "Admin Email",
19043
+ email: "管理员邮箱",
18670
19044
  emailChangedSessionsRevoked: "邮箱已更新,该用户的所有会话已被吊销,需重新登录",
19045
+ maintainRegistrationEmail: "维护注册邮箱",
19046
+ saveRegistrationEmail: "保存邮箱",
19047
+ registrationEmailChangeWarning: "修改后,密码重置邮件将发送到新邮箱;该账号现有登录会话会被全部吊销。",
19048
+ registrationEmailInvalid: "请输入有效的注册邮箱",
19049
+ registrationAccountActionUnavailable: "该旧订阅未记录可信注册账号,不能猜测 Org 用户;请先补录注册账号归属。",
18671
19050
  saveSuccess: "用户资料已更新",
18672
19051
  saveFail: "用户资料更新失败",
18673
- username: "Username",
18674
- firstName: "First Name",
18675
- lastName: "Last Name",
18676
- titleLabel: "Title",
18677
- phone: "Phone",
18678
- locale: "Locale",
18679
- timeZone: "Time Zone",
19052
+ username: "用户名",
19053
+ firstName: "",
19054
+ lastName: "",
19055
+ titleLabel: "职务",
19056
+ phone: "电话",
19057
+ locale: "语言区域",
19058
+ timeZone: "时区",
18680
19059
  isActive: "启用账户",
18681
19060
  impersonation: "Support 授权",
18682
19061
  impersonationActive: "已授权",
18683
19062
  impersonationNone: "未授权",
18684
- createdAt: "Created",
19063
+ createdAt: "创建时间",
18685
19064
  },
18686
19065
  renewals: {
18687
19066
  invalidExtension: "延期日期必须晚于当前到期日",
18688
19067
  updateSuccess: "订阅已更新",
18689
- days: "Days",
18690
- renewal: "Renewal",
18691
- lastPayment: "Last Payment",
18692
- edit: "Edit",
19068
+ updateFailed: "订阅更新失败,请检查输入后重试",
19069
+ days: "剩余天数",
19070
+ renewal: "续费状态",
19071
+ lastPayment: "最近付款",
19072
+ edit: "编辑",
19073
+ loadFailed: "续费列表加载失败",
19074
+ loadFailedDescription: "无法读取续费 owner 数据,请重试。",
18693
19075
  },
18694
19076
  billing: {
18695
- invoiceStatus: "Invoice status",
18696
- outstanding: "Outstanding",
18697
- paid: "Paid",
19077
+ title: "客户计费概览",
19078
+ description: "按客户、账单状态、付款状态和账单日期查看正式账单的应收、已收与逾期情况。",
19079
+ customer: "客户",
19080
+ allCustomers: "全部客户",
19081
+ invoiceStatus: "账单状态",
19082
+ paymentStatus: "付款状态",
19083
+ billingDate: "账单日期",
19084
+ resetFilters: "重置筛选",
19085
+ exportAll: "导出全部匹配账单",
19086
+ invoiceDetails: "正式账单明细",
19087
+ mrr: "月度经常性收入",
19088
+ outstandingAmount: "应收金额",
19089
+ paidAmount: "已收金额",
19090
+ overdueAmount: "逾期金额",
19091
+ invoiceCount: "账单总数",
19092
+ paidInvoices: "已支付账单",
19093
+ overdueInvoices: "逾期账单",
19094
+ currency: "币种",
19095
+ currencyUnknown: "币种未知",
19096
+ sourceNote: "仅统计 BillingService 生成的正式账单,内部观测账单不计入。",
19097
+ metricScope: "MRR 仅随客户筛选变化;应收、已收、逾期和账单数同时应用全部筛选条件。",
19098
+ measuredAt: "统计时间",
19099
+ outstanding: "应收",
19100
+ paid: "已支付",
18698
19101
  noInvoices: "没有匹配的账单",
18699
- period: "Period",
19102
+ loadFailed: "客户计费概览加载失败",
19103
+ loadFailedDescription: "账单明细或计费汇总读取失败,金额不会按零值解释。",
19104
+ exportFailed: "账单导出失败",
19105
+ period: "账期",
19106
+ workbenchTitle: "收款工作状态",
19107
+ workbenchDescription: "根据正式账单和付款流程状态生成;内部观测账单不计入工作队列。",
19108
+ outstandingInvoices: "待收款账单",
19109
+ paymentFailures: "付款失败",
19110
+ transferReviews: "转账待审核",
19111
+ paymentsProcessing: "支付处理中",
19112
+ workStates: {
19113
+ noInvoices: "暂无正式账单",
19114
+ overdue: "存在逾期,需立即跟进",
19115
+ paymentFailed: "付款失败,需处理",
19116
+ transferReview: "银行转账待审核",
19117
+ collectionInProgress: "收款进行中",
19118
+ settled: "账单已结清",
19119
+ unknown: "计费状态未知",
19120
+ },
19121
+ workReasons: {
19122
+ noFormalInvoices: "当前筛选范围没有正式账单。",
19123
+ overdueCollectionRequired: "存在逾期账单,需要优先催收。",
19124
+ paymentFailureRequiresAction: "存在付款失败记录,需要检查支付渠道或联系客户。",
19125
+ bankTransferReviewRequired: "客户已提交银行转账凭证,等待财务审核。",
19126
+ paymentProcessing: "部分支付订单仍在渠道处理中。",
19127
+ outstandingCollectionRequired: "存在尚未结清的正式账单。",
19128
+ allFormalInvoicesSettled: "当前筛选范围内的正式账单均已结清。",
19129
+ },
18700
19130
  },
18701
19131
  invoiceDetail: {
18702
- invoiceId: "Invoice ID",
18703
- lineItem: "Line Item",
18704
- orgBaseFee: "Org Base Fee",
18705
- tokenCost: "Token Cost",
18706
- storageCost: "Storage Cost",
18707
- usageSubtotal: "Usage Subtotal",
19132
+ invoiceId: "账单 ID",
19133
+ lineItem: "计费项目",
19134
+ orgBaseFee: "组织基础费用",
19135
+ tokenCost: "Token 费用",
19136
+ storageCost: "存储费用",
19137
+ usageSubtotal: "用量费用小计",
19138
+ scopeRequired: "缺少账单所属客户",
19139
+ scopeRequiredDescription: "账单详情必须同时包含账单 ID 和客户工作区,避免跨客户读取。",
19140
+ loadFailed: "账单详情加载失败",
19141
+ loadFailedDescription: "无法读取该客户的账单,请稍后重试。",
19142
+ notFound: "未找到该客户范围内的账单",
18708
19143
  },
18709
19144
  health: {
18710
- expiryDays: "Expiry Days",
18711
- loginPerWeek: "Login / Week",
18712
- usage: "Usage",
19145
+ title: "租户健康明细",
19146
+ description: "健康状态综合订阅到期时间、每周登录活跃度和资源用量;点击租户可查看订阅详情。",
19147
+ needsAttention: "需关注",
19148
+ all: "全部",
19149
+ riskReason: "风险原因",
19150
+ riskReasons: {
19151
+ subscriptionMissing: "未找到有效订阅",
19152
+ subscriptionPastDue: "订阅已欠费",
19153
+ subscriptionUnpaid: "订阅尚未付款",
19154
+ subscriptionExpired: "订阅已过期",
19155
+ subscriptionExpiringSoon: "订阅将在 30 天内到期",
19156
+ loginActivityLow: "周登录活跃度低于 3 次",
19157
+ loginActivityBelowHealthy: "周登录活跃度未达到健康区间",
19158
+ usageVeryLow: "资源使用率低于 10%",
19159
+ usageBelowHealthy: "资源使用率未达到健康区间",
19160
+ usageHigh: "资源使用率超过 80%",
19161
+ subscriptionNotActive: "订阅不在生效状态",
19162
+ measurementUnavailable: "部分健康数据暂不可用",
19163
+ healthThresholdNotMet: "未达到健康判定标准",
19164
+ },
19165
+ expiryDays: "距到期天数",
19166
+ loginPerWeek: "每周登录次数",
19167
+ usage: "资源使用率",
19168
+ loadFailed: "租户健康数据加载失败",
19169
+ loadFailedDescription: "无法完整读取平台租户目录或健康指标。当前统计已隐藏,避免把缺失数据误判为健康。",
18713
19170
  },
18714
19171
  },
18715
19172
  impersonation: {
@@ -18761,6 +19218,11 @@ const messages = {
18761
19218
  issued: "已开具",
18762
19219
  paid: "已付款",
18763
19220
  overdue: "已逾期",
19221
+ expiringSoon: "即将到期",
19222
+ renewed: "已续费",
19223
+ disputed: "争议中",
19224
+ transferPending: "等待银行转账",
19225
+ transferSubmitted: "转账凭证已提交",
18764
19226
  void: "已作废",
18765
19227
  queued: "排队中",
18766
19228
  preparing: "准备中",
@@ -18825,6 +19287,18 @@ const messages = {
18825
19287
  quarterly: "按季度",
18826
19288
  yearly: "按年",
18827
19289
  },
19290
+ plan: {
19291
+ starter: "入门版",
19292
+ professional: "专业版",
19293
+ enterprise: "企业版",
19294
+ },
19295
+ measurement: {
19296
+ token: "Token 用量",
19297
+ api: "API 调用",
19298
+ file: "文件存储",
19299
+ login: "登录活动",
19300
+ seat: "席位",
19301
+ },
18828
19302
  providerKind: {
18829
19303
  openaiCompatible: "OpenAI 兼容",
18830
19304
  openai: "OpenAI",
@@ -18933,6 +19407,7 @@ const messages = {
18933
19407
  workbenchAria: "服务商运营工作台",
18934
19408
  recordsAria: "服务商配置与组织策略",
18935
19409
  riskTitle: "风险与安全后续操作",
19410
+ noActiveRisk: "当前没有需要处理的服务商风险。",
18936
19411
  contractGuarded: "契约受控",
18937
19412
  maskedAuditView: "脱敏审计视图",
18938
19413
  providerConfigs: "服务商配置",
@@ -19033,6 +19508,8 @@ const messages = {
19033
19508
  testProvider: "测试服务商能力",
19034
19509
  editProvider: "编辑服务商",
19035
19510
  probeResults: "能力测试结果",
19511
+ noWiredProbeTargets: "没有可测试的已接入能力。请先配置启用中的模型,并只选择运行时目录标记为已接入的能力。",
19512
+ noProbeResults: "没有返回能力测试证据",
19036
19513
  result: "结果",
19037
19514
  passed: "通过",
19038
19515
  failed: "失败",
@@ -19102,6 +19579,8 @@ const messages = {
19102
19579
  notWired: "未接入",
19103
19580
  capabilityCatalogTitle: "运行时能力目录",
19104
19581
  capabilityCatalogDescription: "每项能力只有在存在真实运行时消费者并接入时才可执行。未接入的能力无法在服务商上启用。",
19582
+ runtimeCatalogUnavailable: "运行时能力目录不可用",
19583
+ invalidJson: "{field} 的 JSON 格式无效",
19105
19584
  capabilityColumn: "能力",
19106
19585
  wiringColumn: "接入状态",
19107
19586
  runtimeConsumerColumn: "运行时消费者",
@@ -19123,6 +19602,9 @@ const messages = {
19123
19602
  },
19124
19603
  channelProviderControlPlane: {
19125
19604
  ui: {
19605
+ loadFailed: "渠道服务商控制面加载失败",
19606
+ loadFailedDescription: "无法读取渠道服务商配置和组织策略,请重试。",
19607
+ retry: "重试",
19126
19608
  capability: {
19127
19609
  send_email: "发送邮件",
19128
19610
  receive_email: "接收邮件",
@@ -19195,6 +19677,12 @@ const messages = {
19195
19677
  webhookSecret: "Webhook 密钥",
19196
19678
  updated: "更新时间",
19197
19679
  notWired: "未接入",
19680
+ invalidJson: "{field} 的 JSON 格式无效",
19681
+ configuredSecretRefHint: "已配置。留空将保留当前 SecretRef,不会读取或覆盖现有密钥。",
19682
+ optionalProviderSecretRefHint: "如果该服务商不需要凭据,可保持为空。",
19683
+ optionalWebhookSecretRefHint: "如果该渠道不需要 Webhook 签名校验,可保持为空。",
19684
+ wiredCapabilitiesHint: "仅可启用已经注册运行时消费者的能力。",
19685
+ notWiredCapabilitiesHint: "未接入运行时的服务商不能启用投递能力。",
19198
19686
  },
19199
19687
  },
19200
19688
  telephonyProviderControlPlane: {