BaseHalf
全部文章

Markdown 链接不是 upstream 连接

Markdown 链接只负责跳转。Upstream 列表才是 BaseHalf 和代理当作「流入这篇笔记的上下文」的纯文本。写链接不会自动连上。

有人在笔记里写上指向 notes/schema.md 的 Markdown 链接,就以为画布上会出现一条线。不会。Markdown 链接是给读者跳转的;upstream 连接声明这篇笔记建立在什么之上。BaseHalf 把这两件事分开,是故意的。

如果只写了链接,git 里仍能看到好看的超链接,但 Claude Code 和 Codex 不会因此多出一条 upstream,徽章上的计数也不会变。

BaseHalf 画布上卡片之间画出的 upstream 连接。

两种写法各自干什么

笔记里写什么作用BaseHalf 存什么
指向 notes/schema.md 的 Markdown 链接给人(和普通 Markdown 工具)导航连接图里什么都不加
Frontmatter 里的 upstream: 条目 notes/schema.md声明 schema 的上下文流入这篇笔记一条列表;两张卡同文件夹时画布上有线
从手柄拖到另一张卡同上,只是在画布上做帮你写入那条 upstream

连接 A → B 表示 A 的上下文流入 B。连接是图,不是树:可以有多个上游、多个下游,也允许环;条目不能把自己列成上游。Markdown 链接永远不会变成其中任何一种。

怎样真正连上

按你习惯的方式选一种:

  1. 在画布上指向卡片,四面出现手柄后,从手柄拖到「应建立在它之上」的那张笔记上。被放下的笔记会多一条 upstream。
  2. 或打开笔记徽章,用 Add Upstream 挑选条目。
  3. 或自己改 frontmatter:
---
upstream:
  - notes/schema.md
  - sources/survey-results.pdf
---

路径相对工作区文件夹。PDF、图片、文件夹等装不下 frontmatter 的条目,列表由 BaseHalf 放在 .bh/mirror/<path>/upstream.yaml。代理和其他工具也可以当纯文本改这些列表;BaseHalf 以文件里实际内容为准。

把手柄拖到空白画布,会新建一篇笔记(或图片 / 视频 / 声音草稿),并且一开始就把出发卡片写进 upstream。那仍是写入 upstream,不是 Markdown 链接。

为什么代理在意这个区别

BaseHalf skill 会告诉代理描述和 upstream 列表在哪。它不会把正文里每个 [链接](…) 都刮下来当 import。若「相关阅读」只有 Markdown 链接,打开笔记的代理看到的是导航文字,不是结构化的输入列表。

给人跳转就用链接;要让下一次会话和下一个代理把另一份文件当成这篇笔记的输入,就用 upstream。同一文件里可以两种都有:正文里放链接方便读,顶部 upstream 负责图。

怎么确认真的连上了

连上之后,目标卡片徽章会显示 upstream 计数;两张卡在同一文件夹画布上时会出现连线。连到别的文件夹时,当前画布上可能没有线,但徽章仍会列出。命令面板里的 BaseHalf: Show Upstream Issues 管的是坏掉的路径,不是正文里少写了链接。

Markdown 链接负责「去那里」。Upstream 条目负责「这篇笔记建立在那个文件上」。