Lantide Data

專案管理與 Markdown 批註

11. 项目管理与 Markdown 批注

本章说明 Plan / Report 的介面操作与批注功能。分析流程概览见 §1.3§2

11.1 项目与文件管理

在侧边栏的「Projects」区块,你可以建立与管理分析项目。

建立项目:

  1. 在「Projects」区块点击 按钮。
  2. 输入项目名称,点击确认。
  3. 新项目会出现在侧边栏,可在其下新建 Markdown 文件。

管理文件:

  • 在项目名称上按右键,选择「New File」新建 Plan 或 Report 文件。
  • 点击文件名称即可在主区域打开 Markdown 标签页。
  • 右键选单提供打开、删除,以及设置/编辑别名(见 §11.2)。
  • 右键选单亦提供 Export project…,可将该项目(可再勾选其他项目)打包为 .lantide 档(见下方 §11.1.0)。

11.1.0 何时用哪种导出

四种 .lantide 导出的操作步骤§11.1.1§11.1.3。先依你的目标选类型:

你的目标 用哪种 典型场景
共享分析脉络与结果 Project 跨团队审 Plan/Report、交接已 Execute 的结论;PM/业务导入后批注;备份单一分析产物
协作与在原环境接续工作 Workspace 同事接手同一批 SQL 标签页与连接设置;可选带 chat sessions、query ledger;换机或复制整个分析环境
跨工作区的 Agent 记忆 Application profile 迁移 User Memory、知识/memory 设置、可选 AI 偏好
换机一次搬齐 Full backup 多个工作区 + Application profile 合并为单一文件

一句话: Project 带这次分析的契约与交付;Workspace 带整个工作环境(默认不含本机 CSV/Parquet,可选打包);Application 带你是谁;四者都不含数据库密码与授权快取。

常见场景对照:

