控制面板 → 集成——连接内容来源以及访问知识的渠道。


#内容来源

#已连接(始终启用)

来源 说明
LiKE Editor 用于创建文章的内置 AI 编辑器
文件导入 上传 PDF、DOCX、TXT、MD、RTF、ZIP
按链接导入 Google Docs、Dropbox、直接文件链接

#可用的连接器

来源 说明 模式
Wiki.js 导入或同步文章 同步 / 导入
Confluence 从 Atlassian Confluence Cloud 导入(OAuth) 同步 / 导入
Notion 导入页面和数据库 同步 / 导入
GitHub 从仓库同步 Wiki 和 Markdown 文件 同步 / 导入
GitLab 从项目同步 Wiki 和 Markdown 文件 同步 / 导入
Gitea 从自托管的 Gitea 同步 Wiki 和 Markdown 文件 同步 / 导入
文档站点 通过 sitemap 抓取的公开站点 Sync

#连接 GitHub

#第 1 步 —— 授权

  1. 在 LiKE 中进入 集成 → GitHub → "连接"
  2. 选择一种授权方式:
方式 说明
Personal Access Token (PAT) 在 GitHub → Settings → Developer settings → Personal access tokens 中创建令牌。Fine-grained(推荐):Repository access + Permissions → Contents: Read-only(Metadata: Read 会自动加上);对于组织仓库,令牌必须经组织所有者批准。Classic:scope 为 repo。Enterprise:指定 Base URL https://HOST/api/v3
OAuth 通过 GitHub App 授权——点击 "Authorize" 并确认访问

