Skip to main content

Chatbot 是什么

Chatbot 是 Linkly AI 桌面应用内置的 AI 对话窗口,也是应用的默认启动窗口——安装完打开应用,第一眼看到的就是它。 它和普通的 AI 聊天工具最大的区别是:它自带一整套检索工具,能直接看到你已索引的文档。你不需要上传文件、不需要复制粘贴,只要提问,它会自己去搜、去读、去交叉比对,然后给出带引用的回答。

不用配置就能用

登录 Linkly AI 账号即可使用官方模型,检索工具已经内置好

过程完全透明

它搜了什么关键词、读了哪些文件、返回了什么,全都能展开看

和搜索启动器的分工

应用里有两个入口,很容易混: 简单判断:要「找一份文件」用启动器,要「问一个问题」用 Chatbot。
Chatbot 没有自己的全局快捷键。⌘⇧L / Ctrl+Shift+L 打开的始终是搜索启动器,不是 Chatbot。想开 Chatbot 请点托盘图标(macOS 上点 Dock 图标也行)。

打开与界面

窗口默认 1200×800,可自由缩放,最小 880×640。关闭窗口只是隐藏,应用仍在后台运行——下次点托盘图标会立刻回到刚才的对话。 界面分三栏:
1

左侧栏:对话列表

最上方是「新建对话」,下面是笔记找文件(打开搜索启动器)、设置三个入口,再往下是按日期分组的会话列表(今天 / 昨天 / 过去 7 天 / 本月 / 更早),每条会话右键或悬停可重命名删除最底部一排小按钮:模型配额索引状态快捷键官网
2

中栏:对话区

消息流 + 输入框。输入框右侧的工具栏里有模型选择器上下文用量百分比
3

右侧「工作区」:文件面板

两个标签页:
  • 本对话中的文件 —— 分为「引用的文件」和「读过的文件」两组,是本次对话中 AI 实际碰过的文件
  • 知识库文件 —— 一棵可搜索的文件树,右键菜单提供「添加到对话」「在 Finder / 资源管理器中显示」「立即转写」等操作
点任意文件可以钻进去直接预览正文;工作区还能最大化,当成阅读器用。

窗口内快捷键

以下快捷键只在 Chatbot 窗口处于焦点时生效

索引状态

左侧栏底部的索引按钮有三种状态:转圈的「正在索引…」、打勾的「索引已是最新」、红色的「索引出错」。点击会跳转到 设置 → 索引
如果 AI 说找不到某份你确信存在的文件,先看这个按钮——多半是还没索引完,或者那个目录压根没被添加进来。

用 @ 指定范围

这是 Chatbot 最常用、也最容易被误解的功能。在输入框里打 @,会弹出选择器,可以挑四类对象: 选中后,输入框上方会出现一排标签。一次 @ 几个没有硬性上限,超出一行的部分会折叠成 +N,悬停可以看到完整列表。
@ 是给 AI 的范围建议,不是硬过滤器。选中的对象会以引用的形式(路径、库标识、文档 id)写在你这条消息的开头,同时系统提示词里有一段固定说明,告诉模型该怎么解读它们。应用不会预读任何文档正文,正文仍然由模型自己调用检索工具去取。也就是说:你是在告诉 AI 优先在这里找,而不是在限定它只能在这里搜。绝大多数情况它会照做,但模型有可能不完全遵守,尤其在这个范围内确实找不到答案时。
@ 逐条消息生效,不是设置一次管一整个会话。 这条消息里 @ 了某个库,下一条消息不 @ 就恢复成全局范围。需要连续多轮限定在同一个范围,就每条都 @ 一次。

选择器的两组行为不一样

弹出的选择器分成两组,行为有明显区别: 而且「文件和文件夹」这一组只匹配文件名(basename),不匹配路径。想 @ ~/Projects/2026/年度总结.docx,输 年度总结 都能命中,但输 Projects 匹配不到这个文件(只会匹配到名为 Projects 的文件夹本身)。

云端知识库要能被 @,需要满足四个条件