场景 建议
给主管/业务审口径、看 Report(可批注 Plan) Project 导出/导入
周会对外只呈现数字、不需对方开 Lantide Report 的 HTML Report(见 §10
分析师 A 交给 B 接手同一工作区(含 SQL 标签页) Workspace(可勾 chat sessions)
本机换电脑、完整迁移 WorkspaceFull backup
只搬 Plan/Report,对方自行连数据 Project

常见误解:

  • Project 不含实体数据档——收件方须在本机有相同数据、或自行 Rebind/连接后才能重跑 SQL。
  • Workspace 默认不含 CSV/Parquet——接续查询通常要 Rebind 指向本机文件夹,或导出时勾选 Include physical data files
  • 导入后不能立刻查——须 Reconnect databasesReconfigure MCP;无 physical data 时常需 Source Run 重建快取。

11.1.1 导出与导入项目(.lantide)

可将一个或多个项目的 Plan、Report、project_knowledge.md、Reference 档(ref_*.md;旧版 NN_reference.md 仍兼容)及相关 sidecar(进度、批注 *.annotations.json、HTML、viz)打包成单一 .lantide 档。适合共享分析脉络与结果(见 §11.1.0)。不包含工作区数据档、SQL 标签页、连接设置或对话纪录。

导出:

  1. 点击顶部列 UsersRound 图标 → Export… → Project;或在项目上右键 → Export project…(会预先勾选该项目)。
  2. 在对话框中勾选要导出的项目(至少一项),点击 Export…
  3. 选择保存位置;默认档名为 proj_export_<日期>.lantide

导入:

  1. 点击顶部列 UsersRound 图标 → Import… → Project
  2. 选择 .lantide 档(仅副档名须为 .lantide,主档名任意)。
  3. 确认预览信息后,选择目标工作区;若项目名称已存在,可勾选 Rename on conflict 自动加上 (imported)(2) 等后缀。
  4. 点击 Import。成功后侧边栏项目列表会更新;不会自动切换项目焦点。请重新连接数据来源后再执行查询。

注意: HTML 报告若内含本机 localhost URL,导入后预览可能需在目前执行个体下重新产生或调整。

11.1.2 导出与导入工作区(Workspace .lantide)

可将整个工作区的设置(data.jsontabs.jsonschema.json、连接与 MCP 设置、knowledge_queue、所有项目等)打包为 .lantide 档。适合协作接续工作或换机(见 §11.1.0)。默认不包含实体数据档;可选勾选 Include physical data files 将已注册的 CSV/Excel/Parquet 一并打包。不包含 user_knowledge.md 或全域 global_config.json

导出:

  1. 点击顶部列 UsersRound 图标 → Export… → Workspace
  2. 可选是否包含 agent query ledger、chat sessions、MCP cache。
  3. 实体数据(可选): 勾选 Include physical data files 后可选 Referenced in SQL tabsAll registered files;大于 50 MB 须二次确认,大于 10 MB 显示进度。
  4. 选择保存位置;默认档名为 ws_export_<日期>.lantide

导入:

  • 未含实体数据: 五步精灵 — Rebind 匹配本机已注册档。
  • 含实体数据: 六步精灵 — 另含 Review files to extract(冲突:Replace/Rename imported/Keep existing);文件解压至所选文件夹。

完成后 Reconnect databasesReconfigure MCP sources;必要时对相关标签页执行 Source Run。可选择是否切换至新工作区。

注意: 连接密码不会写入套件;实体数据 bundle 可能含敏感文件,请谨慎分享。

11.1.3 导出与导入应用配置文件与完整备份(Application / Full backup)

Application profile 可打包跨工作区的 user_knowledge.md(User Memory)、global_config.json 子集(knowledge/memory 设置),以及可选的 AI 偏好(ai_settings_config)。不包含 license_cache.json、实体数据档或工作区内容。

Full backup 将一个或多个工作区(嵌套 .lantide 子套件)加上 Application profile 合并为单一 .lantide 档,适合换机完整迁移。

导出 Application profile:

  1. UsersRoundExport… → Application profile
  2. 可选是否包含 AI preferences;默认不含 API keys(勾选含 keys 时须二次确认)。
  3. 保存为 app_export_<日期>.lantide

导入 Application profile(三步精灵):

  1. 选择 .lantide 并预览(含 user memory 大小、是否含 API keys)。
  2. 选择 User Memory:Merge(去重合并)或 Replace(覆盖前备份至 .pre_import.bak)。
  3. 选择 Knowledge settings(global_config.knowledge):Merge 或 Replace;Memory 仅 merge;可选套用 AI preferences。

导出 Full backup:

  1. Export… → Full backup
  2. 多选工作区;可选 ledger/chat/MCP cache、各工作区实体数据(与 Workspace 导出相同 scope),以及 Application 可选项。
  3. 多工作区时实体数据大小在导出前显示为 Size unknown until export(各 nested bundle 独立估算)。
  4. 保存为 full_backup_<日期>.lantide

导入 Full backup:

  1. 选择 bundle 后,依序为每个内嵌工作区指定新名称与文件夹;含 physical_data 的工作区须逐步处理文件冲突(同 Workspace Extract Wizard)。
  2. 最后设置 Application profile(User Memory/Knowledge settings/AI preferences)。
  3. 完成后依检查清单重新连接数据库、MCP;必要时对相关标签页执行 Source Run,并检查 AI Settings(含 localhost 提示)。

11.1.4 可选加密(passphrase)

四种 .lantide 导出(Project、Workspace、Application profile、Full backup)均可选择以 passphrase 加密外层套件。未勾选时产生的文件与旧版相同(明文 ZIP,档头 PK),可与旧版应用互相导入。

导出:

  1. 在 Export 对话框勾选 Encrypt bundle(或类似选项)。
  2. 输入 passphrase(至少 8 个字元)并在确认字段再输入一次。
  3. 介面会提示:遗失 passphrase 将无法还原内容,请自行安全保存。

导入:

  1. 选择 .lantide 后,系统先 inspect 套件类型;若为加密档,会显示 header 中的低敏感摘要(例如项目数、内嵌工作区名称),并标注需解锁后才能看到完整预览。
  2. 输入 passphrase 并点击 Unlock;解锁过程可能需数秒(Argon2 金钥衍生)。
  3. 解锁成功后显示完整预览(bindings、warnings 等),再执行导入或 Rebind。

注意:

  • Full backup 仅外层加密;内层各工作区子套件仍为明文 ZIP。
  • 加密套件需要较多暂存磁碟空间(解密时会写入暂存 zip);完成后自动清理。
  • Preview 与 Import 会各自解密一次(无跨步骤快取)。

11.2 文件显示别名(Display alias)

每份 Plan / Report 可设置一个显示别名(最多 30 字),方便在侧边栏与标签页标签上用语意化名称辨识文件,而不必记住 01_plan.md 这类档名。磁碟上的实际档名不变。

如何设置:

  1. 在侧边栏项目文件列上按右键,选择 Set alias(尚未设置)或 Edit alias(已有别名)。
  2. 在对话框中输入别名;留空并保存可清除别名。
  3. 亦可对已打开的 Markdown 标签页双击标签或于标签上右键 → Edit alias 进行编辑(SQL 标签页的双击/右键仍为重新命名标签页,行为不同)。

显示规则:

  • 侧边栏:有别名时显示 別名 (01_plan);无别名时仅显示 stem(如 01_plan)。鼠标暂留可看到完整提示。
  • 标签页标签:显示 專案名稱/別名專案名稱/01_plan(无别名时);鼠标暂留可看到完整标题。双击编辑时仍只编辑别名本体。
  • 项目名称不可包含 / 字元(建立与重新命名时皆会验证)。
  • 同项目内别名不可重复;若与其他文件冲突,保存时会显示错误。

与 AI 的关系:

  • AI 可透过 list_project_files 与聚焦项目摘要看见 file_namedisplay_alias 的对照。
  • 你可在对话中用别名指称文件(例如「打开 Q1 计划」);Agent 工具会解析到正确的 canonical 档名后再读写内容。

11.3 文件封存(Archived docs)

当你的项目中累积许多 Plan / Report 文件时,可以将暂时不需要的文件封存,让侧边栏主要列表保持简洁。封存不会删除文件,也不会搬动磁碟上的路径——文件仍然存在于同一项目中。

介面位置:

  1. 在侧边栏展开某个项目后,列表最上方会固定显示 Archived docs 群组(可点击标题列展开/收合)。
  2. 未封存的 Plan / Report 显示在 Archived docs 下方,顺序与文件编号一致。
  3. 封存区是否展开会依目前工作区 + 项目分别记住(存在本机浏览器中)。

如何封存与还原:

  • 一般列表中,将鼠标移入某个文件列时,列右侧会显示封存图标;点击后该档会移入 Archived docs。
  • Archived docs 区内,移入文件列时同样会显示**还原(解除封存)**图标,点击后文件会回到下方的一般列表。
  • 备援操作:在触控装置或不便 hover 时,可右键文件列,选择 ArchiveUnarchive 完成封存/还原。
  • 点击图标或选单项时不会打开文件;点击档名列(列本身)仍可照常打开 Markdown 标签页。
  • Plan 若处于 Executing / Executed 等锁定编辑状态,仍可封存或还原(仅变更侧边栏归类,不解锁内容)。

与 AI 的关系:

  • 封存后的文件仍可由 AI 读取与打开;若你需要继续某份旧计划或报告,直接打开即可。
  • 已聚焦项目的前提下,传给 AI 的「项目文件摘要」会略过已封存档,并以未封存文件为主来理解目前工作脉络(例如 Agent 工具中的「最新 Plan/Report」也以未封存者为准)。

11.3.1 Reference docs(参照文件)

Reference 是项目内可编辑的大型参照本体(字段映射、状态码字典、join 说明等),与 Plan / Report 分开列在侧边栏 Reference docs 子树下。

概念 说明
Reference 档 ref_N.md(新建默认;旧版 NN_reference.md 仍兼容),一般 Markdown 编辑
Intro(索引) 写入 project_knowledge.md## Rules,格式 [Ref: file_name] Purpose: … When to read: …
Agent 读取 依索引的 When to read 呼叫 read_reference 按需加载全文
Agent 修改 patch_reference(小范围 find-replace);建立新 Reference 请用 UI

Update Intro(工具列):

  • Create by agent:送 artifact 给 Agent → propose_knowledge → 审批卡 → Apply 写入 Rules。
  • Enter manually:直接填写 Purpose / When to read,不经审批卡。
  • 尚无 Intro 时,Update Intro 以黄字提示;首次保存成功后会引导建立 Intro(可选 Not now,需二次确认)。

导出/导入: Project bundle(.lantide)与 Workspace 内嵌项目皆包含 Reference 档(ref_*.md)与 project_knowledge.md 中的 [Ref: …] 条目。

Compare view: 可在 Reference 文件列右键打开唯读对照窗口(无批注 sidecar)。Tab bar 与 Compare view 中 Reference 标签页以琥珀色 md 标记,与 Plan(蓝)、Report(绿)区分。

封存: 已封存的 Reference 默认不列入 Agent 主动读取范围;除非你在对话中明确要求,否则 Agent 不会依 [Ref: …] 索引加载已封存文件。

11.4 项目焦点模式(Project Focus)

聚焦 / 取消聚焦:

  1. 在侧边栏的项目列表中,每个项目右侧有眼睛图标(👁)已聚焦的项目其绿色眼睛图标会常驻显示未聚焦时,眼睛图标与排序箭头默认隐藏,需将鼠标暂留在该项目列上(或键盘使列内获得焦点)才会显示,避免列上挤满图标。
  2. 点击眼睛图标即可聚焦该项目——图标变为绿色,该项目列会以高亮背景标示。
  3. 再次点击同一项目的眼睛图标可取消聚焦。
  4. 点击其他项目的眼睛图标会自动切换焦点(同时间只能聚焦一个项目)。

手动排序项目:

每个项目列右侧的 / 与(未聚焦时的)眼睛图标相同,默认在暂留该列或列内 focus-within 时才显示;列表最上最下的项目对应无效的箭头会隐藏。点击箭头可调整项目在列表中的显示顺序。排序结果会持久保存,重新整理页面后顺序不变。

自动切换焦点:

当你打开一个 Plan 或 Report 标签页时,如果该文件所属的项目与当前聚焦的项目不同,系统会自动切换焦点到该项目:

  • AI 未在生成时: 焦点自动切换,界面右下角会显示 Toast 通知(例如「Focused project switched to "销售分析"」),附带 Undo 按钮可一键还原。
  • AI 正在生成时: 系统会先弹出确认对话框,让你决定是否切换(切换不会中断 AI 生成,仅变更焦点)。
  • 尚未聚焦任何项目时: 直接静默切换,不显示通知。

注意: 自动切换焦点仅在同一工作区内生效。打开其他工作区的标签页不会触发自动切换。

自动清理:

  • 当被聚焦的项目被删除时,焦点会自动清除。
  • 重新命名工作区时,焦点与排序设置会自动迁移至新名称,不会遗失。

提示: 焦点状态按工作区独立保存——不同工作区可以各自聚焦不同的项目,互不影响。

11.5 Markdown 双模式编辑

Markdown 标签页支持两种编辑模式,可从标签页工具列随时切换:

模式 说明
Visual(所见即所得) 使用 Milkdown 编辑器,直接以富文本方式编辑,所写即所见
Markdown(原始码) 使用 Monaco 编辑器,直接编辑 Markdown 原始码

标签页标签颜色区分: Plan 标签页的标签以蓝色显示,Report 标签页以绿色显示,Reference 标签页以琥珀色显示,与侧边栏的颜色一致,让你一眼就能区分不同类型的 Markdown 文件。

工具列版面(Plan / Report): 左侧为 Visual / Markdown 模式切换;中间为 Save 图标按钮(Tooltip 显示 Cmd/Ctrl+S;有未保存变更时图标右上角显示圆点)与 View options(含 Wide layout,仅 Visual 模式);右侧为 Progress、Resolve (N)(Astroid 图标 + 文字,见 §11.9)、Approve & Execute / HTML Report 等工作流按钮。Plan 处于 Executing 或 Executed 时隐藏 Save。

Plan / Report 手动关联(View options): 在 Visual 模式下,已 Executed 的 PlanReport 的 View options 会依关联状态显示 Linked report: … / Linked plan: …(点击打开已配对文件;名称优先显示别名)或 Link generated report / Link source plan(从尚未配对的候选中手动绑定)。Planning/Executing 的 Plan 不显示此选项。手动 Link 只写入 plan sidecar 的关联 metadata,不会把 Plan 标成 Executed、也不会冻结 steps 或完成 Todo——正式执行完成仍须走 Execute 流程。

提示: 两种模式的内容会即时同步。在 Visual 模式下新建的批注,在 Markdown 模式中会显示为 <mark> HTML 标签。

11.5.1 Plan / Report 代码显示

本节功能仅适用于 Plan 与 Report 类型的 Markdown 文件,且需在 Visual 模式下使用。Raw Markdown 模式与 Chat 对话中的代码显示不在此节范围内。

单行 code(反引号):

  • 不会显示装饰性反引号字元。
  • 以浅色底色 pill 呈现,搭配等宽字体,与正文区隔。

多行 fenced code(`````):

  • 以统一卡片外框呈现(工具列 + 代码区共用外观),具浅色底色与边框。
  • 本版不提供语法高亮,仅单色文字与底色。

Code block 工具列(由左至右):

控制项 说明
收合 / 展开 仅隐藏或显示代码正文;工具列始终可见。默认为展开。
语言标签 显示 fence 所宣告的语言(例如 sql);若未指定语言则显示 text
Copy 将区块内容复制到剪贴簿。成功时显示 Copied;失败时显示 Copy failed
Open in new SQL tab 以区块内容打开新的临时 SQL 标签页temp_tabN),并自动切换至该标签页。内容原样贴入编辑器;若为非 SQL 语言区块,请自行确认后再执行。

收合状态持久化: 在同一工作阶段内,若你收合某个 code block 后切换至其他标签页再切回,收合状态会保留(保存于记忆体中的 tab-ui-state,不写入项目档)。

Agent 修改内容后: 若区块内文变更,系统会视为新的 code block,默认重新展开。

唯读状态: Plan 处于 Executing、或文件已锁定时,你仍可使用收合、Copy 与 Open in new SQL tab,不会因此解锁正文编辑。

11.5.2 Report 表格与图表工具

本节功能仅适用于 Report 类型的 Markdown 文件,且需在 Visual 模式下使用(Raw Markdown 模式不提供表格工具列)。Plan 文件中的表格不会出现下列工具。

悬停工具列: 将鼠标移到 Report 内的表格上时,表格右上角会出现一组图标按钮(与表格一起浮动,长文卷动时仍对齐表格)。按钮上没有文字标签;将鼠标停在图标上可看到说明。图标顺序(由左至右):Bar chart → Line chart → Copy for Excel;若该表已绑定图表,最右侧为 Remove chart

图表区工具列: 已建立图表后,图表区块右上角会出现另一组工具列。图标顺序(由左至右):Show values → Bar chart → Line chart → Copy for Excel → Remove chart。其中 Show values / Hide values 可切换是否在图上显示数值标签(默认关闭);标签文字与表格保存格所见一致(含 %、千分位等),绘图仍使用解析后的数值。

图标(hover 说明) 用途
Show values / Hide values 切换是否在柱顶/点上显示数值标签(仅图表区工具列;默认关闭)。标签为表格保存格原文。
Bar chart / Line chart 依表格数据建立柱状图或折线图。点击后打开 字段对应(Column mapping) 对话框,确认字段角色后立即在表下以 ECharts 渲染图表。折线图为直角折线(非平滑曲线)。
Copy for Excel 将目前表格复制为 Tab 分隔文字(TSV),并加上 UTF-8 BOM,方便贴到 Microsoft Excel、Numbers 或 Google 试算表。表头为第一列,其后为数据列;显示内容与 Visual 模式所见一致(含 %、千分位等文字,不会自动转成数值格式)。
Hide source table 在已建立图表且源表仍显示时,可隐藏源表、只保留图表(设置会持久保存)。
Remove chart 在图表区工具列中移除图表绑定。

图表持久化: 每张表的图表绑定、hide_source_tableshow_data_labels 设置存于项目 sidecar 档(01_report.viz.json,与 Report 同名前缀),关闭并重新打开 Report 仍会保留。应用程序不再提供全域「一次隐藏所有已建图表的源表」开关。

贴到 Excel 的步骤:

  1. 在 Report 标签页切换至 Visual
  2. 将鼠标移到目标表格上,点击 Copy for Excel 图标。
  3. 在 Excel 中选取要贴上的保存格,按 Cmd/Ctrl + V 贴上。

源表已隐藏时: 隐藏源表后,悬停表格区域不会再出现浮动工具列;请改在图表区块右上角的同一组图标中使用 Copy for Excel(数据仍来自该图表对应的表格)。

限制与注意:

  • 合并保存格(colspan / rowspan)的表格仍可复制,但系统会提示可能无法在 Excel 中完整还原版面;贴上后请自行检查。
  • 此功能与 SQL 查询结果面板Export 不同:Export 会将查询结果存成文件;Copy for Excel 仅复制 Report 编辑器内的 Markdown 表格到剪贴簿。
  • 若剪贴簿写入失败(权限或环境限制),会显示错误提示。
  • 切换 Dark / Light 主题后,已渲染图表的轴线与标签配色可能短暂与目前主题不符;重新打开 Report 标签页或再次切换 Show values 可恢复正确配色。

提示: Report 在 Plan 执行中的唯读状态下仍可使用 Copy for Excel 与 Show values,不会修改 Markdown 正文。

11.6 Plan 状态机

Plan 文件拥有四个状态,透过工具列右侧按钮管理(Executed 与 Stopped 显示为唯读状态标签,非可点按钮):

状态 说明
Planning 可自由编辑的初始状态;若项目尚无 Plan 档,Agent 在 Planning 状态可使用 add_plan 建立新 Plan(update_plan 仅适用已存在的 Plan 档)
Executing AI 正在执行分析计划,文件进入唯读
Executed AI 已完成分析,文件唯读,但仍允许新建与编辑批注。此时 Agent 状态指示器会回到「Project Focused」,你可以继续查看报告或开始新的分析计划
Stopped 尚未完成但已正式停止;文件唯读,保留停止原因、已完成的部分成果与 Progress,并可连到替代 Plan

一键核准并启动 AI 执行: 当你在 Planning 状态完成 Plan 的审阅后,点击工具列的 Approve & Execute 按钮,系统会自动将 Plan 状态切换为 Executing,同时自动向 AI Agent 发送「开始执行」系统指令(对话中显示为 Execute plan),驱动 Agent 根据 Plan 内容开始逐步执行分析——你不需要手动切到 AI 面板输入指令。即使 AI 面板处于收起状态,系统也会自动展开面板并开始执行。

中断恢复(Continue): 如果 AI Agent 在 Executing 过程中被中断(例如会话超时、网络中断、关闭 AI 面板后再打开、或重新加载页面),Plan 不会卡在 Executing 状态无法继续。此时:

  • 工具列的按钮会从「Executing...」旋转动画切换为 Continue 按钮(左侧)与下拉选单按钮(右侧),组成 split button。
  • AI 状态指示器会显示「Paused — click Continue on plan」。
  • 点击 Continue 按钮,系统会向 AI 发送与 Execute 不同的「续跑」系统指令(对话中显示为 Continue plan),明确要求 Agent 根据对话历史与已有快取结果从中断处继续,而不是从头重新执行。

提示: 你不需要回到 Planning 状态重新开始。Continue 机制确保 Plan 的 Executing 状态可以安全地恢复,AI 会基于已完成的快取结果继续后续步骤。

停止并重新规划(Stop & Replan): 若资料不可用、口径或方向已改变,或不应继续这次正式执行,请从 Executing Plan 的动作选单选 Stop & Replan…;Planning Plan 则可选 Stop Plan…。在确认视窗中必须填写停止原因与目前部分成果,并选择是否立即草拟替代 Plan。

  • 停止后旧 Plan 会标为 Stopped,不会冒充已完成;其 SQL Steps、Todo 与已取得的正式 evidence 都会保留供审阅。
  • 选择建立替代 Plan 时,新的 Plan 会回到 Planning,并带有与旧 Plan 的明确关系;请重新审阅后再 Approve & Execute。
  • Stopped Plan 的 New Plan 可让你稍后再开始替代分析。它不会偷偷恢复旧的 execution grant 或继续跑已停止的工作。

注意: 在 Executing、Executed 与 Stopped 状态下,Plan 正文无法手动修改。若需修改计划,请以 Stop & Replan 开新 Plan,或对已完成交付物以批注提出小幅修订。

执行进度(Progress): 当 Plan 处于 ExecutingExecuted 时,工具列右侧会出现 Progress 图标按钮。点击后在工作区顶部显示 Execution Progress 内嵌面板,包含两个标签页:

  • Todo:Agent 维护的执行待办清单(唯读),以 Circle / CircleCheck 图标标示未完成与已完成项目。
  • Steps:Query Step Ledger 镜像的查询步骤列表(唯读),可点 View SQL 查看对应 SQL。

面板底部可拖拽调整高度(默认约 280px,范围约 140–560px);缩小窗口时显示高度会自动适应,放大后恢复你调整过的高度。

当 Agent 更新 Todo 或新建查询步骤时,Progress 按钮会显示红点提示;打开面板后红点消失。进度数据保存于 Plan 同名的 sidecar 档(*.progress.json),不写入 Plan 正文。

Analysis Lineage: 在 Plan 或 Report 工具列选 Analysis Lineage,可开启由 Plan → Markdown Report → HTML Report 组成的脉络图。点选节点可查看状态、正式 evidence 角色,以及已停止 Plan 的原因与部分成果,并直接开启对应 artifact。若目前文件有未储存修改,请先储存:Lineage 只反映已保存的版本。手动建立、且没有连结 Plan 的 Report 会明确显示没有 Plan evidence;历史链过长时可选 Load more,不会把缺失或歧义的关系假装成完整。

11.7 沉浸式批注功能

批注功能让你在 Markdown 文件中对特定段落标记意见,这些意见会随文件一同保存。

新建批注:

  1. 在 Visual 模式下,用鼠标选取(反白)你想批注的文字。
  2. 选取完成后,文字末端会出现一个批注图标按钮,点击它打开批注浮窗。
  3. 在浮窗的输入框中撰写你的批注内容。
  4. 点击 Enter 按钮或按下 Cmd/Ctrl + Enter 送出批注。

送出后,被批注的文字会以半透明黄色高亮标示,右侧会出现对应的批注卡片。批注内容会立即写入同名的 sidecar 档(*.annotations.json),并在 Markdown 正文中写入 id-only <mark data-annotation-id="…"> 标签;Cmd/Ctrl + S 会一并保存含 mark 的 Markdown 与 sidecar。

批注卡片面板:

当文件中存在批注时,界面会自动分为左侧编辑区与右侧批注卡片面板。你可以拖曳中间的分隔线调整两侧宽度。

每张卡片的垂直位置会与左侧对应原文对齐,包含表格保存格内的批注(已修正旧版可能错至面板顶部的问题)。当文件版面变更时——例如收合或展开 code block、图表区块高度变化——右侧卡片位置会自动重新对齐。

每张卡片显示批注的文字内容,并提供以下操作:

操作 方式
编辑 双击卡片文字,或点击铅笔图标(仅 Open 状态)
保存编辑 按下 Cmd/Ctrl + Enter,或点击卡片外任意位置(自动保存)
删除 点击卡片上的 按钮(仅 Open 状态)
Archive ResolvedAnchor outdated 的批注可归档清除(history 仍留于 sidecar dismissed[]
Reopen Resolved 批注恢复为 Open(保留 Agent 回复与 history)
Re-anchor Anchor outdated 时重新反白正文以恢复锚点(仅主窗口)
View changes 已 Resolve 的批注可查看 Before/After 对照(Popover 或长文 Dialog)

双向 Hover 高亮:

  • 当鼠标移到被批注的文字上时,右侧对应的卡片会高亮。
  • 当鼠标移到右侧卡片上时,左侧对应的文字高亮会加深。
  • 多张卡片(尤其多笔 Resolved)垂直位置可能重叠;hover 左侧原文或右侧某张卡片时,该卡片会置顶并以不透明背景显示,方便阅读堆叠区块。

这让你能快速对照批注与原文的对应关系。

状态用语: 主窗口批注卡片上的 Anchor outdated 与 Compare view 内的 orphaned 指同一状态——正文 mark 遗失或无法对应时,批注 metadata 仍保留,需 Re-anchor(仅主窗口)或 Archive。

提示: 批注高亮由 Markdown 内 data-annotation-id mark 与编辑器 runtime map 共同驱动;sidecar 保存 comment、status、history 等 metadata(再写入 UTF-16 anchor.span)。旧项目若仍含 data-comment inline mark,首次打开时会自动将批注 metadata 迁移至 sidecar;正文 id-only mark 的完整保留仍在逐步收敛,迁移过程可能先写入不含旧 inline tag 的干净 Markdown。

注意: 不支持对已有批注的文字范围再叠加批注(巢状批注)。如需修改批注范围,请先删除现有批注,再重新选取并新建。

11.8 AI 批注上下文(read_plan / read_report)

当你在 Plan / Report 中使用批注并呼叫 AI 时,Agent 透过 read_plan / read_report 取得:

  • 磁碟正文 content(含 id-only <mark data-annotation-id> 标签)
  • 批注 sidecar annotations(含 open / resolved 状态、quote、history;忽略过期的 anchor.span
  • open_annotation_countannotation_summary(Action Required 任务清单)
  • patch_guidance(resolve 模式 A/B 与 mark 边界规则)

Resolve Comments 流程使用专用工具 resolve_annotations,会原子更新 sidecar 与 Markdown 正文(保留 mark),并透过 sync_tab_content 刷新编辑器。

11.9 一键批注处理(Resolve Comments)

当文件中有多条批注需要 AI 统一处理时,你不需要手动逐条与 AI 沟通——当文件中存在批注时,工具列右侧会出现 Resolve (N) 按钮(Astroid 图标 + 文字,N 为待处理批注数;与右侧 AI 面板图标相同),一键驱动 AI 读取所有批注并修改文件。

操作方式:

  1. 在 Plan 或 Report 的 Markdown 标签页中,确认你已新建至少一条批注(此时工具列会显示 Resolve (1) 等按钮)。
  2. 点击 Resolve (N) 按钮(hover 可见完整说明,例如「Resolve N comments with AI」)。
  3. 系统会自动:
  • 保存当前文件(确保 AI 读取的是最新版本)。
  • 打开 AI 面板(若已收起)。
  • 向 AI 发送批注处理请求,AI 会根据文件中所有批注的修改意见一次性更新文件内容。

按钮显示与停用:

情况 行为
文件中没有任何批注 按钮不显示
Plan 处于 Executing 或 Executed 按钮不显示(正文已锁定)
AI Agent 正在执行中 按钮显示但停用;提示 Agent is busy

提示: Resolve Comments 与手动在 AI 对话中说「帮我处理批注」效果相同。AI 会透过 read_plan / read_report 读取 sidecar 批注清单,再以 resolve_annotations 写回。处理完成后文件与 sidecar 会自动更新;Resolve (N) 计数来自 sidecar 的 open 批注数。

设计说明: Plan / Report、批注、Execute 边界见 Agent 时代的数据分析工作流 §三–§八。

11.10 Compare view(对照窗口)

Compare view 是独立的桌面子窗口,用于唯读并列查看 Plan、Report 或持久 SQL 标签页,方便双荧幕或宽荧幕工作流:在主窗口编辑与执行,在 Compare view 对照阅读。Compare view 内不提供 Markdown 工具列、不可执行 SQL、不可新建或修改批注。

11.10.1 适用内容与入口

内容类型 如何打开 Compare view
Plan / Report(项目 Markdown) 侧边栏 Projects 中文件右键 → Open in compare view;或主窗口已打开的 Plan / Report 标签页右键
持久 SQL 标签页 侧边栏工作区 Persist 列表右键 → Open in compare view;或主窗口持久 SQL 标签页右键
封存文件 Archived docs 内的 Plan / Report 与一般文件相同,右键可打开

不支持: 临时(Temp)SQL 标签页、快取表、MCP 数据表右键打开。

子选单结构:

Open in compare view  ▸
  New compare view
  ─────────────────────
  Compare view 1
  Compare view 2
  • New compare view:建立新的对照窗口(最多 2 个实例:Compare view 1Compare view 2)。
  • 若两个实例皆已打开且未关闭,New compare view 会停用;需先关闭其中一个 OS 窗口后才能再新建。
  • 每个 Compare view 内最多 5 个 compare tab;已满时对应项目停用,并提示 This compare view is full (5 tabs max).

若目标文件已在该 Compare view 中,系统会激活该 compare tab 并将 OS 窗口带到前景。

11.10.2 窗口与标签栏

  • 新开的 Compare view 1 默认出现在主显示器右半Compare view 2 在右半区域略为错位,避免与 view 1 完全重叠。你可将窗口拖到第二块荧幕。
  • 窗口标题格式:Compare view 1 — {目前 active tab 標題}
  • 标签栏布局(由左至右):☰ 汉堡选单Refresh → 可横向卷动的 compare tabs。
  • 样式与主窗口标签栏一致(高度、字体)。

☰ 汉堡选单:

  • 第一项 Refresh all:重整该 Compare view 内所有 compare tab。
  • 其后为 tab 列表:点击可切换 active tab;每列右侧 × 可从 Compare view 移除(不关闭主窗口标签页)。

Refresh(左侧图标按钮):

  • 仅重整目前 active 的 compare tab(tooltip:Refresh active tab)。
  • 进行中图标会旋转;全部重整成功时可能显示 Compare view refreshed.

11.10.3 唯读内容与批注

类型 Compare view 行为
Plan / Report Visual 唯读 Markdown;无工具列、无 Progress 面板
持久 SQL 上:唯读 SQL(跟随应用程序深/浅色主题);下:唯读查询结果表(不可 Run)。有结果、执行中或错误时,SQL 与结果区之间可拖曳分割调整高度
批注 读取 sidecar(*.annotations.json);显示 open / resolved / orphaned 卡片与高亮;View changes Popover 可用;卡片不可编辑、删除或 Re-anchor;鼠标 hover 仍可联动高亮

编辑、Execute、Save、新建批注、Resolve Comments 请回到主窗口对应标签页操作。

11.10.4 与主窗口的同步

  • 若 compare tab 对应主窗口中仍打开的同一标签页(mirror),主窗口的内容变更(含未保存修改)会即时反映到 Compare view。
  • 若你从侧边栏直接打开、主窗口尚未开该档,Compare view 以当下磁碟内容为准(standalone);之后在主窗口打开同一文件后会自动升级为 mirror。
  • 关闭主窗口上的某个标签页不会关闭 Compare view;该 compare tab 会保留关闭当下的内容快照,仍可继续唯读查看。

来源状态提示(Info icon):

在 compare tab 标题旁,下列情况会显示 Info 图标(非主 TabBar 的 dirty 圆点):

情况 Tooltip(英文)
主窗口对应标签页有未保存修改 Source tab has unsaved changes.
磁碟上有较新的版本(常见于 Sidebar 直开后文件已被他人或外部更新) A newer version is available on disk. Click Refresh to update.

RefreshRefresh all 可从磁碟重新加载。若主标签页有未保存修改,Refresh 仍会更新 Compare view,但不会覆写主窗口记忆体中的内容,并可能提示 Main tab has unsaved changes. Compare view refreshed from disk.

11.10.5 Refresh 行为摘要

绑定方式 Refresh 做什么
Mirror + Plan / Report 从项目文件重新读取;主标签页未 dirty 时同步回主窗口
Mirror + 持久 SQL 从工作区 persist API 重新读取 SQL;结果沿用主标签页当前结果(若主标签页未 dirty 则同步)
Standalone 仅更新 Compare view 内显示,不影响主窗口

11.10.6 生命周期与限制

事件 行为
关闭主应用窗口 所有 Compare view 一并关闭
关闭 Compare view OS 窗口 仅关闭该实例;主窗口与另一 Compare view 不受影响
关闭 Compare view 内最后一个 tab 保留空 Compare view 窗口(显示 placeholder)
切换工作区 关闭所有 Compare view 并清空 compare tab 列表
同一执行期内关闭再开同编号 Compare view 尽量还原上次窗口位置(跨重启还原尚未支持)

提示: Compare view 是「读来对照、在主窗口改」——适合 Execute 时对照 Plan、验收 Report 时对照口径、或比较两份持久 SQL 结果。分析师工作流示例见 Plan → Execute → Report