| name | vln-paper-insert |
| description | Insert a completed paper summary into the VLN Papers blog post (C:/GitHub/Tingde.Liu.github.io/_posts/2026-01-05-VLN-Papers.md). Use after the paper-summary skill completes, when the user says things like "把总结添加到VLN博客", "补充进去", "加到VLN论文列表", or "insert into blog post". Handles five insertion points automatically: main content section (with {#anchor}), TAG_MAP entry, numbered reference entry, the 已发表论文(会议 / 期刊)venue table (published papers only), and (optional) 性能排行榜 rows.
|
VLN Paper Insert
Inserts a paper_summary/paper-summary-XXX.md into the VLN Papers blog post at up to five locations:
- New
## N. PaperName (year) {#anchor} section before # 相关基础工作
- TAG_MAP entry in the JavaScript filter
- Numbered reference entry in the
## 论文 list under # 参考资料
- A deep-link entry in the
## 已发表论文(会议 / 期刊) venue table — published papers only.
The venue is parsed from the summary's 📄 **Paper** line (· 🏛️ **VENUE YEAR**, emitted by the
paper-summary skill) or supplied via --venue; preprints (no venue) are skipped here.
- (Optional) One or more rows in the
# VLN 模型性能排行榜 sub-tables, with the model
name deep-linked to the section anchor and the row inserted at its SR-sorted position
Available Tags
Choose from this fixed set (comma-separated for --tags):
| 标签 | 适用场景 |
|---|
双系统 | System 1 + System 2 双过程架构 |
端到端 | 端到端训练/推理 |
Agentic | VLM/LLM Agent 框架,主动探索 |
CoT | 链式思考,显式逻辑推理能力 |
扩散模型 | 扩散模型驱动的动作或策略 |
拓扑图 | 拓扑/语义图辅助导航 |
SLAM | 地图构建、前端感知 |
高斯表示 | 3D Gaussian Splatting 场景表示 |
强化学习 | RL/RLHF/GRPO 训练 |
零样本 | Zero-shot 泛化,无任务特定训练 |
世界模型 | 世界模型/视频生成辅助 |
数据增强 | 数据生成/合成/扩增 |
连续环境 | VLN-CE 等连续动作空间 |
离散环境 | R2R/REVERIE 等离散视点图 |
实机部署 | 有真实机器人实验 |
加速优化 | 推理加速/训练效率 |
数据集 | 提出新数据集/基准 |
基础工作 | 非 VLN 主方向的依赖基础工作 |
Workflow
Step 1 — Locate summary file
Typically at C:/GitHub/Tingde.Liu.github.io/paper_summary/paper-summary-{Name}.md.
Step 2 — Determine tags
Read the summary briefly and pick 2–4 tags. Common combinations:
- 3DGS + zero-shot navigation →
Agentic,高斯表示,零样本
- End-to-end + RL + continuous env →
端到端,强化学习,连续环境
- Traditional SLAM (no LLM) →
SLAM,连续环境
Ask the user if unsure.
Step 3 — Extract leaderboard metrics (--rank)
Read the summary's 核心结果 / main results and pull out reported SR/SPL (and NE/OSR where
given). For each (benchmark, task) the paper reports, add one --rank entry. A paper that
reports two settings (e.g. Image-Goal and Point-Goal) gets two --rank flags — same model name,
different benchmark/numbers.
Pick the sub-table by task type (the circled number is the table= value):
table | 排行榜子表 | 适用 | 列 |
|---|
1 | ① 连续环境·英文 | R2R-CE, Val-Unseen | SR/SPL/NE/OSR |
2 | ② 连续环境·多语言 | RxR-CE, Val-Unseen | SR/SPL/NE/OSR |
3 | ③ 离散全景 | R2R / REVERIE / GSA-R2R | SR/SPL/NE/OSR |
4 | ④ 目标导航 | ObjectNav / IIN / Point-Goal / Image-Goal | SR/SPL only |
--rank spec is semicolon-separated key=value. Keys: table (required, 1-4),
benchmark (required, the 基准 cell text), SR, SPL, NE, OSR, and optional
model / year overrides (default to the paper). Omitted metrics render as –.
Use **bold** only via manual review — the script flags when a new row becomes the table's SR leader.
If the paper reports no comparable SR (real-world-only / non-navigation / 基础工作), skip --rank
— those papers are intentionally excluded from the tables (see the 说明 note above the tables).
Step 4 — Determine venue (会议 / 期刊)
Check the summary's 📄 **Paper** line for a · 🏛️ **VENUE YEAR** tag (the paper-summary skill
emits this for published papers; preprints have none). The script auto-parses it, so you usually
do nothing. Pass --venue "ICRA 2024" only to override or to add a venue the summary omitted.
- Conferences (CVPR, ICCV, ECCV, ICLR, AAAI, ICRA, ACL, NeurIPS, CoRL, …) get their own row,
entry rendered as
[Name](#anchor) (year[, Poster]).
- Everything else (IEEE TPAMI / RA-L, Sensors, Springer journals, …) falls into the
期刊
row with the full venue kept inline: [Name](#anchor) (IEEE TPAMI 2025).
- Preprints: no
--venue, no 🏛️ tag → the table is left untouched (correct — don't force one).
Step 5 — Run the script
"/c/Users/tingd/miniconda3/envs/TF-ID/python.exe" \
"/c/Users/tingd/.claude/skills/vln-paper-insert/scripts/insert_paper.py" \
"C:/GitHub/Tingde.Liu.github.io/paper_summary/paper-summary-{Name}.md" \
--tags "Tag1,Tag2,Tag3" \
--venue "ICRA 2024" \
--rank "table=4;benchmark=HM3D (Point-Goal);SR=80.4;SPL=78.0" \
--rank "table=4;benchmark=HM3D (Image-Goal);SR=50.2;SPL=48.2"
Add --anchor <slug> only to override the auto slug (default: paper name lowercased,
e.g. WAM-Nav → wam-nav); match the existing curated convention if one exists.
Drop --venue when the summary already carries the 🏛️ tag, or for preprints.
Step 6 — Report result
Show the confirmation lines from the script output (the 已发表表 line appears only for published
papers; the 排行榜 lines only when --rank is passed):
✓ Inserted ## N. PaperName (year) {#anchor}
✓ TAG_MAP { m: 'Name', t: [...] }
✓ Reference N. **Name** (year). ...
✓ 已发表表 | **ICRA** | …、[Name](#anchor) (year) |
✓ 排行榜 表4 | [Name](#anchor) | year | benchmark | SR | SPL |
If a ⚠ new SR leader note appears, open the table and move the **bold** to the new top SR/SPL.
If ⚠ new venue row「X」created appears, glance at the venue table to confirm the new conference
row landed sensibly (it is inserted just above the 期刊 row).
Notes
- Section number is auto-detected from existing
## N. headings in the 具身导航经典论文 section.
- TAG_MAP match string is the paper name extracted from the
## PaperName (year) heading — verify it's unique enough to not accidentally match other entries.
- Reference number = last existing reference number + 1 (counted from the
## 论文 numbered list;
the venue table's | **ECCV** |-style rows are not numbered references and don't affect this).
- Venue table: the entry is appended to the end of the matching row. Journal venues keep their raw
text verbatim — occasionally a curated entry uses a hand-normalized form (e.g. existing
Vicinagearth / Springer 2025 vs. the parsed Vicinagearth (Springer) 2025); polish by hand if
it bothers you. New conference rows land just above 期刊; reorder by hand only if you care about
a particular ordering (the table is not strictly sorted).
- Leaderboard rows are inserted in SR-descending order within the chosen sub-table; rows with no
numeric SR fall to the bottom. The script does not auto-manage
**bold** (curated best-per-column).
- The section heading gets a
{#anchor} so leaderboard rows can deep-link to it; reuse the same
anchor for every --rank row of this paper (the script does this automatically).
- Use
--blog <path> to override the default blog post path if needed.