如果你在选择器里找不到某个云端知识库,逐条对照检查:
  1. 已登录 Linkly AI 账号(或已配置 Cloud API 密钥)
  2. 该库已经在网页端点过「连接」
  3. 设置 → 知识库 → 已连接的云端知识库 里,这个库的开关是打开的
  4. 该云端库没有绑定到某个本地知识库
第 4 条是有意设计:已绑定的云端库只通过对应的本地条目出现,避免同一份内容在选择器里列两遍。想 @ 它,选那个本地库即可。

没有文件上传

Chatbot 不支持上传文件或添加附件@ 引用的对象必须是已经被索引的文件。想让 AI 读一份新文件,先把它所在的目录加进 设置 → 文件夹,或者直接放进 ~/LinklyAI 目录(该目录默认被监视),等索引完成后再 @ 它。

选择模型与查看额度

两类模型来源

第二类既包括第三方云端 API,也包括你机器上跑的 OllamaLM Studio(本地服务通常可以不填密钥)。添加时提供 12 个预设可快速填入:OpenAI、DeepSeek、Mistral、Groq、OpenRouter、Qwen、MiniMax、Moonshot、Zhipu、SiliconFlow、Ollama、LM Studio。
预设只预填地址,不包含模型列表。填完地址后,下一步可以从提供商的 /v1/models 端点自动发现模型,也可以手动输入模型 id。
切换模型的入口在输入框右侧的工具栏里,按提供商分组。设置 → AI 里可以设置新建对话时使用的默认模型,以及固定的回复语言。
**对话模型必须支持工具调用(Function Calling)。**不支持的模型根本不会出现在列表里——Chatbot 的全部能力都建立在调用检索工具之上,没有工具调用就只是一个不认识你文件的普通聊天框。

额度怎么算

Linkly AI 官方模型的额度不是按 token 数、也不是按请求次数单独计算的,而是一个共享的额度池:每个模型有自己的倍率,在模型选择器里以徽章形式标出,倍率越低的模型越省额度。 额度有三个并行的时间窗口,各自独立计算 任意一个窗口打满,就会被限流——即使另外两个还有余量。查看方式:点左侧栏底部的配额按钮,弹出三个环形进度条和各自的重置时间。
额度用完时,输入框上方会出现一条琥珀色横幅提示已达上限和恢复时间,横幅可以关掉,但真正的拦截在服务端——关掉横幅不会让你多发一条。 免费账户在模型列表里看不到 Pro 专享的模型(服务端已经过滤掉了);但如果你的 Pro 订阅到期、而默认模型还停在其中一个上,发送时会收到另一种提示升级的横幅。
第三方和本地模型不占用 Linkly AI 的额度,按你和对应服务商的计费方式结算。

会话与上下文压缩

会话

所有会话都存在本机的 SQLite 数据库里。没有数量上限、没有自动清理、没有保留期——不手动删就一直留着。工具调用的入参、返回、状态、报错以及模型的推理内容都会一并持久化,所以隔几天回来展开旧对话,细节仍然是完整的。 标题是自动生成的:先截取你的第一条消息做一个临时标题,随后在后台用同一个模型生成正式标题。手动重命名过的会话不会被覆盖

上下文压缩

对话变长以后,全部消息塞不进模型的上下文窗口。Linkly AI 的处理方式是压缩(compaction):
  • 自动触发阈值是模型上下文窗口的 80%
  • 手动触发:在输入框里输入 /compact
如果模型的上下文窗口大小未知,永远不会自动压缩。窗口大小来自提供商 /v1/models 返回的 context_length 字段。自定义提供商、本地 Ollama / LM Studio 经常不提供这个字段,此时用量百分比显示不出来,自动压缩也不会发生——对话只会一路变长,直到模型自己报错。这类模型请自己留意长度,适时手动 /compact 或新建对话。
压缩的做法是 append-only 的,这一点很重要:
  • 只把最旧的一段消息折叠成一段摘要,原始消息永远不会被删除
  • 折叠掉的消息在界面上仍然看得到,只是不再进入发给模型的上下文
  • 最近的一段消息逐字保留,不做任何摘要
