{{ getPageTitle() }}

{{ lang === 'en' ? '中文' : 'English' }} {{ lang === 'cn' ? '版本' : 'Build' }} {{ appVersion }}
{{ currentUser?.username }} ({{ currentUser?.role }})
🔴 执行锁定
锁定时间: {{ formatDateTime(executionLockInfo.locked_at) }}
原因: {{ executionLockInfo.lock_reason }}

如有问题可在此留言,我们会跟进。

{{ t('customer') }}{{ sortIndicator('customer') }} SHIP{{ sortIndicator('ship') }} {{ t('container_no') }}{{ sortIndicator('container_no') }} 车架号 (Chassis){{ sortIndicator('chassis') }} {{ t('terminal') }}{{ sortIndicator('terminal') }} ETA{{ sortIndicator('eta') }} PU-LFD{{ sortIndicator('pu_lfd') }} {{ t('rt_lfd') }}{{ sortIndicator('rt_lfd') }} BOL{{ sortIndicator('bol') }} {{ t('size') }}{{ sortIndicator('size') }} {{ t('delivery_to') }}{{ sortIndicator('delivery_to') }} {{ t('wh_appt') }}{{ sortIndicator('warehouse_appt') }} {{ t('driver') }}{{ sortIndicator('driver') }} {{ t('note') }} {{ t('status') }}{{ sortIndicator('status') }} Delete
{{ t('no_shipments_found') }}
⚠️ {{ shipment.container_no || '-' }}
{{ getStatusLabel(shipment.status) }} {{ shipment.hold_status }}
{{ getStatusOptionLabel(opt) }}

Change Password

{{ t('overview_title') }}

最后刷新: {{ overviewLastRefreshedAt || '—' }}
加载中...
执行锁定
系统正常
{{ m.module_name }} {{ getOverviewStatusLabel(m) }}
最后运行:{{ m.last_run || '—' }}
结果:{{ m.last_outcome || '—' }}
错误:{{ m.last_error_zh || '—' }}
最近运行: {{ m.last_run }}
{{ m.last_error_zh }}
API 密钥:{{ m.api_key_state }}
已入库 {{ emailPullerProgress.stored }}
最近柜号:{{ emailPullerProgress.recent_containers.join('、') }}
点「日志」可看实时明细
{{ t('short_name') }} {{ t('company_name') }} {{ t('address') }} {{ t('actions') }}
{{ t('no_customers_found') }}
{{ customer.short_name }} {{ customer.company_full_name || '-' }} {{ customer.address || '-' }}
{{ t('username') }} {{ t('role') }} {{ t('actions') }}
{{ employee.username }} {{ employee.role }}

邮件规则

点击刷新触发一次邮件抓取。

爬虫:{{ emailRulesCrawlerEnabled ? '已开启' : '已关闭' }}

运行记录

加载运行记录...
Run ID Module Outcome Started Finished Actions
{{ run.run_id }} {{ run.module || '-' }} {{ run.outcome || run.status }} {{ formatDateTime(run.started_at) }} {{ run.finished_at ? formatDateTime(run.finished_at) : '-' }}

API Key 管理

{{ apiKeyTestResult }}

AI 运维 - 协作规范

{{ t('system_facts_title') }}

{{ t('version') }}: {{ systemFacts.version }} {{ t('updated') }}: {{ systemFacts.last_updated }}
{{ t('loading') }} {{ systemFactsError }} {{ systemFacts.content || t('no_content') }}

{{ t('redlines_title') }}

{{ t('loading') }} {{ redlinesError }} {{ redlinesContent || t('no_content') }}

QA Gate 状态

{{ t('loading') }}
状态: ✓ PASS ✗ FAIL UNKNOWN
最后执行: {{ gateStatus.last_run_time }}
主系统 Commit: {{ gateStatus.commit_hash }}
{{ gateStatus.message }}
⚠️ 阻断提示: 当前 Gate 状态为 {{ gateStatus.status }},高风险操作(改配置/上线)被禁用。请先运行 /opt/newbility/scripts/qa_gate.sh 并通过后再继续。

运行诊断

仅执行只读/诊断类脚本(安全模式)

{{ diagnosticResult }}

执行中...

Role Selector

{{ roleDescriptions[selectedRole] }}

Prompt Composer

⚠️ 当前 Gate 未通过,禁止执行变更。生成的 Prompt 已自动添加阻断提示。

{{ t('module_config_center_title') }}

{{ t('overview_loading') }}
{{ modulesError }}

{{ module.module_name }}

自动扫描
执行时刻
状态: {{ module.secret_set ? '已设置' : '未设置' }}

{{ t('global_mail_config') }}

Password is masked for security. Enter a new value only if you want to change it.

{{ t('module_switches_title') }}

{{ t('module_switches_loading') }}
{{ flag.label }}
{{ flag.desc }}
{{ featureFlags[flag.key] ? t('module_enabled') : t('module_disabled') }}
运行 {{ selectedRun?.run_id || '' }}
Overview
Outcome {{ selectedRun.outcome || selectedRun.status }}
Module {{ selectedRun.module || '-' }}
Trigger {{ selectedRun.trigger_source }}
Started {{ formatDateTime(selectedRun.started_at) }}
Finished {{ selectedRun.finished_at ? formatDateTime(selectedRun.finished_at) : '-' }}
Summary {{ selectedRun.result_summary || '-' }}
Error {{ selectedRun.error_reason || '-' }}
{{ selectedRun.log_excerpt }}
覆盖字段
提取结果
加载提取结果...
字段 候选值 置信度 状态 依据 操作
{{ item.field_key }} {{ item.candidate_value }} {{ item.confidence }} {{ item.status }} {{ item.evidence_snippet }}
~
Bill ID Shipment ID {{ t('amount') }} {{ t('currency') }} {{ t('status') }} {{ t('due_date') }} {{ t('actions') }}
{{ t('no_bills_found') }}
{{ bill.id ? bill.id.substring(0, 8) + '...' : '-' }} {{ bill.shipment_id ? bill.shipment_id.substring(0, 8) + '...' : '-' }} ${{ bill.amount ? bill.amount.toFixed(2) : '0.00' }} {{ bill.currency || 'USD' }} {{ bill.status || '-' }} {{ formatDate(bill.due_date) }}