where-am-i
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesewhere-am-i
where-am-i
Render the task's decisions as an ASCII tree. The point is orientation: show the
path already settled, mark the active fork, and end with the exact questions left
to answer.
将任务的决策渲染为ASCII树。核心作用是定位:展示已确定的路径,标记当前活跃的分支,并列出剩余需要回答的具体问题。
How to render
渲染方式
Read the current state from the conversation, then draw a single tree.
- Root = the task in one short phrase.
- numbers top-level decisions only, in the order they arose; sub-decisions stay unnumbered. The closing list references these
[N]tags.[N] - lines at each fork, stating the question being decided there.
Q: - Indent sub-decisions under the option that produced them.
从对话中读取当前状态,然后绘制一棵完整的树。
- 根节点 = 用简短短语描述的任务。
- 仅为顶层决策编号,按决策出现的顺序排列;子决策不编号。末尾的列表会引用这些
[N]标签。[N] - 在每个分支处标注该行,说明当前分支需要决策的问题。
Q: - 将子决策缩进在产生该子决策的选项下方。
Markers
标记符
Attach a marker after the node with a connector (),
as the example shows. Use this one form for every marker.
◄──node ◄── ✅ chosen- — a decided node; append a terse why/result in parentheses.
✅ - — the single active fork, the decision in question right now. Use it once per tree.
📍 YOU ARE HERE - — an option considered and rejected.
not taken - — a decision that exists but hasn't been reached yet.
(not started) - Keep settled branches visible (collapsed to one line, not deleted) so the user sees the path behind them, not only what is ahead.
在节点后添加标记,使用连接符(如),示例如下。所有标记均采用此格式。
◄──node ◄── ✅ chosen- — 已确定的节点;在括号内简要说明原因/结果。
✅ - — 当前唯一活跃的分支,即当前需要处理的决策。每棵树仅使用一次。
📍 YOU ARE HERE - — 已考虑但被否决的选项。
not taken - — 已存在但尚未推进到的决策。
(not started) - 已确定的分支需保持可见(折叠为一行,而非删除),以便用户了解已完成的路径,而不仅仅是前方的内容。
Always end with
结尾要求
A numbered "Open questions, in order" list below the tree. Include only the
undecided nodes, ordered the way they need answering. Reference each by its
tag so the user can point back at the tree.
[N]在树下方添加编号为**“待解决问题(按顺序)”**的列表。仅包含未决节点,按需要回答的顺序排列。每个问题需引用对应的标签,方便用户对照树状图查看。
[N]Example
示例
deploy pipeline rework
│
├─ [1] runner image Q: pin or float?
│ ├─ pin to :1.4 ◄── ✅ chosen (reproducible CI)
│ └─ float :latest ◄── not taken
│
├─ [2] cache strategy ◄── 📍 YOU ARE HERE
│ │ Q: per-branch or shared?
│ ├─ shared ──┐ Q: evict by age or size?
│ │ ├─ age
│ │ └─ size
│ └─ per-branch
│
└─ [3] rollout ◄── (not started)
Q: canary or all-at-once?
Open questions, in order:
1. [2] cache strategy — shared or per-branch?
2. [3] rollout — canary or all-at-once?deploy pipeline rework
│
├─ [1] runner image Q: pin or float?
│ ├─ pin to :1.4 ◄── ✅ chosen (reproducible CI)
│ └─ float :latest ◄── not taken
│
├─ [2] cache strategy ◄── 📍 YOU ARE HERE
│ │ Q: per-branch or shared?
│ ├─ shared ──┐ Q: evict by age or size?
│ │ ├─ age
│ │ └─ size
│ └─ per-branch
│
└─ [3] rollout ◄── (not started)
Q: canary or all-at-once?
Open questions, in order:
1. [2] cache strategy — shared or per-branch?
2. [3] rollout — canary or all-at-once?Rules
规则
- One tree per render. Redraw the whole thing each time rather than patching it.
- Alignment is approximate — don't chase perfect columns; readability beats pixel-perfect spacing.
- Keep node labels short; detail goes in the parenthetical or the questions list.
- Do not invent decisions. Only show forks that actually came up in the task.
- If every decision is settled, render the full tree (all ) and write
✅. If no decision has come up yet, say so in one line instead of drawing a tree.Open questions: none - No files, no state. The conversation is the source of truth.
- 每次渲染生成一棵完整的树。每次都重新绘制整棵树,而非局部修改。
- 对齐无需绝对精确——不必追求完美的列对齐;可读性优先于像素级的间距。
- 节点标签需简洁;详细信息放在括号内或问题列表中。
- 不得凭空创建决策。仅展示任务中实际出现的分支。
- 若所有决策均已确定,渲染完整的树(全部标记为)并标注
✅。若尚未出现任何决策,则用一句话说明,无需绘制树状图。Open questions: none - 不涉及文件,不保存状态。对话内容为唯一的信息来源。