使用场景 · HOW TO USE

选对你的场景,
照着走完一次闭环

不论需求来自手写笔记 / ObsidianClaude Code / Codex 会话GitHub Issues 还是 禅道 Story——四类入口最终都汇成 vault 里的 Markdown,由同一套 drop → scan → triage 闭环处理。这页给你 9 类用户路径的「最短可行步骤 + 坑」。

三步先建立直觉:① 任何入口都先变成 vault 里的 Markdown;② 一套闭环把它推到可信 merge;③ 9 个场景只在「前半段」(vault/repo/任务从哪进)不同,后半段完全一致。
SHEET 01
四类入口 · FOUR ENTRIES, ONE PIPELINE

需求从哪来不重要,
都汇成一份 Markdown。

Hopper 不在乎你的需求最初长什么样。手写灵感、Obsidian 笔记、和 Claude Code / Codex 聊出来的方案、GitHub Issue、禅道 Story——投进中央 vault(默认 ~/Hopper)后,都成为同一种「文件驱动」的任务,走同一条流水线。

手写笔记 / Obsidian本地 Markdown · 双链笔记 Claude Code / Codex 会话聊出来的方案 → 存为文件 GitHub Issueshopper github sync(只读导入) 禅道 Storyhopper zentao import(只读上游) vault Markdown~/Hopper/00-Inbox/*.md DROP投递 · 即时去重 SCAN登记 · 确定性分诊 TRIAGE风险 · 依赖 · 项目 READY进队列 drop 当场登记并写 events.jsonl;new / 直接写 Inbox 则靠 scan 登记。进入 ready 后接通用闭环(run → review → merge)。

FIG.01 — 四类入口汇成 vault Markdown,走同一套 drop → scan → triage → ready

SHEET 02
通用闭环 · THE LOOP EVERY SCENARIO SHARES

任务进 vault 后,
9 个场景走的是同一段。

记住这套闭环,下面 9 个场景就只剩「前半段差异」(vault 怎么来、project 怎么接、任务从哪进)。后半段一律一样:

通用闭环 · bash
# 进 vault 后,任何场景都一样
hopper scan                 # 登记 + 确定性分诊
hopper triage --no-llm      # (可选)重跑分诊,不调 LLM
hopper status               # 看队列/状态
hopper queue explain        # (可选)解释各 ready 任务为何(未)被选中
hopper run next             # 执行一个 ready 任务(或 hopper drain / daemon)
hopper review list
hopper review show <id>      # 看执行结果与证据
hopper review diff <id>      # 看代码改动
hopper review approve <id>
hopper merge <id>            # 代码任务必须 merge 才算 done;非代码任务 approve 后 archive 即 done

一次性配置(每 vault/项目一次)

  • hopper setup 建 vault(首跑)
  • hopper link-project 接入已存在的 repo
  • 接 ZenTao:hopper zentao configure 生成映射 → doctor 校验

日常重复(每轮新需求)

  • 纯 Hopper:new/drop → scan → run → review → merge
  • +ZenTao:zentao import → … → sync-back --yes
  • 拉远端变化:zentao pull [--apply --yes]
设环境变量省事:export HOPPER_VAULT="$HOME/Hopper" —— vault 解析优先级是 --vault > $HOPPER_VAULT > ~/Hopper
SHEET 03
选择你的场景 · PICK YOUR PATH

两三个问题,
定位到你的那一类。

「新用户 / 老用户」的本质区别 = 一次性配置是否已完成;「纯 Hopper / +ZenTao」的区别 = 需求真相源在不在禅道。顺着下图走到一个编号,再翻到对应场景卡片。

需求真相源在 ZenTao?START 否 · 纯 Hopper 是 · +ZenTao vault 已存在? 否 · 新用户 是 · 老用户 已有本地 repo? 场景 3 vault+映射已配? 是 · 老用户 否 · 新用户 今天的需求来自? ZenTao Hopper 需求/项目在哪?见 4 个分支 场景 1 场景 2 场景 9 场景 8 场景 4先在 Hopper 写 场景 5ZenTao 新项目 场景 6ZenTao 老项目 场景 7Hopper 导老项目 琥珀色(场景 4/7)= 从 Hopper 起步、需求真相源最终要进 ZenTao:原生任务需先 zentao attach 到已有 story 才能回写。

FIG.02 — 场景决策树:从「需求真相源 / vault 是否存在 / 有没有 repo」路由到 9 类路径

速查矩阵 · 场景 × 入口
#  谁                              vault  repo      ZenTao  任务入口            能 sync-back?
1  纯 Hopper 新用户·无项目          新建   无→可后建  —       drop→_unassigned    —
2  纯 Hopper 新用户·有老 repo       新建   已有       —       drop / Inbox        —
3  纯 Hopper 老用户                 已有   已接       —       new / drop          —
4  +ZenTao 新·从 Hopper 起          新建   新建       后接     new                 需先 attach
5  +ZenTao 新·从 ZenTao 起·新项目   新建   已有/新建  先配     zentao import       ✅
6  +ZenTao 新·从 ZenTao 导老项目    新建   老 repo    先配     zentao import       ✅
7  +ZenTao 新·从 Hopper 导老项目    新建   老 repo    后接     drop / Inbox        需先 attach
8  +ZenTao 老·在 Hopper 项目里      已有   已接       已配     new/drop(+import)   import / attach 后
9  +ZenTao 老·在 ZenTao 项目里      已有   已接       已配     zentao import/pull  ✅
SHEET 04
纯 Hopper · NO ZENTAO

场景 1–3:
只用 Hopper 管生产线。

场景 1 · 新用户,之前没有项目

适用:手上没有现成 repo,先想用 Hopper 管想法 / 需求 / 方案;代码项目可能从零起。

步骤 · bash
hopper setup                                  # 建 vault;问到 link repo 可先答否
# A) 只收集想法:投到 _unassigned 先沉淀
cat idea.md | hopper drop --stdin
hopper scan && hopper triage --no-llm
# B) 要跑代码:先有 repo → 注册 → 建任务
mkdir -p ~/Work/my-app && cd ~/Work/my-app && git init
hopper link-project --project my-app --repo "$PWD"
hopper new "初始化项目骨架" --project my-app

坑:没有 repo 时只能收集文档,worktree / verification / merge 都需已注册 repo;Hopper 提供 project create / 代码脚手架,git init 是你自己的事。

场景 2 · 新用户,有老项目要导入

适用:已有一个本地代码 repo,从没用过 Hopper。

步骤 · bash
hopper setup --link-repo /abs/path/to/old-repo --project old-repo
# 等价:hopper init → hopper link-project --project old-repo --repo …
hopper drop --project old-repo a.md b.md     # 多个文件;批量可用 shell 通配:hopper drop --project old-repo *.md
hopper scan && hopper triage --no-llm

坑:没有「导入整个旧 repo 历史 issue 并自动拆分」的命令;老代码靠 link-project 接入,老需求靠 drop / Inbox 进。投递总是去重(内容相同 → duplicate_ignored)。

场景 3 · 老用户,在之前的项目里继续用

适用:~/Hopper 与 project / 任务历史都在,跳过全部一次性配置。

日常 + 排障 · bash
hopper status
hopper new "修复登录错误提示" --project old-project
hopper scan && hopper drain
hopper review approve <id> && hopper merge <id>
# 健康检查:投影与事件不一致时优先跑
hopper reconcile --dry-run
hopper doctor

坑:别手改 .hopper/events.jsonl / state/ / locks/;Obsidian 改正文 OK(受保护投影),但 frontmatter 的 status 由事件流投影,不要手写。

SHEET 05
+ZENTAO · 新用户

场景 4–7:
第一次把 Hopper 接上禅道。

映射文件用 hopper zentao configure 幂等生成(免手写);ZenTao 是只读上游,唯一写回是 sync-back。前置:装并登录 zentao-cli(账号密码走它自己的 login,绝不传给 Hopper)。

场景 4 · 从 Hopper 启动新项目(ZenTao 以后再接)

适用:想先在 Hopper 里写需求 / 执行,ZenTao 以后再接。

步骤 · bash
hopper setup
mkdir -p ~/Work/my-app && cd ~/Work/my-app && git init
hopper link-project --project my-app --repo "$PWD"
hopper new "第一个功能任务" --project my-app
# 之后接 ZenTao(前提:ZenTao 侧已有 product/story)
hopper zentao configure --site https://zentao.example.com --product 1 --project my-app
hopper zentao doctor

坑(核心限制):Hopper 不能从原生任务创建 ZenTao story。原生任务默认无 zentao:// source_path,要回写得先 hopper zentao attach --task <id> --story <id> 关联到已有 story。若 ZenTao 必须当真相源、story 该由它先建 → 直接走场景 5 更顺。

场景 5 · 从 ZenTao 启动新项目(最顺)

适用:ZenTao 管产品 / 版本 / story,Hopper 当执行生产线。任务自带 zentao:// source_path,能完整闭环到 sync-back

步骤 + 回写 · bash
hopper setup --link-repo /abs/path/to/repo --project my-app
hopper zentao configure --site https://zentao.example.com --product 1 --project my-app
hopper zentao doctor
hopper zentao import --product 1 --dry-run      # 预览 Markdown + 预测 triage
hopper zentao import --product 1 && hopper scan
# … 通用闭环 run → review → merge …
hopper zentao sync-back --task <id>             # 无 --yes 只预览
hopper zentao sync-back --task <id> --yes       # 确认后发布(默认贴评论)

坑:import 后任务是 received(不是 ready),必须走分诊;正文标 external_untrusted,不放宽 guardrails。doctor 要求映射目标 project 已注册,故 link-project/configure 要先于 import。

场景 6 · 从 ZenTao 导入老项目

适用:ZenTao 有老 product / story,本地也有(或准备接)对应老 repo。

步骤 · bash
hopper init
hopper link-project --project legacy-app --repo /abs/path/to/legacy-repo
hopper zentao configure --site https://zentao.example.com --product 1 --project legacy-app
hopper zentao import --product 1 --release 2026-Q3 --dry-run   # 看阻塞项/缺验收
hopper zentao import --product 1 --release 2026-Q3
hopper scan && hopper triage --no-llm

坑:当前只导 story(task/bug/用例/计划页不在范围);老 story 常缺验收标准,dry-run 会给 warning,需人工补齐。后续远端变化用 hopper zentao pull

场景 7 · 从 Hopper 导入老项目(未来可能接 ZenTao)

适用:已有老 repo + 老 Markdown 需求,先用 Hopper 接管。

步骤 · bash
hopper setup --link-repo /abs/path/to/legacy-repo --project legacy-app
hopper drop --project legacy-app old-1.md old-2.md   # 多文件投递
hopper scan && hopper triage --no-llm
# 若 ZenTao 已有对应 story,可关联后回写:
hopper zentao attach --task <id> --story 109

坑(与场景 4 同源):没有「把 Hopper 老任务批量建成 ZenTao story」的命令;attach 只能关联已存在的 story。若团队要求 ZenTao 是真相源,老需求最好先整理进 ZenTao story,再按场景 6 导入。

SHEET 06
+ZENTAO · 老用户

场景 8–9:
稳态日常与远端同步。

场景 8 · 在之前的 Hopper 项目里继续用

适用:vault / project 已在,后来接了(或想接)ZenTao。

日常 · bash
hopper zentao doctor
hopper zentao import --product 1 --dry-run     # 看新增/重复/跳过
hopper zentao import --product 1 && hopper scan
hopper drain
hopper review approve <id> && hopper merge <id>
hopper zentao sync-back --task <id> --yes
hopper zentao pull && hopper zentao pull --apply --yes   # 同步远端 close/spec

坑:只有 import 来的任务有 zentao:// source_path 可直接 sync-back;原生老任务需先 zentao attach 到已有 story。重 import 同源 story 不会静默覆盖在途任务(只覆盖 received/draft)。

场景 9 · 在之前的 ZenTao 项目里继续用

适用:ZenTao 是团队既有入口,已跑过 Hopper+ZenTao,稳态日常。

每轮续作 + 远端变化 · bash
hopper zentao import --product 1 --release 2026-Q3 --dry-run
hopper zentao import --product 1 --release 2026-Q3
# 或只处理一条:hopper zentao import --story 109
hopper scan && hopper triage --no-llm
# … run → review → merge … 然后回写
hopper zentao sync-back --task <id> --yes
hopper zentao pull                  # 只看建议
hopper zentao pull --apply --yes    # close→archive;spec 变更且本地 done→建 follow-up

坑:无后台轮询、全手动;assignedTo / 远端 status 变化只展示不自动改;spec 变更只在本地任务已 done 后才报为可应用建议。

SHEET 07
深入阅读 · GO DEEPER

接下来读什么。

操作与命令

  • Docs — 初始化、接入、执行、review、merge、CLI 速查
  • FAQ — 常见疑问与边界
  • llms-full.txt — 完整公开手册与实现边界

设计与场景