#第 2 步 —— 选择内容

  1. 连接后会显示一个包含文件夹和文件的仓库目录树
  2. 勾选要导入的具体文件或文件夹(Selective Sync
  3. 支持的格式:.md.mdx、Wiki 页面

#第 3 步 —— 运行同步

  1. 点击 "同步"
  2. 进度会实时显示
  3. 完成后,文章会出现在列表中,并带有 GitHub 标签

#连接 GitLab

#第 1 步 —— 授权

  1. 在 LiKE 中进入 集成 → GitLab → "连接"
  2. 选择一种授权方式:
方式 说明
Personal Access Token (PAT) 在 GitLab → Preferences → Access Tokens 中创建令牌。Scopes:apiread_user;令牌角色至少为 Reporter(Guest 看不到代码)。适用于 GitLab.com 和自托管(对于自托管,需指定实例的 Base URL)
OAuth 通过 GitLab Application 授权——点击 "Authorize"

#第 2 步 —— 选择内容

  1. 会显示一个包含 Wiki 页面和 Markdown 文件的项目目录树
  2. 勾选要导入的具体页面(Selective Sync

#第 3 步 —— 运行同步

与 GitHub 相同——点击 "同步" 并等待完成。


#连接 Gitea

Gitea 是一个自托管的 git 平台。它通过 Personal Access Token 和一个必填的实例 URL 连接(默认没有云端 Gitea)。

#第 1 步 —— 在 Gitea 中创建令牌

  1. 在 Gitea 中打开 Settings → Applications → Generate New Token
  2. 授予 read:repositoryread:user 权限范围
  3. 复制令牌

#第 2 步 —— 在 LiKE 中连接

  1. 在 LiKE 中进入 集成 → Gitea → "连接"
  2. 指定您实例的 Base URL(例如 https://gitea.company.com)——此字段为必填,缺少它连接将无法建立
  3. 粘贴令牌
  4. 选择一个空间/合集和一种模式(同步——持续镜像 / 导入——一次性复制)

如果 Gitea 管理员事先设置了 OAuth 应用,也支持 OAuth 2.0。首选路径是令牌。

#第 3 步 —— 选择内容并同步

  1. 会显示一个包含 Wiki 页面和 Markdown 文件(.md.mdx)的仓库目录树
  2. 勾选所需的节点(Selective Sync)并点击 "同步"
  3. 若要在 push 时自动更新,请设置 webhook——密钥在连接器卡片中生成。来自 Gitea 的文章为只读(与 GitHub/GitLab 相同)

#文件选择和同步筛选(GitHub、GitLab、Gitea)

对于 git 来源(GitHub、GitLab 和 Gitea),决定同步内容的逻辑比简单的"仓库开/关"更为精细:

#哪些内容会被同步

仓库内的来源 是否包含
Wiki 页面<repo>.wiki 默认包含所选仓库的全部 Wiki 页面
主目录树中的 Markdown 文件*.md*.mdx 默认包含全部 Markdown 文件,除非配置了筛选
README.md 作为一篇独立文章包含,标题 = <repo-name> · README
/docs/** 中的文档 若该文件夹存在则包含;文章名取自 # ... 标题或文件名
非 Markdown 文件.txt.rst.json、代码) 不会自动同步——LiKE 不解析任意格式

#路径筛选(selective sync)

您可以精确地缩小从仓库中获取的范围:

路径筛选
+ docs/** + guides/*.md − internal/**
只包含 docs/guides/ 中的文件,排除 internal/
前缀 作用
+ path/pattern 包含——按模式包含文件(glob 语法)
- path/pattern 排除——将文件从同步中排除
(空) 无筛选:仓库中的全部 Wiki + 全部 .md/.mdx

#变更检测(近期变更)

LiKE 不会在每次运行时"下载所有内容"。它采用变更检测:

  • GitHub——通过 webhook(推荐)或使用 If-Modified-Since 头进行轮询。webhook 对 push 即时响应,轮询——每 6/12/24/48 小时一次(取决于自动同步)。
  • GitLab——同理:webhook 或通过 Projects API 按 last_activity_at 轮询。
  • Gitea——webhook(X-Gitea-Signature 签名)或轮询。push 触发器仅在 *.md/*.mdx 变更时触发。

一旦检测到变更,只有受影响的文件会被同步;语料库的其余部分不会重新计算。这能大量节省 GitHub/GitLab API 配额和执行时间。

#分支和标签

参数 默认值
分支 仓库的默认分支(通常为 main / master
备选分支 可显式指定(例如与 release/v2 同步)
基于标签的同步 可选:按版本标签同步(例如版本 v3.0 的文档)
多分支 Pro+:可将多个分支作为不同文章并行同步

#历史和冲突

  • 同步历史——连接器卡片中的 "历史" 标签页:日期、状态(✅ 正常 / ⚠ 警告 / ❌ 错误)、新增 / 更新 / 删除的文章数量、运行时长。用于排查"为什么仓库中的某篇文章没有出现"。
  • 编辑冲突——如果来源文章在 LiKE 中被编辑过(对于 GitHub/GitLab,默认不允许——文章为只读)。如果模式为 导入(一次性复制),文章将变为可编辑,与来源的关联会断开。

#其他连接器的 Selective Sync

Notion、Confluence、Wiki.js——它们有各自的选择逻辑(页面树),但原理相同

  1. 连接时会显示来源的内容树
  2. 复选框——勾选所需的节点
  3. 其余内容不会导入
  4. 重新同步时,仅更新已选中的项

#连接 Wiki.js

#第 1 步 —— 获取 Wiki.js API 令牌

  1. 打开您的 Wiki.js → AdministrationAPI Access
  2. 启用 API(如果它被禁用)
  3. 点击 New API Key
  4. 为密钥命名(例如 LiKE Integration
  5. 分组:Administrators(需要对所有页面的访问权限)
  6. 有效期:永不过期或 1 年
  7. 复制生成的令牌

#第 2 步 —— 在 LiKE 中连接

  1. 在 LiKE 中进入 集成 → Wiki.js → "连接"
  2. 输入您 Wiki.js 的 URL(例如 https://wiki.company.com
  3. 粘贴 API 令牌
  4. 选择一种模式:
模式 说明
同步 持续关联——Wiki.js 中的变更会自动出现在 LiKE 中
导入 一次性复制所有文章
  1. 点击 保存

#第 3 步 —— 配置同步

参数 说明
自动同步 启用/禁用自动更新
间隔 每 6、12、24 或 48 小时
语言 按文章语言筛选(全部 / 特定语言)

#连接 Confluence

Confluence 通过 OAuth 2.0 连接——无需输入密码的安全授权。

#第 1 步 —— 点击 "Connect Confluence"

  1. 在 LiKE 中进入 控制面板集成
  2. 找到 Confluence 卡片 → 点击 "连接"
  3. Atlassian 授权窗口会打开

#第 2 步 —— 在 Atlassian 中授权

  1. 登录您的 Atlassian 账户(如果尚未登录)
  2. Atlassian 会显示一个请求:"LiKE is requesting access to your Confluence"
  3. 查看权限——LiKE 请求的是只读:页面内容和空间列表
  4. 点击 "Accept"

#第 3 步 —— 返回 LiKE

确认后,您会被自动重定向回 集成。Confluence 卡片会显示:

  • 状态:已连接
  • 您的 Confluence 站点名称
  • 一个 "同步" 按钮

#第 4 步 —— 运行同步

  1. 点击 "同步" 进行首次导入
  2. LiKE 会从可访问的 Confluence 空间加载所有页面
  3. 文章会出现在知识目录中

#第 5 步 —— 配置自动同步

打开设置(Confluence 卡片上的齿轮图标):

参数 说明
自动同步 启用自动更新
间隔 每 6、12、24 或 48 小时

来自 Confluence 的文章为只读。若要编辑,请在 Confluence 中修改原文,LiKE 会在下次同步时更新。

断开 Confluence 连接时,您可以保留这些文章在 LiKE 中的一份副本(它们会变为可编辑)或将其删除


#连接 Notion

#第 1 步 —— 在 Notion 中创建集成

  1. 打开 Notion → 点击您的头像(左上角) → Settings
  2. 在左侧菜单中选择 My connections(或 Integrations
  3. 点击 Develop or manage integrationsNew integration
  4. 输入名称(例如 LiKE Import),选择一个 workspace
  5. 点击 Submit → 复制 Internal Integration Secret(以 ntn_ 开头;对于较旧的集成——以 secret_ 开头)

#第 2 步 —— 授予集成对页面的访问权限

默认情况下,该集成对任何页面都没有访问权限。您需要显式允许:

  1. 在 Notion 中,打开您想导入的每个页面(或父页面/数据库)
  2. 点击 (三个点,右上角) → Connect to → 选择您的 LiKE Import 集成
  3. 确认访问
提示:授予对根页面的访问权限——所有子页面会自动对该集成可用。无需逐个连接每个页面。

#第 3 步 —— 在 LiKE 中连接

  1. 在 LiKE 中 → 控制面板集成 → Notion → "连接"
  2. 粘贴 Integration Secret(第 1 步中复制的)
  3. 选择一个用于导入的空间(现有的或新建一个)
  4. 选择一种模式
模式 说明
同步 持续关联——Notion 中的变更会自动出现在 LiKE 中。文章为只读
导入 一次性复制。文章在 LiKE 中变为可编辑
  1. 点击 "连接"
  2. LiKE 会加载该集成有权访问的所有页面

#第 4 步 —— 配置自动同步

打开设置(Notion 卡片上的齿轮图标):

参数 说明
自动同步 启用自动更新
间隔 每 6、12、24 或 48 小时

断开 Notion 连接时,您可以保留这些文章在 LiKE 中的一份副本(它们会变为可编辑)或将其删除


#接入文档站点

该连接器从公开站点抓取文档:读取其站点地图(sitemap),并在 LiKE 中保持一份副本。适用于文档已经发布的情况——自有域名、Docusaurus、GitBook、Docsify 等。

#第 1 步 — 站点地址

集成 → 文档站点 → 接入站点。 粘贴地址即可,任意一个页面的地址都行,我们会抓取整个站点。站点地图由我们自动查找:先读 robots.txt,再试 /sitemap.xml

#第 2 步 — 抓取前的检查

点击检查站点。检查不会保存任何内容:它只读取站点地图,并显示发现了多少页面、在过滤条件下将添加多少页面。若没有站点地图,接入不会开始——我们会明确告知,而不是悄无声息地导入零条。

#第 3 步 — 存放位置

选择空间与集合,集合可直接在向导中新建。点击接入后立即开始抓取:进度显示在连接器卡片上(“正在抓取站点 22 / 92”)以及后台任务指示器中。

#抓取什么,不抓取什么

  • 抓取页面正文,不包含站点的导航、页眉与页脚;
  • 站点分区按路径限制抓取范围(/docs//guides/);留空则抓取整站;
  • 搜索、标签等功能性分区默认跳过;
  • 单次最多页数限制一次抓取的规模,用于防止超大站点;
  • robots.txt 中禁止的页面不会抓取,其数量会显示在本次抓取的汇总里。

#后续更新

启用自动同步后,我们会按计划重新读取站点。只有发生变化的页面才会重新索引——汇总中也是这样写的:“新增”“更新”“无变化”。未变化的页面不消耗索引额度。

清理已消失的页面默认关闭:即使页面从站点上消失,文档仍保留在您的知识库中。若希望副本严格与站点一致,请开启。

#哪些站点可以接入,哪些不行

可以接入的是带有站点地图的公开站点——大多数文档生成器都是这样组织的。其余情况我们在检查阶段就明确拒绝,而不是接入之后才发现:

什么会阻碍 您会看到什么
没有站点地图——robots.txt/sitemap.xml 都没有 接入不会开始
站点地图地址返回的不是 XML,通常是防爬虫页面 接入不会开始
有站点地图,但按过滤条件筛选后没有剩余页面 接入不会开始
robots.txt 禁止抓取整个站点 接入不会开始
因服务器错误而无法读取 robots.txt 接入不会开始:“没有回应”不等于“允许”
站点需要密码,或仅限内网访问 无法读取页面
内容由脚本在浏览器中渲染 页面可能几乎为空——我们读取的是服务器返回的 HTML

即便站点已接入,个别页面仍可能被略过:robots.txt 中禁止的、返回错误的、超过 10 MB 的,或返回非 HTML 的页面。它们都会出现在本次抓取的汇总里并注明原因——“已跳过”“被 robots.txt 阻止”。

站点中的文件(PDF、ZIP、图片)不会被抓取。 它们有单独的路径——文件导入,并采用各自的解析方式。

#限制

  • 每个组织一个站点
  • 站点必须是公开的——需要密码的页面无法读取;
  • 必须存在站点地图:没有它则无法接入;
  • 我们遵守 robots.txt,包括其中指定的请求间隔。

断开连接。 同步随即停止,已导入的文档可以删除,也可以保留为普通文档——断开时 LiKE 会询问。


#文件导入

#上传文件

  1. 控制面板导入
  2. 拖入文件或点击上传区域
  3. 支持的格式:PDF、DOCX、TXT、MD、RTF、ZIP
  4. AI 会自动为每个文件生成标题和 slug
  5. 发布前,您可以编辑标题或在编辑器中打开它
参数 说明
最大大小 每个文件 20 MB,ZIP 为 100 MB
批量上传 一次最多 10 个文件
语言 自动检测

#ZIP 压缩包

上传一个包含大量文档的 ZIP 压缩包——LiKE 会自动解压并处理每个文件。适合迁移整个知识库。

ZIP 内支持的文件:PDF、DOCX、TXT、MD、RTF。其他文件(图片、可执行文件)会被跳过。

#按链接导入

粘贴一个文档链接——LiKE 会下载并导入它:

  1. 控制面板导入"按链接导入" 板块
  2. 粘贴一个 URL → 点击 "添加"
  3. 一次最多可添加 10 个链接
  4. 点击 "导入"

支持的来源:

  • Google Docs——自动导出为 DOCX
  • Google Sheets——导出为 CSV
  • Dropbox——直接文件链接
  • 任何直接指向 PDF、DOCX、TXT、MD 或 RTF 文件的 URL

#默认可见性

对于每个来源,您可以配置默认可见性:

  • 草稿——创建的文章为隐藏状态
  • 团队——对已授权用户可见
  • 公开——对所有人可见,包括匿名用户

集成 → 来源卡片 → 可见性 中配置。


#访问渠道

渠道让您的员工能够通过熟悉的工具搜索信息。

#Slack 机器人

连接 Slack:
1. 在集成板块点击 "Connect Slack"
2. 在您的 Slack workspace 中授权 LiKE 应用
3. 选择一个用于通知的频道
4. 完成——员工使用 /like question 或 @LiKE

功能:

  • /like how do I set up SSO? → 直接在 Slack 中给出 AI 答案
  • 在任意频道中提及 @LiKE → 在会话串中给出答案
  • 指向来源文章的链接(可点击)

#Telegram 机器人

连接 Telegram:
1. 在 Telegram 中通过 @BotFather 创建一个机器人
2. 复制机器人令牌
3. 将令牌粘贴到 LiKE → 集成 → Telegram
4. 将机器人添加到所需的群组

功能:

  • 私聊机器人 → AI 答案
  • 在群聊中:/ask question → 给出答案
  • 支持 25+ 种语言

#JS 小组件(用于您的网站)

一个可嵌入任意网站的浮动 AI 搜索按钮。最受欢迎的集成——用户在页面角落看到一个按钮,点击后会打开一个可与 AI 对话并在您的知识库中搜索的聊天窗口。

#简易安装

3 步安装:
1. 集成 → 小组件 → "+ 创建小组件" → 命名并保存
2. 复制嵌入代码(一个带唯一 api-key 的 `<script>` 标签)
3. 将其粘贴到您网站任意页面的 </body> 之前

#基本参数

参数 说明
名称 小组件的内部名称(供管理面板用,用户不可见)
位置 左下角或右下角
强调色 按钮和聊天中强调元素的颜色(默认取自品牌设置)
快捷键 例如 Ctrl+K / ⌘K,用键盘打开聊天
语言 聊天 UI 语言(若未设置则从 <html lang> 自动检测)
占位符 输入框中的文本("提出一个问题…")
聊天 Logo 聊天头部的品牌标识(在带白标的套餐上)
"Powered by Lynkora" 页脚 在带白标的套餐上可隐藏

#Dual-auth:两种鉴权模式(ADR 0032)

在 LiKE 中,小组件可以以两种模式之一工作——在创建时选择:

模式 1 —— 允许的路径
用于公开网站
位于落地页、营销页面或支持中心的小组件。鉴权为匿名——任何访客都可以使用它。
保护措施:
  • api-key 生效的 URL 白名单
  • Scope = __public__ 或特定的公开合集
  • 按 api-key 的速率限制
模式 2 —— 会话 JWT
用于带鉴权的企业站点
位于企业内网或 SaaS 应用中的小组件。小组件接受用户的会话 JWT,并只显示他们有权访问的内容。
使用场景:
  • 公司的内部门户
  • 您自有产品中支持 SSO 的小组件
  • 看到用户的空间

有关配置每种模式以及与您后端集成的详细信息,请参阅 API 与小组件

#Scope:小组件能找到什么

创建小组件时,您需要设定一个 scope——它到底搜索什么:

Scope 条目
🌐 public_umbrella —— 组织的全部公开文章(用于允许路径式小组件)
📂 space:<id> —— 特定空间(用于会话 JWT 式小组件)
📁 collection:<id> —— 特定合集(一个较窄的 scope,例如仅 FAQ)

在单个小组件内,您可以组合多个 scope 条目(例如,来自同一空间的两个合集)。

#每个租户多小组件(ADR 0029 Stage 4)

在一个组织内,您可以创建多个独立的小组件,各自有不同的 scope 和模式:

小组件 Scope 嵌入位置
Marketing site widget public_umbrella(Public KB) yourcompany.com 上——匿名
Support center widget collection:faq-coll support.yourcompany.com 上——仅 FAQ
Intranet widget space:eng-space(按 JWT) intranet.yourcompany.com 上——企业内网,按权限查看空间

每个都有自己的 api-key 和用量分析,且该密钥可独立吊销。管理位置在 集成 → 小组件 → "+ 创建"

#会话管理(会话 JWT 模式)

在会话 JWT 模式下,每个用户会话都有唯一的 sessionId。管理员可以查看某个小组件的活动会话,并强制吊销某个令牌(例如,在怀疑被泄露时)。列表位于 集成 → 小组件 → [小组件] → 会话

#iframe / 直接链接

在任意页面嵌入完整的 LiKE 搜索界面:

  1. 集成 → iframe → 复制代码
  2. <iframe src="..."> 粘贴到您的页面
  3. 或使用直接链接进行跳转(一个完整页面,而非嵌入)

iframe 和 Direct Link 也支持 dual-auth——在创建时选择。

#REST API

用于程序化集成的完整 API(例如,您自己的 UI 或与其他系统的集成):

  1. 集成 → API 密钥 → "创建密钥"
  2. 指定名称(密钥的用途)和一个 scope(与小组件相同——public_umbrella / space / collection)
  3. 复制密钥——它仅显示一次,重新打开后会被遮蔽

X-API-Key 头中或作为 Bearer 令牌使用该密钥。

主要端点:

端点 作用
POST /api/public/search 在知识库中进行 AI 搜索(完整流程:检索 + 答案 + 来源)
POST /api/public/ask 同上,但不含 AI 答案——只返回相关文章列表
GET /api/public/articles api-key 的 scope 内的文章列表
GET /api/public/articles/{id} 文章内容
GET /api/public/collections 该 scope 的合集目录树

**限制:**速率限制取决于套餐,并与 api-key 关联。超出后会返回带 Retry-After 头的 HTTP 429。适用于您套餐的确切数值请见 套餐 页面和管理面板。

完整 API 文档:API 与小组件


#语言

LiKE 支持 25+ 种语言用于 AI 搜索和跨语言搜索(界面本身提供 11 种 UI 语言):

Русский、English、Deutsch、Français、Español、Português、Italiano、Nederlands、Polski、Čeština、Svenska、Dansk、Suomi、Română、Magyar、Hrvatski、Türkçe、Afrikaans、Kiswahili、Bahasa Indonesia、Tiếng Việt、Українська、Српски、Български、Ελληνικά、한국어、日本語、中文、हिन्दी、ไทย、עברית、العربية。

跨语言搜索:用一种语言提问 → 从另一种语言的文章中得到答案。