11. 专案管理与 Markdown 批注
本章说明 Plan / Report 的介面操作与批注功能。分析流程概览见 §1.3、§2。
11.1 专案与文件管理
在侧边栏的「Projects」区块,你可以建立与管理分析专案。
建立专案:
- 在「Projects」区块点击 + 按钮。
- 输入专案名称,点击确认。
- 新专案会出现在侧边栏,可在其下新增 Markdown 文件。
管理文件:
- 在专案名称上按右键,选择「New File」新增 Plan 或 Report 文件。人类手动新增 Report 不需要先有 Plan,这是合法操作;Agent 新建 Report 则须先经过 Plan 核准与执行,并以报告完成结案。
- 点击文件名称即可在主区域开启 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 带整个工作环境,并预设包含 MCP cache 与初始文件夹/Additional folders 的完整本机文件;Application 带你是谁;四者都不含数据库密码与授权快取。
常见场景对照:
| 场景 | 建议 |
|---|---|
| 给主管/业务审口径、看 Report(可批注 Plan) | Project 汇出/汇入 |
| 周会对外只呈现数字、不需对方开 Lantide | Report 的 HTML Report(见 §10) |
| 分析师 A 交给 B 接手同一工作区(含 SQL 分页) | Workspace(可勾 chat sessions) |
| 本机换电脑、完整迁移 | Workspace 或 Full backup |
| 只搬 Plan/Report,对方自行连数据 | Project |
常见误解:
- Project 不含实体数据档——收件方须在本机有相同数据、或自行 Rebind/连线后才能重跑 SQL。
- Workspace 预设包含完整本机工作数据——包含 MCP cache,以及初始文件夹与 Additional folders 中的本机文件;不包含 Cloud Folder/数据库远端内容。若不应分享原始数据或工作档,汇出前请取消实体数据或缩小 scope。
- 汇入后不能立刻查——须 Reconnect databases、Reconfigure MCP;含 Additional folder 实体档时,预设还原到文件夹旁的
<資料夾名>-additional/<alias>,需要时可改选自订基底;SQL Server 等连线不含可复原密码,须重新输入 credential。无 physical data 时常需 Source Run 重建快取。
11.1.1 汇出与汇入专案(.lantide)
可将一个或多个专案的 Plan、Report、project_knowledge.md、Reference 档(ref_*.md;旧版 NN_reference.md 仍相容)、Reference 图片资产与来源备份(若有)及相关 sidecar(进度、批注 *.annotations.json、HTML、viz)打包成单一 .lantide 档。适合共享分析脉络与结果(见 §11.1.0)。不包含工作区数据档、SQL 分页、连线设定或对话纪录。
汇出:
- 点击顶部列 UsersRound 图示 → Export… → Project;或在专案上右键 → Export project…(会预先勾选该专案)。
- 在对话框中勾选要汇出的专案(至少一项),点击 Export…。
- 选择储存位置;预设档名为
proj_export_<日期>.lantide。
汇入:
- 点击顶部列 UsersRound 图示 → Import… → Project。
- 选择
.lantide档(仅副档名须为.lantide,主档名任意)。 - 确认预览资讯后,选择目标工作区;若专案名称已存在,可勾选 Rename on conflict 自动加上
(imported)或(2)等后缀。 - 点击 Import。成功后侧边栏专案列表会更新;不会自动切换专案焦点。请重新连接数据来源后再执行查询。
注意: HTML 报告若内含本机 localhost URL,汇入后预览可能需在目前执行个体下重新产生或调整。
11.1.2 汇出与汇入工作区(Workspace .lantide)
未加密 Workspace 使用标准 ZIP 副档名 .lantide.zip;加密时维持 .lantide 自订容器。汇入支援两者及旧版 .lantide。包内根目录的 README.md 由程式产生,提供 Project 文件索引、数据入口、实际包含项目与分析历史涵盖范围,可用一般工具或 Agent 独立阅读。完整阅读与编辑建议使用 最新 Lantide Data 客户端。重新执行仍可能需要外部来源与环境,直接编辑后重新压缩不保证可汇入。
可将整个工作区的设定(data.json、tabs.json、schema.json、连线与 MCP 设定、knowledge_queue、所有专案等)打包为工作区套件。适合协作接续工作或换机(见 §11.1.0)。目前预设包含 agent query ledger、MCP cache,以及 All files in data and Additional folders 范围的本机 physical data;可在汇出前取消项目或缩小为 Referenced data files/All registered data files。不包含 Cloud Folder/数据库远端内容、user_knowledge.md 或全域 global_config.json。
Workspace bundle 会携带可用的分析脉络快照与稳定来源 ID,汇入时重建接续索引;本机原生追踪 token、机器路径与交易 journal 不会带到另一台机器,仍需重新绑定来源。直接 Workspace 实体数据汇出遇缺失或范围外文件时预设阻挡;若明确选择不完整汇出,会保留 warning 清单,不能视为完整备份。
汇出:
- 点击顶部列 UsersRound 图示 → Export… → Workspace。
- 预设包含 agent query ledger 与 MCP cache;chat sessions 仍由你选择是否加入。
- 本机文件: 预设启用 Include files from local data folders,scope 为 All files in data and Additional folders。你可取消包含,或缩小为 Referenced data files/All registered data files。All files 可能含 source code、credentials 与隐藏档,画面会持续警示;symlink 与空文件夹不会打包。
- 压缩与大型确认: 预设 Balanced;Smallest file 对 CSV/JSON 等文字数据压得更小,但汇出较慢。去重后 physical bytes 严格大于 200 MiB 时才需额外确认;10 MiB 只控制进度显示,不是确认门槛。
- 选择储存位置;未加密预设档名为
ws_export_<日期>.lantide.zip;加密时为ws_export_<日期>.lantide。
汇入:
- 选择 bundle 后,Lantide 会用工作区身分与版本历史检查本机是否已有同一工作区。没有相符项目时沿用原本的新工作区汇入流程;有相符项目时可选择更新既有工作区或汇入为独立副本。
- 更新既有工作区: 只显示本机/bundle 的新旧关系、local change 警告与本机文件摘要,不需逐档决定。Bundle 的共享内容与已打包文件为准;本机文件夹位置、相容连线的 credentials 与治理设定会保留。相同 hash 的文件跳过,不同 hash 以 bundle 版本取代,未包含在 bundle 的本机文件不会删除(overlay,不是 destructive mirror)。已证明来自同一来源的 related fork 可选 Replace fork from source,舍弃 fork 的 shared changes,同时保留 machine-local paths、credentials、caches 与 recovery;无关或已分岔且无法安全判定的历史仍会 fail closed。
- 汇入为独立副本: 建立新的工作区身分。若原工作区之后没有改动,副本汇出后可选择 Apply changes back;若双方都已修改,Lantide 不会自动合并,请保留为独立工作区。
- 一般新汇入、未含实体数据: 五步精灵 — Rebind 匹配本机已注册档;Additional folder 绑定需指向新机路径。
- 一般新汇入、含实体数据: 六步精灵 — 另含 Review files to extract(冲突:Replace/Rename imported/Keep existing);选择汇入容器后,初始数据还原至
main/、额外文件夹还原至additional/<alias>/并自动 rebind;容器内的main、additional必须未被占用,需要时可开启 Choose a custom folder 自订 Additional 基底。
完成后 Reconnect databases、Reconfigure MCP sources;SQL Server 等须重新输入密码(套件不含可复原密码)。必要时对相关分页执行 Source Run。可选择是否切换至新工作区。
每次成功更新会保留一份前版。若要回复,右键工作区并选 Restore Previous Version;目前版本会改成新的 recovery copy,因此可再切回。若更新时应用程式中断,Lantide 会在下次启动、载入工作区前依 journal 自动恢复到一致状态。磁碟空间不足时更新会在改动正式文件前停止。
外部 Agent managed Workspace bundle: Execute/Admin Agent 可依序 prepare → stage/poll → save 产生 Workspace bundle;汇入时先 inspect,再建立 immutable plan,最后依权限走 GUI approval/apply。Execute 的敏感套用需你在 GUI 核准;Admin 可在保留 warning、Activity 与 audit 的前提下 direct apply。v1 仅处理单一 Workspace,不支援 Project、Application profile 或 Full backup,也不会向 Agent 暴露 plaintext passphrase;加密汇入必须使用 GUI 核发的 opaque access。
注意: 连线密码不会写入套件;All files 仍可能包含 .env、source code 或其他敏感文件,请优先使用加密并谨慎分享。
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:
- UsersRound → Export… → Application profile。
- 可选是否包含 AI preferences;预设不含 API keys(勾选含 keys 时须二次确认)。
- 储存为
app_export_<日期>.lantide。
汇入 Application profile(三步精灵):
- 选择
.lantide并预览(含 user memory 大小、是否含 API keys)。 - 选择 User Memory:Merge(去重合并)或 Replace(覆盖前备份至
.pre_import.bak)。 - 选择 Knowledge settings(global_config.knowledge):Merge 或 Replace;Memory 仅 merge;可选套用 AI preferences。
汇出 Full backup:
- Export… → Full backup。
- 多选工作区;可选 ledger/chat/MCP cache、各工作区实体数据(与 Workspace 汇出相同 scope),以及 Application 可选项。
- 多工作区时实体数据大小在汇出前显示为 Size unknown until export(各 nested bundle 独立估算)。
- 储存为
full_backup_<日期>.lantide。
汇入 Full backup:
- 选择 bundle 后,依序为每个内嵌工作区指定新名称与文件夹;含
physical_data的工作区须逐步处理文件冲突(同 Workspace Extract Wizard)。 - 最后设定 Application profile(User Memory/Knowledge settings/AI preferences)。
- 完成后依检查清单重新连接数据库、MCP;必要时对相关分页执行 Source Run,并检查 AI Settings(含 localhost 提示)。
11.1.4 可选加密(passphrase)
四种 .lantide 汇出(Project、Workspace、Application profile、Full backup)均可选择以 passphrase 加密外层套件。未勾选时使用明文 ZIP(档头 PK);Workspace 副档名为 .lantide.zip,其他类型维持 .lantide。目前版本仍可汇入旧版套件。
汇出:
- 在 Export 对话框勾选 Encrypt bundle(或类似选项)。
- 输入 passphrase(至少 8 个字元)并在确认栏位再输入一次。
- 介面会提示:遗失 passphrase 将无法还原内容,请自行安全保存。
汇入:
- 选择
.lantide后,系统先 inspect 套件类型;若为加密档,会显示 header 中的低敏感摘要(例如专案数、内嵌工作区名称),并标注需解锁后才能看到完整预览。 - 输入 passphrase 并点击 Unlock;解锁过程可能需数秒(Argon2 金钥衍生)。
- 解锁成功后显示完整预览(bindings、warnings 等),再执行汇入或 Rebind。
注意:
- Full backup 仅外层加密;内层各工作区子套件仍为明文 ZIP。
- 加密套件需要较多暂存磁碟空间(解密时会写入暂存 zip);完成后自动清理。
- Preview 与 Import 会各自解密一次(无跨步骤快取)。
11.2 文件显示别名(Display alias)
每份 Plan / Report 可设定一个显示别名(最多 30 字),方便在侧边栏与分页标签上用语意化名称辨识文件,而不必记住 01_plan.md 这类档名。磁碟上的实际档名不变。
如何设定:
- 在侧边栏专案文件列上按右键,选择 Set alias(尚未设定)或 Edit alias(已有别名)。
- 在对话框中输入别名;留空并储存可清除别名。
- 亦可对已开启的 Markdown 分页双击标签或于标签上右键 → Edit alias 进行编辑(SQL 分页的双击/右键仍为重新命名分页,行为不同)。
显示规则:
- 侧边栏:有别名时显示
別名 (01_plan);无别名时仅显示 stem(如01_plan)。滑鼠暂留可看到完整提示。 - 分页标签:显示
專案名稱/別名或專案名稱/01_plan(无别名时);滑鼠暂留可看到完整标题。双击编辑时仍只编辑别名本体。 - 专案名称不可包含
/字元(建立与重新命名时皆会验证)。 - 同专案内别名不可重复;若与其他文件冲突,储存时会显示错误。
与 AI 的关系:
- AI 可透过
list_project_files与聚焦专案摘要看见file_name与display_alias的对照。 - 你可在对话中用别名指称文件(例如「打开 Q1 计划」);Agent 工具会解析到正确的 canonical 档名后再读写内容。
11.3 文件封存(Archived docs)
当你的专案中累积许多 Plan / Report 文件时,可以将暂时不需要的文件封存,让侧边栏主要列表保持简洁。封存不会删除文件,也不会搬动磁碟上的路径——文件仍然存在于同一专案中。
介面位置:
- 在侧边栏展开某个专案后,列表最上方会固定显示 Archived docs 群组(可点击标题列展开/收合)。
- 未封存的 Plan / Report 显示在 Archived docs 下方,顺序与文件编号一致。
- 封存区是否展开会依目前工作区 + 专案分别记住(存在本机浏览器中)。
如何封存与还原:
- 在一般列表中,将滑鼠移入某个文件列时,列右侧会显示封存图示;点击后该档会移入 Archived docs。
- 在 Archived docs 区内,移入文件列时同样会显示**还原(解除封存)**图示,点击后文件会回到下方的一般列表。
- 备援操作:在触控装置或不便 hover 时,可右键文件列,选择 Archive 或 Unarchive 完成封存/还原。
- 点击图示或选单项时不会开启文件;点击档名列(列本身)仍可照常开启 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 按需载入全文;回传 Markdown 文字与图片连结,不含图像素 |
| Agent 小修 | patch_reference(小范围 find-replace) |
| Agent 原生建立 | 你明确要求保存,或接受 Agent 的建立建议后,由 lantide:reference-authoring/add_reference 一次建立正文、显示名称与必填 Intro |
| Agent 汇入/整档 | 经授权的本机文件汇入或整档替换:由 Agent 依内建 skill lantide:load-external-ref 完成;不可用原生建立伪装本机来源 |
建立 Reference 的三条路
| 路径 | 入口 | 适合 |
|---|---|---|
| 空白壳 | Reference docs 右键 → New Reference | 你自行贴上/撰写映射表 |
| Agent 原生建立 | 在已聚焦 Project 的 Agent 对话中,明确要求「把这份内容存成 Project Reference」 | 从对话/分析整理出的专案专属 KPI 字典、mapping、状态码或长规格 |
| 从本机文件汇入 | Reference docs 右键 → Create reference from… | 既有 PDF、DOCX、PPTX、XLSX 等需转成可追溯 Reference |
原生建立不需要先做一个 preview tool call;服务端会验证内容,并把正文、alias 与 Purpose/When to read Intro 视为同一次操作。若是 Agent 主动建议,会先展示用途、大纲与 Intro,等你确认后才建立;确认后若内容改变,需重新确认。此路径不会建立来源 manifest,也不支援图片;真实本机来源或含图片内容请使用 governed import。正式 Plan 执行中,内建 Agent 不会新增可能改变专案权威上下文的 Reference。
从本机文件汇入(跟做):
- 在侧边栏 Reference docs 右键 → Create reference from…,于文件对话框选一个本机文件。
- Lantide 建立一次性汇入请求(请求本身不含主机绝对路径):
- 无 active external writer:内建 Agent 自动接手解析并写入 Reference。
- 有 active Execute/Admin writer:汇入请求复制到剪贴簿;请贴到外部 Agent 对话,由外部 Agent 完成同一流程。
- 成功后侧边栏出现新的
ref_N.md;图片会显示在 Visual;缺 Intro 时仍走下方 Update Intro 引导。
支援与限制(使用者语言):
- 支援选档: 常见文字/标记(
.md、.txt、.html、.json等)、PDF、DOCX、PPTX、XLSX/CSV/TSV、EPUB 等(以对话框 All supported files 为准)。 - 不内建 OCR: 扫描或纯图 PDF 可能要求提供可搜寻汇出;系统不会假装产出空白「完整」Reference。
- 可查询数据优先进数据源: 明显是可 SQL 查询的 CSV/表格式内容时,Agent 应先说明差异并询问是否改放 Workspace 数据,而非一律当 Reference。
- 汇入产物: Markdown 正文+受管图片资产(Visual 可显示);来源可追溯。若你之后人工大幅改过正文,整档覆写会有冲突保护,不会静默盖掉你的修改。
外部 Agent 提供本机路径(信任边界):
| 连线模式 | 能否用绝对路径汇入 |
|---|---|
| Admin | 可在你明确提供路径后处理 |
| Execute | 不可直接读任意路径;请改用 GUI Create reference from… 取得授权 |
| Observe | 不可借此读取任意本机文件 |
详见 §13。需要 Agent 看图时,在 Visual 右键图片 → Copy image,再贴到对话(见 §12.3.1)。
Update Intro(工具列):
- Create by agent:送 artifact 给 Agent →
propose_knowledge→ 审批卡 → Apply 写入 Rules。 - Enter manually:直接填写 Purpose / When to read,不经审批卡。
- 尚无 Intro 时,Update Intro 以黄字提示;首次储存成功后会引导建立 Intro(可选 Not now,需二次确认)。汇入成功但尚未写 Intro 时同样适用。
汇出/汇入: 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)
聚焦 / 取消聚焦:
- 在侧边栏的专案列表中,每个专案右侧有眼睛图示(👁)。已聚焦的专案其绿色眼睛图示会常驻显示;未聚焦时,眼睛图示与排序箭头预设隐藏,需将滑鼠暂留在该专案列上(或键盘使列内获得焦点)才会显示,避免列上挤满图示。
- 点击眼睛图示即可聚焦该专案——图示变为绿色,该专案列会以高亮背景标示。
- 再次点击同一专案的眼睛图示可取消聚焦。
- 点击其他专案的眼睛图示会自动切换焦点(同时间只能聚焦一个专案)。
手动排序专案:
每个专案列右侧的 ↑ / ↓ 与(未聚焦时的)眼睛图示相同,预设在暂留该列或列内 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 的 Plan 与 Report 的 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 标签。
图片与图表: Reference、Plan、Report 共用图片收录与编辑流程;贴图会标记未储存,储存后切换模式仍保留。Visual 模式的 Mermaid 区块直接显示图表,原始码预设收合。Agent 可依需要使用 Mermaid 或 SVG 说明关系,不要求每份文件都加入图表。
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 文件中的表格不會出現下列工具。
表格寬度超過編輯區時,會在該表格自己的容器內提供橫向捲動,不會把整份 Markdown 頁面撐寬;工具列會繼續對齊表格可視區域。
懸停工具列: 將滑鼠移到 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_table 與 show_data_labels 設定存於專案 sidecar 檔(01_report.viz.json,與 Report 同名前綴),關閉並重新開啟 Report 仍會保留。應用程式不再提供全域「一次隱藏所有已建圖表的源表」開關。
貼到 Excel 的步驟:
- 在 Report 分頁切換至 Visual。
- 將滑鼠移到目標表格上,點擊 Copy for Excel 圖示。
- 在 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.5.3 External Delivery 回綁
Markdown 與 HTML Report 可保存外部交付位置。對 Report 右鍵選 Link External Delivery…;已有連結時可從列上的 overflow 或右鍵選 Show External Delivery…。provider 可選 P4、KM、URL 或 Other,並可保存 label、location、source revision 與 note;對話框支援 Copy、Edit 與 Unlink。
External Delivery 是 Report 擁有的 pointer metadata: Lantide 不會自動抓取或驗證該位置,也不會因 Unlink 刪除外部成果;只有 HTTP/HTTPS location 會提供由使用者主動點擊的 Open 動作。內建或外部 Agent 可用 list_external_deliveries、link_external_delivery、update_external_delivery、unlink_external_delivery 管理;跨工作區 snapshot read 只允許 list。
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 可讓你稍後再開始替代分析;新版本仍須核准,不會自動繼續已停止的工作。
注意: 在 Executing、Executed 與 Stopped 狀態下,Plan 正文無法手動修改。若需修改計畫,請以 Stop & Replan 開新 Plan,或對已完成交付物以批註提出小幅修訂。
正式收尾(Report): Agent 不能跳過 Plan 直接新增正式 Report;報告大綱先放在 Plan 的 Report Brief。此規範不限制人類在 GUI 手動新增 Report,也不要求為既有報告的文字修訂重開 Plan。Plan 處於 Executing 時,Agent 不能改寫既有 Report;正式 closeout 會以 add_report 新增 Report,並將該 Plan 標為 Executed。Agent 可明確指定要完成的 Report Todo;系統不會猜測「最後一個 pending Todo」。若 Todo 無法唯一匹配,Report 仍會建立,但會保留 closeout warning 供你核對。Executed 之後若需小幅修訂已產出的 Report,再以批註或明確要求處理。
以既有 Report 規劃後續分析: Planning 狀態的新 Plan 可把同一專案內一份或多份 Markdown Report 設為上游輸入。Agent 會先讀取 Report,再用與內容 digest 綁定的引用建立或更新 Plan;若 Report 在連結後被修改,Analysis Lineage 會標示 Changed since linked,避免把已變動的結論當成原封不動的證據。上游關係只可在 Planning 時調整,單一 Plan 最多連結 20 份 Report。
執行進度(Progress): 當 Plan 處於 Executing 或 Executed 時,工具列右側會出現 Progress 圖示按鈕。點擊後在工作區頂部顯示 Execution Progress 內嵌面板,包含兩個分頁:
- Todo:Agent 維護的執行待辦清單(唯讀),以 Circle / CircleCheck 圖示標示未完成與已完成項目。
- Steps:Plan-local 的正式查詢/Source Run 執行快照(唯讀),完整保留且不受 conversation ledger 最近 50 筆的上下文視窗裁切。一般 SQL 步驟可點 View SQL;正式分析中的 Source Run 步驟則顯示 View DAG,開啟該次執行的血緣/DAG 快照(非單一 SQL 文字)。舊版若曾保存恰好 50 筆的已裁切快照,面板會提示內容可能不完整。
面板底部可拖拽調整高度(預設約 280px,範圍約 140–560px);縮小視窗時顯示高度會自動適應,放大後恢復你調整過的高度。
當 Agent 更新 Todo 或新增查詢步驟時,Progress 按鈕會顯示紅點提示;開啟面板後紅點消失。進度資料儲存於 Plan 同名的 sidecar 檔(*.progress.json),不寫入 Plan 正文。
Analysis Lineage: 在 Plan 或 Report 工具列選 Analysis Lineage,可開啟由 Plan、作為上游輸入的既有 Markdown Report、正式產出的 Markdown Report 與 HTML Report 組成的脈絡圖。點選節點可查看 artifact 類型與 authority;上游 Report 連結後若內容有變,節點會標示 Changed since linked。既有的停止/替代 Plan 鏈仍會呈現狀態、停止原因與部分成果。若目前文件有未儲存修改,請先儲存:Lineage 只反映已保存的版本。手動建立、且沒有連結 Plan 的 Report 會明確顯示沒有 Plan evidence;歷史鏈過長時可選 Load more,不會把缺失或歧義的關係假裝成完整。
11.7 沉浸式批註功能
批註功能讓你在 Markdown 文件中對特定段落標記意見,這些意見會隨文件一同保存。
新增批註:
- 在 Visual 模式下,用滑鼠選取(反白)你想批註的文字。
- 選取完成後,文字末端會出現一個批註圖示按鈕,點擊它開啟批註浮窗。
- 在浮窗的輸入框中撰寫你的批註內容。
- 點擊 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 | 已 Resolved 或 Anchor 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-idmark 與編輯器 runtime map 共同驅動;sidecar 儲存 comment、status、history 等 metadata(不再寫入 UTF-16anchor.span)。舊專案若仍含data-commentinline 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_count與annotation_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 讀取所有批註並修改文件。
操作方式:
- 在 Plan 或 Report 的 Markdown 分頁中,確認你已新增至少一條批註(此時工具列會顯示 Resolve (1) 等按鈕)。
- 點擊 Resolve (N) 按鈕(hover 可見完整說明,例如「Resolve N comments with AI」)。
- 系統會自動:
- 儲存當前文件(確保 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 1、Compare 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. |
点 Refresh 或 Refresh 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。