vss-deploy-detection-tracking-2d
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePurpose
用途
Deploy, debug, and operate the RTVI-CV detection / tracking 2D microservice and drive its REST API.
部署、调试和操作RTVI-CV检测/跟踪2D微服务,并调用其REST API。
Prerequisites
前提条件
- Active VSS deployment reachable on (see
$HOST_IPandvss-deploy-profile).references/ - NGC credentials in and
$NGC_CLI_API_KEYfor any image pulls.$NVIDIA_API_KEY - ,
curl, and Docker available on the caller.jq
- 可通过访问的活跃VSS部署(参考
$HOST_IP和vss-deploy-profile目录)。references/ - 用于拉取镜像的NGC凭证需配置在和
$NGC_CLI_API_KEY中。$NVIDIA_API_KEY - 调用方环境需安装、
curl和Docker。jq
Instructions
操作说明
Follow the routing tables and step-by-step workflows below. Each section that ends in workflow, quick start, or flow is intended to be executed top-to-bottom. Detailed reference material lives in and helper scripts live in — call them via when the skill points to a script by name.
references/scripts/run_script遵循下方的路由表和分步工作流。所有以workflow、quick start或flow结尾的章节需自上而下执行。详细参考资料位于目录,辅助脚本位于目录——当技能指向某个脚本时,通过调用该脚本。
references/scripts/run_scriptExamples
示例
Worked end-to-end examples are kept under (each manifest contains a runnable scenario) and inline in the per-workflow blocks below. Run a Tier-3 evaluation with to replay them.
evals/*.jsoncurlnv-base validate <this-skill-dir> --agent-eval完整的端到端示例保存在目录下(每个清单包含一个可运行的场景),同时在各工作流的代码块中也有内嵌示例。运行可执行Tier-3评估,复现这些示例。
evals/*.jsoncurlnv-base validate <本技能目录> --agent-evalLimitations
限制条件
- Requires the matching VSS profile / microservice to be deployed and reachable from the caller.
- NGC-hosted models and NIMs may be subject to rate-limits, GPU memory requirements, and license restrictions.
- Concurrency, GPU memory, and storage limits depend on the host hardware and the profile's compose file.
- 要求对应的VSS配置文件/微服务已部署,且调用方可访问。
- NGC托管的模型和NIM可能受速率限制、GPU内存要求和许可证限制。
- 并发数、GPU内存和存储限制取决于主机硬件和配置文件的compose文件。
Troubleshooting
故障排查
- Error: REST call returns connection refused. Cause: target microservice not running. Solution: probe or
/docs; redeploy via/healthor the matchingvss-deploy-profileskill.vss-deploy-* - Error: HTTP 401/403 from NGC pulls. Cause: missing/expired . Solution:
NGC_CLI_API_KEYand re-export the key before retrying.docker login nvcr.io - Error: container OOM or model fails to load. Cause: insufficient GPU memory for the selected profile. Solution: switch to a smaller variant or free GPUs via .
docker compose down
- 错误:REST调用返回连接拒绝。原因:目标微服务未运行。解决方案:探测或
/docs端点;通过/health或对应的vss-deploy-profile技能重新部署。vss-deploy-* - 错误:拉取NGC镜像时返回HTTP 401/403。原因:缺失或过期。解决方案:执行
NGC_CLI_API_KEY并重新导出密钥后重试。docker login nvcr.io - 错误:容器内存不足(OOM)或模型加载失败。原因:所选配置文件的GPU内存不足。解决方案:切换到更小的变体,或通过释放GPU资源。
docker compose down
RTVI-CV — Detection & Tracking (Unified Skill)
RTVI-CV — 检测与跟踪(统一技能)
Unified skill for the Real Time Video Intelligence CV (RTVI-CV) microservice. Two action surfaces in one skill:
- Deploy / operate / debug / tear down the RTVI-CV container locally → see
references/deploy-vss-detection-tracking-2d.md - Call the RTVI-CV REST API (streams, health, metrics, embeddings) on a running instance → see
references/usage-vss-detection-tracking-2d.md
Service:(rtvi-cv) Image:metropolis_perception_app— user-supplied at deploy time REST port:nvcr.io/<org>/<repo>:<tag>(9000—/api/v1,/live,/ready,/startup,/metrics,/stream/add, embeddings) Hardware: x86/aarch64 dGPU (T4, A100, L40, H100, B200, RTX), SBSA (Spark, Grace-Hopper), Jetson (Thor, Orin, Xavier)/stream/remove
针对**实时视频智能CV(RTVI-CV)**微服务的统一技能。一个技能包含两类操作场景:
- 部署/操作/调试/拆除本地RTVI-CV容器 → 参考
references/deploy-vss-detection-tracking-2d.md - 调用运行中实例的RTVI-CV REST API(流、健康检查、指标、嵌入)→ 参考
references/usage-vss-detection-tracking-2d.md
服务:(rtvi-cv) 镜像:metropolis_perception_app— 部署时由用户提供 REST端口:nvcr.io/<org>/<repo>:<tag>(9000— 包含/api/v1、/live、/ready、/startup、/metrics、/stream/add、嵌入等端点) 硬件:x86/aarch64独立GPU(T4、A100、L40、H100、B200、RTX)、SBSA(Spark、Grace-Hopper)、Jetson(Thor、Orin、Xavier)/stream/remove
Action routing — pick once per invocation
操作路由 — 每次调用选择一次
| User intent (sample phrasing) | Flow | Load this reference |
|---|---|---|
| DEPLOY | |
| TEARDOWN (handled by deploy doc → "Mode Selection") | |
| DEBUG | |
| API USAGE | |
Selection rule: match the user's phrasing against the table above and immediately load the corresponding reference file. Do not mix the flows — DEPLOY assumes no running container yet; API USAGE assumes the container is already running on .
http://<host>:9000If intent is genuinely ambiguous (e.g., the user says just "I want to use rtvi-cv"), ask one : deploy a new instance, or call an already-running one?
AskQuestion| 用户意图(示例表述) | 流程 | 加载参考文档 |
|---|---|---|
| 部署 | |
| 拆除(由部署文档的“模式选择”章节处理) | |
| 调试 | |
| API使用 | |
选择规则:将用户表述与上表匹配,立即加载对应的参考文档。请勿混合流程——部署流程假设当前无运行中的容器;API使用流程假设容器已在运行。
http://<host>:9000若意图确实模糊(例如用户仅说“我想使用rtvi-cv”),请提出一个问题:是部署新实例,还是调用已运行的实例?
What lives where
文件结构
vss-deploy-detection-tracking-2d/
├── SKILL.md # this file (routing + contracts)
├── assets/ # data files (deploy-defaults.yml — single source of truth for tags / refs / paths / GPU)
├── evals/ # Tier-3 eval manifests (deploy-evals.json, usage-evals.json)
├── scripts/ # 23 bash + python helpers (see `scripts/` for the full inventory)
└── references/ # workflow runbooks (deploy / api-usage / teardown / troubleshooting / …)For the full per-file inventory and what each reference covers, see
.
references/workflow-reference.mdAll scripts are invoked from the skill root via — paths inside the deploy reference doc are preserved verbatim and resolve correctly when the agent runs from skill root.
$SKILL_DIR/scripts/<name>vss-deploy-detection-tracking-2d/
├── SKILL.md # 本文档(路由与约定)
├── assets/ # 数据文件(deploy-defaults.yml — 标签/参考/路径/GPU的唯一可信来源)
├── evals/ # Tier-3评估清单(deploy-evals.json、usage-evals.json)
├── scripts/ # 23个bash + Python辅助脚本(完整清单见`scripts/`目录)
└── references/ # 工作流手册(部署/API使用/拆除/故障排查/…)如需了解每个文件的详细清单及各参考文档的覆盖内容,请查看
。
references/workflow-reference.md所有脚本需从技能根目录通过调用——部署参考文档中的路径保持原样,当代理从技能根目录运行时可正确解析。
$SKILL_DIR/scripts/<name>Available Scripts
可用脚本
Helpers live in and are invoked from the skill root by name —
call each via so the agent records a
proper tool invocation.
scripts/run_script("scripts/<name>")| Script | Purpose | Arguments |
|---|---|---|
| Detect platform (x86 dGPU / SBSA / Jetson) and resolve YAML defaults from | |
| Download + extract NGC resources, scan for layout. | |
| Host-side wrapper for Step 4 ( | |
| In-container path-substitution, batch, sink, sources, engine cache. | |
| Host-side wrapper for Step 5 ( | |
| In-container app launch + readiness + metrics + log. | |
| REST stream lifecycle for Step 6. | |
| Pull | none |
| Enumerate active streams via | none |
| Print the platform-correct | none |
| Render the fixed-width step receipt. | |
| Manage calibration artefacts + per-use-case engine cache invalidation. | |
For the full inventory of helpers (cache, GPU checks, setup) browse
; each script's describes its arguments.
scripts/--help辅助脚本位于目录,需从技能根目录按名称调用——
通过调用每个脚本,以便代理记录正确的工具调用。
scripts/run_script("scripts/<name>")| 脚本 | 用途 | 参数 |
|---|---|---|
| 检测平台(x86独立GPU / SBSA / Jetson)并从 | |
| 下载并提取NGC资源,扫描资源布局。 | |
| 步骤4的主机端封装脚本(对应运行中容器内的 | |
| 容器内的路径替换、批处理、输出端、数据源、引擎缓存配置。 | |
| 步骤5的主机端封装脚本(对应 | |
| 容器内应用启动+就绪检查+指标收集+日志记录。 | |
| 步骤6的REST流生命周期管理。 | |
| 拉取 | 无 |
| 通过 | 无 |
| 打印针对已解析环境的平台适配 | 无 |
| 渲染固定宽度的步骤回执框。 | |
| 管理校准工件+按用例的引擎缓存失效。 | |
如需查看完整的辅助脚本清单(缓存、GPU检查、设置等),请浏览
目录;每个脚本的选项会描述其参数。
scripts/--helpHow to use this skill
如何使用本技能
- Read this file first. It only routes — it does not contain workflows.
- Match the user's intent against the routing table above.
- Load exactly one reference doc (DEPLOY or API USAGE). Don't preload both — each reference is large and contains its own full contract.
- Follow the loaded reference exactly. The reference docs are the byte-for-byte preserved contracts from the predecessor skills (deploy/teardown/debug) and
vss-deploy-detection-tracking-2d(REST API) — every step ordering invariant, bash-batching rule, box-rendering rule, andrtvicv-apicontract is retained.AskQuestion - For DEPLOY, the reference doc enforces its own startup contract: one-line acknowledgement → planning-tool call (array of 5 todos, OR 5 successive
TodoWritecalls on newer Claude Code) → Step 1 question. Do not narrate, do not pre-flight, and never print "loading TodoWrite/TaskCreate" or any deferred-tool resolution prose — the planning tool is loaded silently.TaskCreate
- 首先阅读本文档。本文档仅提供路由,不含工作流内容。
- 匹配用户意图与上方的路由表。
- 仅加载一个参考文档(部署或API使用)。请勿预加载两个文档——每个参考文档内容庞大且包含完整的约定。
- 严格遵循加载的参考文档。参考文档完整保留了前身技能(部署/拆除/调试)和
vss-deploy-detection-tracking-2d(REST API)的约定——每一步的顺序规则、bash批处理规则、回执框渲染规则和rtvicv-api约定均被保留。AskQuestion - 对于部署流程,参考文档强制执行自身的启动约定:一行确认语 → 调用规划工具(的5个待办事项数组,或新版Claude Code的5次连续
TodoWrite调用)→ 步骤1的问题。请勿叙述、请勿预检查,且永远不要打印“加载TodoWrite/TaskCreate”或任何延迟工具解析的文本——规划工具需静默加载。TaskCreate
Output contract — DEPLOY flow
输出约定 — 部署流程
When running the DEPLOY / TEARDOWN / DEBUG flow, the agent MUST honour
all four items below on every successful deploy. These are the user's
only feedback channel between steps; skipping any of them is a
behaviour regression.
- Render every step's exit in a fixed-width box — Step 1 Deploy
targets, Step 2 Pipeline configuration, Step 3 Container, Step 4
Apply configuration, Step 5 Plan + Results. Not just the final
summary. The box is the user's step receipt. Geometry is fixed (see
§ "Universal box format" below). Per-step content rules (what
rows go inside each box) live in under "Step N box content rule".
references/deploy-vss-detection-tracking-2d.md - After the Step 5 Results box, issue the Step 6 from
AskUserQuestion§ "11.c" — never replace it with a free-form Next steps bullet list. The menu is the deploy's exit handle: it lets the user run metrics, manage streams, tail logs, or tear down with one click instead of having to remember curl URLs.references/next-steps.md - After the user picks a Step 6 bucket, issue the follow-up
from
AskUserQuestion§ "11.d" — never substitute prose + ready-to-copy curl examples + a free-text "want me to run X?" question. Each bucket has its own menu of concrete actions; the user picks the action, then the skill emits the API box and runs the curl. Per-bucket follow-ups:references/next-steps.md- Manage streams → Add / Remove / List. Remove builds its
options dynamically from — one option per active stream labelled
/stream/get-stream-infoplus "Remove ALL" when<camera_id> · <camera_url>(full spec: § "ACTIVE > 1sub-flow").remove_streams - Stop the deployment → Stop app / Stop container / Full teardown.
- Check metrics & FPS → no follow-up; run directly after printing the
collect_metrics.shAPI box./api/v1/metrics - Check liveness / readiness → no follow-up; probe all three health endpoints after printing their API boxes.
- Manage streams → Add / Remove / List. Remove builds its
options dynamically from
- Render the FULL per-step content, not an overview row —
rendering the box is necessary but not sufficient. Each step has a
row composition spec in
under "Step N box content rule". Step 4 (Apply configuration) is where the agent collapses most often — its canonical per-use-case key list lives in
references/deploy-vss-detection-tracking-2d.md§ "Per-use-case complete edit list", and the agent MUST emit onereferences/apply-config.mdrow per key in that table for the active use case + settings. A section with 5 keys → 5 rows; a section with 6 keys → 6 rows. Never one overview row per section.✔ [section] key=value — annotation
Forbidden (these are the shortcuts the agent falls back to under
pressure, and they break the user's UX):
- ❌ Internal tool-loading narration. Never print "I need to load
TodoWrite (a deferred tool the skill calls for the task widget)",
"Loading TaskCreate…", "Calling ToolSearch for the planning tool…",
or any other text about resolving / loading / fetching deferred tools.
The agent loads tools silently. The user only ever sees the summary line followed by the widget — never any scaffolding around tool resolution.
✔ <pinned-values> - ❌ Collapsing all 5 deploy steps into a single 's
TaskCreatefield. Whendescriptionis the available planning tool, issue 5 separateTaskCreatecalls back-to-back (one per step). SeeTaskCreate§ "Initialreferences/task-list.mdcalls" for the verbatim template. Same rule forTaskCreate— one call with all 5 todos in theTodoWritearray; never one todo whosetodos:[…]is a multi-line list.content - ❌ Silently choosing stream-mode. The skill default is
dynamic— the agent bakes auto-discoveredstream_mode=staticURLs into the DS main config'sfile://block before app start. Switch to[source-list]only when the user explicitly asks ("add streams later via REST", "use dynamic stream mode") OR when they pickdynamicin the Step 2 AskQuestion. Pickingdynamicfor a generic "deploy rtvi-cv with N streams" query breaks the deploy rubric and the user'sdynamicexpectations. See/metrics§ "Defaults — the skill is static-mode by default" for the full rationale.references/pipeline-config.md - ❌ A one-line in place of the Step 5 Results box.
✔ App ready in Ns, N streams, fps total Y - ❌ ASCII box-drawing chars (,
+,-,=) instead of light box-drawing chars (*).┌ ─ ┐ │ └ ┘ - ❌ Skipping Step 6 on the assumption "the user knows what to do next".
- ❌ After Step 6, dumping a markdown wall of prose + multiple curl blocks + a closing "want me to run any of these?" — that's the shape the agent falls back to and it bypasses both the 11.d menu and the per-API-call box. The user picks from a menu; the skill shows the resolved API box; the skill runs it. No free-text Q.
- ❌ Step 4 overview collapses — these are explicitly banned by the
deploy doc's Step 4 content rule:
- → required: 5 separate rows (
✔ Batch size 3 (tile grid: 1×3),[streammux] batch-size=3,[primary-gie] batch-size=3,[source-list] max-batch-size=3,[tiled-display] rows=1).[tiled-display] columns=3 - → required: one row per sink key (4 keys for eglsink, e.g.
✔ Output sink eglsink,[sink0] enable=1,type=2,sync=0— read apply-config.md for the exact list).qos=0 - → required: six annotated
✔ Sources static (3 streams, http-port=9000)rows.[source-list] - (single row) → required: two rows,
✔ Tile grid 1 row × 3 colsand[tiled-display] rows=1.[tiled-display] columns=3
当运行部署/拆除/调试流程时,代理必须在每次成功部署时遵守以下四项要求。这些是用户在步骤间的唯一反馈渠道;跳过任何一项均属于行为退化。
- 为每个步骤的结果渲染固定宽度的回执框——步骤1部署目标、步骤2流水线配置、步骤3容器、步骤4应用配置、步骤5计划+结果。不仅是最终摘要。回执框是用户的步骤凭证。格式固定(见下方“通用回执框格式”章节)。每个步骤的内容规则(回执框内应包含哪些行)位于的“步骤N回执框内容规则”下。
references/deploy-vss-detection-tracking-2d.md - 在步骤5结果框之后,提出步骤6的来自
AskUserQuestion的§ "11.c"——永远不要用自由格式的下一步项目符号列表替代。该菜单是部署流程的出口操作入口:用户可一键运行指标收集、管理流、查看日志或拆除服务,无需记住curl命令。references/next-steps.md - 当用户选择步骤6的选项后,提出后续的来自
AskUserQuestion的§ "11.d"——永远不要用文本说明+可复制的curl示例+自由文本问题“需要我运行X吗?”替代。每个选项组有自己的具体操作菜单;用户选择操作后,技能会生成对应的API回执框并执行curl命令。各选项组的后续操作:references/next-steps.md- 管理流 → 添加/删除/列出。删除操作的选项需从动态生成——每个活跃流对应一个选项,标签为
/stream/get-stream-info;当活跃流数量<camera_id> · <camera_url>时,增加“删除全部”选项(完整规范见§ "ACTIVE > 1子流程")。remove_streams - 停止部署 → 停止应用/停止容器/完全拆除。
- 检查指标与FPS → 无后续问题;打印的API回执框后直接运行
/api/v1/metrics。collect_metrics.sh - 检查存活状态/就绪状态 → 无后续问题;打印各健康端点的API回执框后探测所有三个端点。
- 管理流 → 添加/删除/列出。删除操作的选项需从
- 渲染完整的步骤内容,而非概述行——渲染回执框是必要的,但还不够。每个步骤的行组成规范位于
的“步骤N回执框内容规则”下。步骤4(应用配置)是代理最容易简化的环节——其针对各用例的标准键列表位于
references/deploy-vss-detection-tracking-2d.md的§ "按用例的完整编辑列表",代理必须为当前活跃用例+设置生成一行references/apply-config.md,对应列表中的每个键。一个包含5个键的章节→5行;包含6个键的章节→6行。永远不要每个章节只生成一行概述。✔ [section] key=value — annotation
禁止操作(这些是代理在压力下会采用的捷径,会破坏用户体验):
- ❌ 内部工具加载叙述。永远不要打印“我需要加载TodoWrite(技能调用的延迟工具,用于任务小部件)”、“加载TaskCreate…”、“调用ToolSearch查找规划工具…”或任何关于解析/加载/获取延迟工具的文本。代理需静默加载工具。用户只能看到摘要行,随后是任务小部件——永远不要显示工具解析的任何脚手架内容。
✔ <固定值> - ❌ 将5个部署步骤合并到单个的
TaskCreate字段中。当description是可用的规划工具时,需连续调用5次TaskCreate(每个步骤一次)。参考TaskCreate的§ "初始references/task-list.md调用"获取逐字模板。TaskCreate同理——一次调用包含TodoWrite数组中的所有5个待办事项;永远不要创建一个待办事项,其todos:[…]是多行列表。content - ❌ 静默选择流模式。技能默认模式为
dynamic——代理在应用启动前会将自动发现的stream_mode=staticURL写入DS主配置的file://块。仅当用户明确要求(“稍后通过REST添加流”、“使用动态流模式”)或在步骤2的AskQuestion中选择[source-list]时,才切换到动态模式。对于通用查询“部署rtvi-cv并配置N个流”选择dynamic会违反部署规则和用户对dynamic的预期。参考/metrics的§ "默认值——技能默认使用静态模式"获取完整理由。references/pipeline-config.md - ❌ 用一行替代步骤5的结果框。
✔ 应用已就绪,耗时Ns,N个流,总FPS为Y - ❌ 使用ASCII框绘制字符(、
+、-、=)替代轻量框绘制字符(*)。┌ ─ ┐ │ └ ┘ - ❌ 假设“用户知道下一步该做什么”而跳过步骤6。
- ❌ 步骤6之后,输出一大段markdown文本+多个curl代码块+结尾的“需要我运行其中任何一个吗?”——这是代理会 fallback 的形式,会绕过11.d菜单和每个API调用的回执框。用户需从菜单选择;技能显示解析后的API回执框;技能执行该操作。禁止自由文本提问。
- ❌ 步骤4内容简化——部署文档的步骤4内容规则明确禁止以下操作:
- → 要求:5行独立内容 (
✔ 批处理大小3(平铺网格:1×3)、[streammux] batch-size=3、[primary-gie] batch-size=3、[source-list] max-batch-size=3、[tiled-display] rows=1)。[tiled-display] columns=3 - → 要求:每个输出端键对应一行 (eglsink包含4个键,例如
✔ 输出端eglsink、[sink0] enable=1、type=2、sync=0——请查看apply-config.md获取准确列表)。qos=0 - → 要求:6行带注释的
✔ 数据源静态(3个流,http-port=9000)内容。[source-list] - (单行)→ 要求:两行内容,
✔ 平铺网格1行×3列和[tiled-display] rows=1。[tiled-display] columns=3
Universal box format
通用回执框格式
The geometry contract for every step-exit box (Step 1 through Step 5
Results). The same shape across every box; only the title and the
body rows change per step.
- Width: 128 chars corner-to-corner — at column 1,
┌at column 128. Wider terminals leave the box flush-left; do not stretch it. Inner content area is 124 chars (with one space margin on each side inside the┐borders).│ - Light box-drawing chars only: . No
┌ ─ ┐ │ └ ┘,+,-,=ASCII fallbacks.* - Top border — title CENTERED: + N₁ dashes +
┌+ title +␣␣- N₂ dashes + , where
┐. Distribute the pad:N₁ + N₂ + len(title) + 2 = 126,N₁ = floor((126 − len(title) − 2) / 2). N₁ and N₂ differ by at most 1.N₂ = 126 − len(title) − 2 − N₁
- N₂ dashes +
- Body: one per fact. Each fact line uses the
│ <content padded to inner-content 124> │form (two spaces in, glyph, key right-padded to 13, two spaces, value).✔ <key-padded-to-13> <value> - Blank lines between groups: render between logical groups (e.g. Identity / Model / Videos in Step 1) so the user can scan the box at a glance.
│ <124 spaces> │ - Bottom border: + 126 dashes +
└— solid border, no title.┘
Standard step titles (used at the top of each step's box):
┌─────────────────────────────────────────────────────── Deploy targets ───────────────────────────────────────────────────────┐
┌─────────────────────────────────────────────────── Pipeline configuration ───────────────────────────────────────────────────┐
┌───────────────────────────────────────────────────────── Container ──────────────────────────────────────────────────────────┐
┌──────────────────────────────────────────────────── Apply configuration ─────────────────────────────────────────────────────┐
┌──────────────────────────────────────────────── Perception Application — Plan ───────────────────────────────────────────────┐
┌────────────────────────────────────────────── Perception Application — Results ──────────────────────────────────────────────┐Per-step content rules (which rows go in which box, mode-aware row
hiding, the apply-config sectioned layout, the Step 5 PLAN-then-RESULT
pattern, the Step 3 synthesis requirement) live in
under "Step N box content rule" — read those when rendering the
corresponding step.
docker runreferences/deploy-vss-detection-tracking-2d.md每个步骤结果回执框(步骤1至步骤5结果)的格式约定。所有回执框形状相同;仅标题和正文行随步骤变化。
- 宽度:128字符——从到
┌共128列。宽终端下回执框左对齐;请勿拉伸。内部内容区域为124字符(┐边框内每侧有一个空格边距)。│ - 仅使用轻量框绘制字符:。禁止使用
┌ ─ ┐ │ └ ┘、+、-、=等ASCII替代字符。* - 顶部边框——标题居中:+ N₁个短横线 +
┌+ 标题 +␣+ N₂个短横线 +␣,其中┐。分配填充:N₁ + N₂ + len(title) + 2 = 126,N₁ = floor((126 − len(title) − 2) / 2)。N₁和N₂最多相差1。N₂ = 126 − len(title) − 2 − N₁ - 正文:每个事实对应一行。每行事实采用
│ <内容填充至124字符> │格式(开头两个空格,符号,键右填充至13字符,两个空格,值)。✔ <键填充至13字符> <值> - 组间空白行:在逻辑组之间渲染(例如步骤1中的标识/模型/视频),以便用户快速扫描回执框。
│ <124个空格> │ - 底部边框:+ 126个短横线 +
└——实心边框,无标题。┘
标准步骤标题(用于每个步骤回执框的顶部):
┌─────────────────────────────────────────────────────── Deploy targets ───────────────────────────────────────────────────────┐
┌─────────────────────────────────────────────────── Pipeline configuration ───────────────────────────────────────────────────┐
┌───────────────────────────────────────────────────────── Container ──────────────────────────────────────────────────────────┐
┌──────────────────────────────────────────────────── Apply configuration ─────────────────────────────────────────────────────┐
┌──────────────────────────────────────────────── Perception Application — Plan ───────────────────────────────────────────────┐
┌────────────────────────────────────────────── Perception Application — Results ──────────────────────────────────────────────┐各步骤的内容规则(哪些行放入哪个回执框、模式感知的行隐藏、应用配置的分段布局、步骤5的计划-结果模式、步骤3的生成要求)位于
的“步骤N回执框内容规则”下——渲染对应步骤时请阅读这些规则。
docker runreferences/deploy-vss-detection-tracking-2d.mdQuick triggers (mnemonic)
快速触发词(助记)
| Phrase | Flow |
|---|---|
| DEPLOY |
| DEPLOY |
| TEARDOWN (deploy doc) |
| DEBUG (deploy doc + troubleshooting) |
| API USAGE |
| API USAGE |
| API USAGE |
| API USAGE |
bump:1
| 表述 | 流程 |
|---|---|
| 部署 |
| 部署 |
| 拆除(部署文档) |
| 调试(部署文档+故障排查) |
| API使用 |
| API使用 |
| API使用 |
| API使用 |
bump:1
",