摘要本身是结构化的六段:用户目标 / 每一条用户消息 / 关键结论 / 读过的文档 / 工具与检索结果(含负面结果)/ 未决问题。模型的推理内容会在压缩时被丢弃。 你在界面上看到的,是消息流中间多出一条可展开的分隔线:「已压缩较早的消息(N)」。点开就是那段摘要,再点原始消息依然可读。
80% 的自动压缩没有事前提示,它会安静地发生。只有当上下文真的被占满(100%)时,才会出现「本对话已占满上下文窗口」的警告横幅,并提供一个「压缩」按钮。想提前知道进度,看输入框工具栏里的上下文用量百分比
换个话题时新建对话(⌘N / Ctrl+N)几乎总是比压缩更划算:压缩要额外调一次模型,还会损失细节,而新对话干净、便宜、更快。

看懂 AI 在做什么

Chatbot 刻意把过程摊开给你看,这是判断答案可不可信的关键。

工具调用

AI 每次检索、读文件都是一次工具调用。连续的多次调用会折叠成一个分组:运行中自动展开让你看到进度,结束后自动收起,保持消息流干净。 展开分组可以看到完整的入参和返回结果——它到底搜了什么关键词、限定了什么范围、返回了几条、哪条失败了,一目了然。答案不对时,这里通常直接暴露原因(比如关键词选偏了,或者某个目录根本没索引)。

引用

回答中来自文档的事实,句尾会带一个可点击的引用标记,点击可跳到来源。被引用和被读过的文件会自动汇总到右侧工作区的「本对话中的文件」里,方便你逐一核对。

导出

Chatbot 支持单条导出,产物落在系统的下载目录:
没有整会话导出功能,也不支持 PNG 或 XLSX。需要留存整段对话,目前只能逐条导出,或者用选中复制。

常见问题

这是设计如此。全局快捷键 ⌘⇧L / Ctrl+Shift+L 绑定的是搜索启动器,Chatbot 没有独立的全局快捷键,请点托盘图标打开(macOS 上也可以点 Dock 图标)。窗口内的 ⌘N⌘B 等快捷键必须先让 Chatbot 窗口获得焦点才生效。
因为 @范围建议而不是硬过滤。被选中的对象以引用形式附在消息开头,由模型自己决定怎么用——它通常会优先在这个范围内检索,但在范围内找不到时可能会扩大搜索。如果需要严格限定,最可靠的做法是在消息里把话说死,例如「只在 ml-papers 这个知识库里找,找不到就直接说找不到」。
按顺序排查:
  1. 有没有输关键词——「文件和文件夹」这一组必须先输入关键词才出候选,默认最多显示 8 条,太宽泛的词会被别的文件挤掉。
  2. 输的是不是文件名——匹配只看文件名本身,不看路径。用路径中间的目录名搜不到文件。
  3. 文件索引了吗——看左侧栏底部的索引状态按钮,或去 设置 → 文件夹 确认那个目录已被添加。
不会自动删除。会话存在本机数据库里,没有数量上限、没有保留期,包括每次工具调用的完整入参和返回。不需要的会话在左侧列表里手动删除即可。
取决于你选的模型。用 Linkly AI 官方模型或任何第三方云端 API 时,消息内容会发给对应的模型服务——包括 AI 检索到的文档片段如果不希望内容离开本机,在 设置 → AI 里添加本地的 Ollama 或 LM Studio 提供商并选用它的模型,这样对话全程不出本机(但本地模型必须支持工具调用)。
检索能力是同一套。区别在于在哪里用
  • Chatbot —— 开箱即用,不用配置 MCP,附带文件树、引用面板、文档预览这些围绕「读资料」设计的界面。
  • MCP / CLI —— 把 Linkly AI 的检索工具接进你已经在用的 AI 工具,适合写代码、跑 Agent 等需要和其他工具链一起工作的场景。
两者可以同时用,互不影响。
找得回来。压缩是 append-only 的——原始消息永远不会被删除,只是不再进入发给模型的上下文。在消息流里点开「已压缩较早的消息(N)」这条分隔线就能看到全部原文。但要注意:模型此后只能看到摘要,不再看到那些原文。如果它「忘了」某个细节,把关键信息在新消息里再说一遍即可。

延伸阅读