{% extends "base.html" %} {% block content %} {% set copy = entry.translations[language] %}

{{ '部署合同' if language == 'zh' else 'Deployment contract' }}

{{ copy.name }}

{{ copy.summary }}

{{ '成熟度' if language == 'zh' else 'Maturity' }}
{{ copy.status_label }}
FunASR
{{ entry.tested.funasr }}
{{ '运行时' if language == 'zh' else 'Runtime' }}
{{ entry.tested.runtime }}
{{ '验证日期' if language == 'zh' else 'Verified' }}
{{ entry.tested.verified }}

{{ '适用边界' if language == 'zh' else 'Workload boundary' }}

{{ '先判断它是否适合你的生产约束' if language == 'zh' else 'Decide whether it fits your production constraints' }}

{{ '适合' if language == 'zh' else 'Good fit' }}

    {% for item in copy.fit %}
  • {{ item }}
  • {% endfor %}

{{ '不适合' if language == 'zh' else 'Not a fit' }}

    {% for item in copy.not_fit %}
  • {{ item }}
  • {% endfor %}
{{ '模型' if language == 'zh' else 'Models' }}{{ entry.models | join(' / ') }}
{{ '硬件' if language == 'zh' else 'Hardware' }}{{ entry.hardware | join(' / ') }}
{{ '操作系统' if language == 'zh' else 'Operating systems' }}{{ entry.operating_systems | join(' / ') }}
{{ '接口' if language == 'zh' else 'Interfaces' }}{{ entry.interfaces | join(' / ') }}
{% set downloads = entry.get('downloads', []) %} {% if downloads %}

{{ '发布资产' if language == 'zh' else 'Release assets' }}

{{ '按操作系统和后端下载已校验的预编译包' if language == 'zh' else 'Download a verified package for your operating system and backend' }}

{{ 'SHA-256 来自公开 GitHub Release;下载后先核对摘要,再在目标硬件完成 smoke test。' if language == 'zh' else 'SHA-256 values come from the public GitHub Release. Verify the digest, then run a smoke test on the target hardware.' }}

{% for item in downloads %} {% endfor %}
{{ '系统' if language == 'zh' else 'OS' }} {{ '架构' if language == 'zh' else 'Architecture' }} {{ '后端' if language == 'zh' else 'Backend' }} {{ '下载' if language == 'zh' else 'Download' }} SHA-256
{{ item.operating_system }} {{ item.architecture }} {{ item.backend }} {{ item.archive }} {{ item.sha256 }}
{% endif %}

{{ '运行路径' if language == 'zh' else 'Run path' }}

{{ '从安装到已知音频验证' if language == 'zh' else 'From installation to known-audio verification' }}

{{ '以下命令来自当前验证清单;上线前固定依赖、模型和硬件。' if language == 'zh' else 'These commands come from the current verification registry. Pin dependencies, model, and hardware before rollout.' }}

{% if entry.get('runtime_paths') %} {% for path in entry.runtime_paths %} {% set path_copy = path.translations[language] %}

{{ path_copy.name }}

{{ path_copy.summary }}

{{ '验证口径' if language == 'zh' else 'Validation scope' }}: {{ path.tested }}

{% for group, commands in [('install', path.commands.install), ('launch', path.commands.launch), ('health', path.commands.health), ('smoke', path.commands.smoke)] %}

{{ {'install': ('安装' if language == 'zh' else 'Install'), 'launch': ('启动' if language == 'zh' else 'Launch'), 'health': ('健康检查' if language == 'zh' else 'Health check'), 'smoke': 'Smoke test'}[group] }}

{% for command in commands %}
{{ command }}
{% endfor %}
{% endfor %}
{% endfor %} {% else %} {% for group, commands in [('install', entry.commands.install), ('launch', entry.commands.launch), ('health', entry.commands.health)] %}

{{ {'install': ('安装' if language == 'zh' else 'Install'), 'launch': ('启动' if language == 'zh' else 'Launch'), 'health': ('健康检查' if language == 'zh' else 'Health check')}[group] }}

{% for command in commands %}
{{ command }}
{% endfor %}
{% endfor %} {% endif %}
{% if not entry.get('runtime_paths') %}

Smoke test

{{ '发布前必须通过的最小验证' if language == 'zh' else 'Minimum verification before promotion' }}

{% for command in entry.commands.smoke %}
{{ command }}
{% endfor %}
{% endif %}

{{ '运行与容量' if language == 'zh' else 'Operations and capacity' }}

{{ '把可运行推进到可运营' if language == 'zh' else 'Move from runnable to operable' }}

{{ '运行检查' if language == 'zh' else 'Operational checks' }}

    {% for item in copy.operations %}
  • {{ item }}
  • {% endfor %}

{{ '容量变量' if language == 'zh' else 'Capacity variables' }}

  • {{ '音频时长、语言、声道和 VAD 分段分布' if language == 'zh' else 'Audio duration, language, channels, and VAD segment distribution' }}
  • {{ '并发、队列等待、预热与模型缓存状态' if language == 'zh' else 'Concurrency, queue time, warmup, and model-cache state' }}
  • {{ '精确硬件、驱动、运行时和线程配置' if language == 'zh' else 'Exact hardware, driver, runtime, and thread configuration' }}

{{ '故障排查' if language == 'zh' else 'Troubleshooting' }}

    {% for item in copy.troubleshooting %}
  • {{ item }}
  • {% endfor %}

{{ '安全边界' if language == 'zh' else 'Security boundary' }}

{{ '生产入口默认不信任' if language == 'zh' else 'Treat production ingress as untrusted' }}

{{ '已知限制' if language == 'zh' else 'Known limitation' }}

{{ copy.primary_limitation }}

{{ '公开基准仅用于复现起点,不替代目标业务负载测试。' if language == 'zh' else 'Public benchmarks are reproduction starting points, not substitutes for target-workload testing.' }}

{{ '证据与反馈' if language == 'zh' else 'Evidence and feedback' }}

{{ '从原始资料核对部署合同' if language == 'zh' else 'Verify this contract against primary material' }}

{{ '报告部署问题' if language == 'zh' else 'Report a deployment issue' }} {% if entry.benchmarks %}{{ '查看相关基准记录' if language == 'zh' else 'View related benchmark records' }} {% endif %}
{% endblock %}