腾讯云知 / 乐享知识库 一站式操作
仅服务于腾讯乐享(lexiangla.com)知识库的搜索、创建、上传、编辑、下载、配置;自动识别 v1(团队文档)和 v2(知识库)。
⛔ 适用范围(必须最先判断,命中失败立刻退出)
本 Skill 仅适用于腾讯乐享(lexiangla.com / csig.lexiangla.com)知识库的操作。
✅ 触发条件(满足任一)
- 用户消息含
lexiangla.comURL - 用户明确提及 "乐享 / 云知 / Lexiang / 知识库",且上下文指向乐享平台
- 用户已配置
LEXIANG_TOKEN,并明确要求 "上传到知识库 / 写入乐享 / 存到云知"
❌ 不适用场景(命中即立刻退出 Skill 上下文)
| 场景 | 处理方式 |
|---|---|
| 企业微信文档 / 微文档 / 腾讯文档 / 飞书 / Notion / iWiki 自身操作 | 直接退出,不读取任何 module |
| 公众号选题 / 文案创作 / 写作辅助(无乐享上下文) | 直接退出 |
| 情感咨询 / 闲聊 / 答题测验 / 通用问答 | 直接退出 |
| 仅含 "创建文档 / 编辑页面 / 写文章" 等通用动词,无乐享关键词 | 反问:"这是要操作腾讯乐享知识库吗?还是其他平台?" 在确认前不读取任何 module |
退出话术(统一模板)
这看起来不是乐享(云知)相关的请求。当前 Skill 仅处理 lexiangla.com 知识库操作。我会以普通对话模式继续帮你处理这个问题。
关键约束
- 判断为不适用后,禁止读取
modules/*.md与references/*.md(避免无意义 token 消耗) - 禁止在不适用场景下调用任何乐享 MCP 工具或 1.0 REST API
- 退出后以模型本身能力继续对话,不再尝试触发本 Skill
🔧 环境与认证
MCP 连接(2.0)
配置文件模板见 mcp.json,写入 ~/.workbuddy/mcp.json 或 ~/.mcporter/mcporter.json。
REST API(1.0)
API_HOST = https://lxapi.lexiangla.com
Token 通用规则
lxmcp_ 前缀的 MCP Token 同时适用于 2.0 MCP 协议和 1.0 REST API:
- MCP:通过
mcp.json中headers.Authorization: Bearer lxmcp_xxx传递 - REST:直接放
Authorization: Bearer lxmcp_xxxHTTP 头
⚠️ 乐享使用 Bearer Token 静态鉴权,不涉及 OAuth。Token 缺失/过期时引导用户访问
https://lexiangla.com/mcp?company_from=CSIG获取或续期。
🔒 COMPANY_FROM 默认规则(永久约定,禁止改动)
- 默认值固定为
CSIG,所有 URL / 链接 / 配置场景都默认拼接?company_from=CSIG - 仅当用户明确指定其他企业时才替换为对应值
- 涉及位置:
mcp.jsonURL、Token 获取链接、401 续期链接、诊断报告默认值
若用户尚未绑定 Token,标准提示语:
你尚未绑定乐享(云知)MCP,无法检索知识库。 请打开下方链接获取你的 LEXIANG_TOKEN(lxmcp_ 开头): https://lexiangla.com/mcp?company_from=CSIG 拿到 Token 后告诉我,我会帮你完成绑定(默认 COMPANY_FROM=CSIG)。
⚠️ 绝对禁止:引导用户在对话中直接粘贴完整 Token 明文。Token 必须由用户自行写入 mcp.json,或由 Skill 写入文件,不在对话流中传递。
🚥 操作前置门禁(强制)
任何调用 MCP 工具或 1.0 REST API 的操作之前,按下面顺序执行:
1. 当前 session 是否已通过健康检查?
├─ 已通过(缓存了 company_domain)→ 直接执行业务
└─ 未通过 → Step 2
2. 调用 MCP whoami() (只读,无副作用)
├─ ✅ 成功 → 缓存 user.name + company.company_domain,本 session 后续不再检查
├─ ❌ 401 → 走「Token 已过期」分支,禁止重试业务
├─ ❌ 工具不存在 / 连接超时 → 走「连接故障诊断」分支(见 modules/setup.md Step 5)
└─ ❌ 其他错误 → 输出错误码 + 建议,不重试
3. 健康检查未通过时:不要执行任何写入操作;读取类操作仅在用户明确允许"先看看再说"时尝试
🚦 路由规则
第零步:先过 Scope 守门(见上方"适用范围"),通过后才进入路由
第一步:URL 版本判断
当用户消息中包含 lexiangla.com 链接时,优先按 URL 路径判断版本:
| URL 特征 | 版本 | 说明 |
|---|---|---|
/teams/{code} 或 /teams/{code}/docs 或 /teams/{code}/docs/{doc_id} |
v1 | 团队文档区(1.0 REST API) |
/t/{team_id}/spaces |
v2 | 团队知识库列表(2.0 MCP) |
/spaces/{space_id} |
v2 | 知识库(2.0 MCP) |
/pages/{entry_id} |
v2 | 知识库页面(2.0 MCP) |
一句话规则:/teams/ → v1,/t/ + /spaces/ + /pages/ → v2。
第二步:路由决策图
USER MESSAGE
│
├─ Scope 守门未通过? ─── YES ──→ ❌ 退出 Skill
│
├─ 含 lexiangla.com URL? ──── YES ──→ 健康检查 → 按 URL 模式路由
│ /teams/.../docs/{doc_id}
│ ├─ 获取正文 → GET /cgi-bin/v1/docs/{doc_id}/parsed-content
│ ├─ 上传/编辑/删除 → modules/v1-docs.md
│ └─ 上传图片 → modules/v1-assets.md
│ /t/{id}/spaces 或 /spaces/{id}
│ ├─ 上传文件 → modules/files.md
│ ├─ 创建/导入 → modules/writer.md
│ └─ 浏览/搜索 → modules/search.md
│ /pages/{entry_id}
│ ├─ 修改/编辑 → modules/blocks.md
│ ├─ 上传文件 → modules/files.md
│ ├─ 追加内容 → modules/writer.md(import_to_entry)
│ ├─ 获取正文 → MCP entry_describe_ai_parse_content(entry_id)
│ └─ 阅读/查看 → modules/search.md
│
└─ 不含 URL 但通过 Scope 守门 ──→ 健康检查 → 按意图关键词路由(见下表)
不含 URL 时的意图 → 模块映射
| 意图关键词 | 模块 |
|---|---|
| 配置、连接、setup、token、401、过期、切换企业、未绑定 | modules/setup.md |
| 搜索、查找、找、看看、阅读、浏览、打开、有没有 | modules/search.md |
| 获取详细内容、解析内容、查看正文、读取文档内容、提取文字 | 见下方「文档内容获取规则」 |
| 创建、新建、写、写入、导入、保存到、发到乐享 | modules/writer.md |
| 修改、编辑、更新、改、调整排版、追加、插入、删掉段落 | modules/blocks.md |
| 上传文件、传 PDF/Word/Excel/PPT/图片、下载文件 | modules/files.md |
| 会议录制、会议纪要、导入会议、iWiki、迁移文档 | modules/connectors.md |
| 明确说 "1.0 接口" / "v1" + 文档操作 | modules/v1-docs.md |
| 明确说 "1.0 接口" / "v1" + 图片 | modules/v1-assets.md |
无法判断时:反问用户目标。禁止猜测目标知识库或目录。
⚠️ 通用规则
团队 ID 转换
1.0 REST API 的 team_id 参数需要 UUID 格式,不能直接用 URL 中的 code(如 k100684)。
转换方法:调用 MCP team_describe_team(team_id="k100684") → 返回 team.id(UUID)。
URL 中 node 参数
/teams/{code}/docs?node={node_id} 中的 node 是目标文件夹 ID,上传时作为 directory.data.id 传入。
结果链接生成
- v2 页面:
https://{domain}/pages/{entry_id} - v1 文档:
https://{domain}/teams/{team_code}/docs/{doc_id} {domain}从健康检查缓存的company.company_domain获取,默认csig.lexiangla.com
写入安全约束
- 写入操作必须基于用户明确提供的目标信息
- 不要自行猜测目标知识库 / 目录
- 删除操作需二次确认
- 写入失败必须落本地降级文件(详见 modules/writer.md「写入降级方案」)
批量内容获取:合并执行策略
当需要批量获取多篇文档内容时(如遍历目录、生成报告/大纲等),必须将多步操作合并到尽可能少的命令中执行:
- 一次性脚本优先:把「获取列表 → 判断类型 → 下载文件 → 解析内容」串联到一个 shell/python 脚本中一次执行
- 循环合并:用
for循环批量处理同类操作 - 减少交互次数:目标整个流程 不超过 2~3 次命令执行
requires_approval: false:对读取类操作(curl GET、markitdown 解析等)设置不需要审批;写入/删除仍需审批
参考可直接执行脚本:scripts/batch-fetch.py(v1.3.0 新增)。
跨版本内容获取降级策略(文档内容获取规则)
当用户提到「获取文档详细内容 / 解析内容 / 查看正文 / 读取文档」时,按 URL 类型路由:
┌────────────────────────────────────────────────────────────────────┐
│ 1. URL 含 /teams/.../docs/{doc_id} → 1.0 文档 │
│ 必用:GET /cgi-bin/v1/docs/{doc_id}/parsed-content │
│ → 直接返回 data.attributes.parsed_content(已解析 Markdown) │
│ → 富文本 / PPTX / DOCX / PDF 全支持,含图片描述 + OCR 结果 │
│ → 一次调用搞定,无需下载 + 本地解析 │
│ → 详见 references/api-get-doc-parsed-content.md │
│ │
│ 2. URL 含 /pages/{entry_id} → 2.0 文档 │
│ 必用:MCP entry_describe_ai_parse_content(entry_id) │
│ → 返回 AI 解析后的 HTML / Markdown / OCR 内容 │
│ │
│ 3. 兜底(仅以下场景才用旧的 GET /cgi-bin/v1/docs/{doc_id}): │
│ ├─ 需要原始 HTML 结构(保留 block 标签等) │
│ ├─ 需要下载原始文件二进制(pptx / pdf 本身) │
│ └─ parsed-content 接口异常时降级使用 │
└────────────────────────────────────────────────────────────────────┘
⚠️ v1 的
doc_id与 v2 的entry_id不通用。从/teams/URL 取到的 ID 必须走 v1 接口;从/pages/URL 取到的 ID 必须走 v2 MCP。
常见错误速查
| 错误 | 处理 |
|---|---|
| 401 | Token 过期 → 引导用户访问 https://lexiangla.com/mcp?company_from=CSIG 续期 |
| 403 | COS 签名过期(上传场景)→ 重新执行 apply_upload |
| 404 | 文档/条目不存在或无权限 → 确认 ID 正确 |
_mcp_fields |
所有 MCP 工具均支持此参数,按需选择返回字段以减少 token |
| 参数不确定 | 执行 get_tool_schema(tool_name="xxx") 获取最新定义 |
✍️ 输出风格约束
内容生成场景(写文章 / 整理资料 / 创建文档)
禁止:
- 模板化开头:"好的,我来帮你..." / "以下是为你整理的..." / "希望对你有帮助..."
- 模板化结尾:"希望对你有帮助" / "如有需要请告诉我" / "下一步可以..."
- 主动添加未要求的章节("延伸阅读" / "作者后记" / "免责声明" 等)
- 在用户没要求的情况下加 emoji 装饰
- 把用户的第一人称改成第三人称,或反之
必须:
- 直接产出核心内容,让用户能直接复制使用
- 保留用户提供的格式、语气、人称
- 用户没指定结构时,镜像参考材料的结构而非另起炉灶
- 数字、专有名词、产品名按用户原样保留
工具操作场景(搜索 / 上传 / 编辑)
禁止:
- 在工具调用前后加大段解释("现在我将调用 xxx 工具,它的作用是...")
- 把工具返回的原始 JSON 直接贴给用户
必须:
- 工具调用前最多一句话说明,工具返回后只展示用户关心的字段
- 多步操作用编号列表汇总最终结果,不复述每一步
📦 模块索引
路由判定完成后,读取对应模块文件获取详细操作指南:
| 模块 | 文件 | 功能 | 通道 |
|---|---|---|---|
| 配置向导 | modules/setup.md |
MCP 配置/连接验证/故障排查/Token 管理 | — |
| 搜索阅读 | modules/search.md |
关键词/语义搜索、知识库浏览、目录导航、文档读取 | v2 MCP |
| 文档写入 | modules/writer.md |
创建文档/页面/文件夹、Markdown/HTML 导入、写入降级 | v2 MCP |
| 页面编辑 | modules/blocks.md |
Block 级增删改移、批量编辑、Markdown 转 Block | v2 MCP |
| 文件管理 | modules/files.md |
文件三步上传/下载/更新/同步、上传降级 | v2 MCP |
| 外部导入 | modules/connectors.md |
腾讯会议录制导入、iWiki 文档迁移 | v2 MCP |
| 1.0 文档 | modules/v1-docs.md |
文档 CRUD(创建/查询/编辑/上传/删除) | v1 REST |
| 1.0 图片 | modules/v1-assets.md |
图片上传/下载 | v1 REST |
模块间协作
| 场景 | 主模块 | 辅助 |
|---|---|---|
| 上传文件到知识库(需先找 entry_id) | files | search |
| 编辑已有页面(需先读 block 结构) | blocks | search |
| 上传到 1.0 团队目录(需 UUID 转换) | v1-docs | search(team_describe_team) |
| 创建含图片的富文本文档 | v1-docs | v1-assets(先上传图片) |
| 获取 v1 文档内容(/teams/.../docs/) | references/api-get-doc-parsed-content.md(GET parsed-content) |
— |
| 获取 v2 页面内容(/pages/) | search(entry_describe_ai_parse_content) |
— |
参考文档
| 文档 | 说明 |
|---|---|
references/common-errors.md |
常见错误排查 |
references/block-schema.md |
Block 类型完整说明 |
references/mcp-examples.md |
复杂 Block 结构示例 |
references/markdown-to-block.md |
Markdown 转 Block 指南 |
references/block-update.md |
批量更新 Block 方法 |
references/content-reorganize.md |
文档结构重组 |
references/theme-config.md |
主题配置 |
references/doc-templates.md |
文档模板 |
references/markdown-import.md |
Markdown 导入详解 |
references/folder-sync.md |
文件夹同步方案 |
references/api-*.md |
1.0 REST API 各接口详细文档 |
references/api-get-doc-parsed-content.md |
1.0 文档解析内容接口(推荐获取正文用) |
references/examples.md |
1.0 端到端完整示例 |
辅助资源
| 资源 | 说明 |
|---|---|
assets/lexiang-block-schema.json |
Block Schema JSON 定义 |
assets/examples/ |
Block 结构示例文件 |
assets/themes/ |
主题配置文件 |
scripts/docs-v1.py |
1.0 文档 CLI 工具 |
scripts/assets-v1.py |
1.0 图片 CLI 工具 |
scripts/upload-files.py |
批量文件上传脚本 |
scripts/sync-folder.ts |
文件夹增量同步 |
scripts/batch-fetch.py |
批量获取文档内容(v1.3.0 新增) |
变更记录
- v1.3.0(2026-05-28)
- 新增「适用范围」章节(Scope 守门),未命中乐享上下文立刻退出
- 收紧 frontmatter description(加否定式约束)
- 新增「操作前置门禁」:所有 MCP/REST 操作前强制健康检查
- 新增「输出风格约束」节,禁止模板化开头/结尾、AI 味装饰
- setup.md 加 Step 5 结构化诊断报告,替代反复重试
- writer.md / files.md 加写入/上传降级方案(落本地文件)
- 路由规则改为 ASCII 决策图
- version 号合规化(去掉 V 前缀)
- 新增
scripts/batch-fetch.py - 全文强化 COMPANY_FROM=CSIG 默认约定