lexiang
腾讯乐享知识库 API 集成。提供团队、知识库、知识节点、在线文档块的完整 CRUD 操作,以及通讯录管理、AI 搜索/问答、文件上传、任务管理等功能。此 skill 适用于需要通过 API 管理乐享知识库内容(创建/查询/编辑文档、搜索知识、管理团队权限等)的场景。
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install openclaw-skills-lexiang-skill
Repository
Skill path: skills/ajaxhe/lexiang-skill
腾讯乐享知识库 API 集成。提供团队、知识库、知识节点、在线文档块的完整 CRUD 操作,以及通讯录管理、AI 搜索/问答、文件上传、任务管理等功能。此 skill 适用于需要通过 API 管理乐享知识库内容(创建/查询/编辑文档、搜索知识、管理团队权限等)的场景。
Open repositoryBest for
Primary workflow: Analyze Data & AI.
Technical facets: Full Stack, Backend, Data / AI.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: openclaw.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install lexiang into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/openclaw/skills before adding lexiang to shared team environments
- Use lexiang for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: lexiang
description: 腾讯乐享知识库 API 集成。提供团队、知识库、知识节点、在线文档块的完整 CRUD 操作,以及通讯录管理、AI 搜索/问答、文件上传、任务管理等功能。此 skill 适用于需要通过 API 管理乐享知识库内容(创建/查询/编辑文档、搜索知识、管理团队权限等)的场景。
homepage: https://lexiang.tencent.com/wiki/api/?event_type=link_exchange&event_channel=skill&event_detail=github
metadata: {"openclaw":{"emoji":"📚"}}
---
# 腾讯乐享知识库 API
腾讯乐享知识库是企业级知识管理平台,提供知识库、团队协作、文档管理、AI助手等功能。
## 数据模型
- **Team(团队)**:顶级组织单元,一个团队下可以有多个知识库(Space)
- **Space(知识库)**:知识的容器,属于某个团队,包含多个条目(Entry),有 `root_entry_id` 作为根节点
- **Entry(条目/知识)**:知识库中的内容单元,可以是页面(page)、文件夹(folder)或文件(file),支持树形结构(parent_id)
- **File(文件)**:附件类型的条目,如 PDF、Word、图片等
层级关系:`Team -> Space -> Entry(树形结构,root_entry_id 为根)`
## URL 规则
生成知识库链接时,必须使用企业专属域名(如 `csig.lexiangla.com`),**禁止使用** `https://lexiang.tencent.com/wiki/{id}` 格式。
| 资源类型 | URL 格式 |
|---------|----------|
| 团队首页 | `https://{domain}/t/{team_id}/spaces` |
| 知识库 | `https://{domain}/spaces/{space_id}` |
| 知识条目 | `https://{domain}/pages/{entry_id}` |
优先使用 API 响应中的 `links` 字段;如果 API 未返回完整链接,根据上述规则拼接。
## 凭证配置
### 环境变量
```bash
export LEXIANG_APP_KEY="your_app_key"
export LEXIANG_APP_SECRET="your_app_secret"
export LEXIANG_STAFF_ID="your_staff_id" # 写操作必需
```
### 凭证配置优先级
1. 环境变量(最高优先级)
2. `~/.openclaw/openclaw.json` 中的 `skills.entries.lexiang.env` 字段
3. `~/.config/lexiang/credentials` JSON 文件
### 初始化(加载凭证 + 获取 Token)
执行 `scripts/init.sh` 脚本自动处理凭证加载和 Token 获取:
```bash
source scripts/init.sh
# 之后可使用 $LEXIANG_TOKEN 和 $LEXIANG_STAFF_ID
```
Token 有效期 2 小时,获取频率限制 20次/10分钟。脚本会自动缓存到 `~/.config/lexiang/token`。
## API 调用基础
### 请求头
```bash
# 读操作
-H "Authorization: Bearer $LEXIANG_TOKEN"
-H "Content-Type: application/json; charset=utf-8"
# 写操作(额外需要)
-H "x-staff-id: $LEXIANG_STAFF_ID"
```
### 需要 x-staff-id 的接口
所有写操作(创建/更新/删除)、AI 搜索/问答、权限设置
### 创建知识节点的格式
使用 **JSON:API 规范格式**,通过 `relationships` 指定所属知识库和父节点:
```json
{
"data": {
"type": "kb_entry",
"attributes": {"entry_type": "page", "name": "标题"},
"relationships": {
"space": {"data": {"type": "kb_space", "id": "SPACE_ID"}},
"parent_entry": {"data": {"type": "kb_entry", "id": "PARENT_ID"}}
}
}
}
```
### 通用限制
- 频率限制:大部分接口 3000次/分钟
- 权限要求:需在 AppKey 的授权范围内
## 核心工作流
### 1. 查询知识
```bash
# 获取团队列表
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/teams?limit=20" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
# 获取知识库列表
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/spaces?team_id={team_id}&limit=20" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
# 获取知识列表
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries?space_id={space_id}&limit=20" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
# 获取文档内容(HTML 格式)
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries/{entry_id}/content?content_type=html" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
### 2. 创建文档
两种方式对比:
| 方式 | 优点 | 推荐场景 |
|------|------|---------|
| **上传 Markdown 文件** | 简单高效、格式完整保留 | 批量创建文档、Markdown 内容发布 |
| **块接口 (page + blocks)** | 精确控制格式、可实时编辑 | 需要程序化编辑文档内容 |
**推荐方式:上传 Markdown 文件**
使用 `scripts/upload_file.sh` 脚本:
```bash
source scripts/init.sh
bash scripts/upload_file.sh ./document.md SPACE_ID [PARENT_ENTRY_ID]
```
### 3. AI 搜索与问答
```bash
# AI 搜索
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/ai/search" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"query": "搜索关键词"}'
# AI 问答(research=true 使用专业研究模式)
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/ai/qa" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"query": "问题内容", "research": false}'
```
## 使用块接口的关键注意事项
对于需要使用在线文档块接口的场景,注意以下要点(详细示例见 `references/api-blocks.md`):
1. **新建文档不传 parent_block_id**:直接插入内容到页面根节点
2. **列表块字段名不同于类型名**:`bulleted_list` 用 `bulleted` 字段,`numbered_list` 用 `numbered` 字段
3. **标题块字段需匹配**:`h1` 用 `heading1`,`h2` 用 `heading2`,不是 `text`
4. **嵌套块必须使用 children 和 block_id**:表格/引用/高亮块通过临时 ID 建立父子关系
5. **不支持嵌套的类型**:`h1`-`h5`、`code`、`image`、`attachment`、`video`、`divider`、`mermaid`、`plantuml`
## 常见错误排查
| 错误信息 | 原因 | 解决方案 |
|----------|------|---------|
| `必须指定员工账号` | 缺少 x-staff-id | 添加 `-H "x-staff-id: $LEXIANG_STAFF_ID"` |
| `data.attributes.entry_type 不能为空` | 请求格式错误 | 使用 JSON:API 规范格式 |
| `content_type 不能为空` | 缺少参数 | 添加 `?content_type=html` |
| 列表内容为空 | 字段名错误 | 无序列表用 `bulleted`,有序列表用 `numbered` |
| 嵌套块创建失败 | 缺少关联 | 确保 `children` + `block_id` 配对 |
| 上传接口 404 | 旧版路径 | 使用 `/v1/kb/files/upload-params` |
## 详细 API 参考
按需查阅以下参考文件获取完整的接口文档:
| 文件 | 内容 | 搜索关键词 |
|------|------|-----------|
| `references/api-contact.md` | 通讯录管理(成员/部门 CRUD) | contact, user, department, staff |
| `references/api-team-space.md` | 团队与知识库管理 | team, space, 权限, subject |
| `references/api-entries.md` | 知识节点 CRUD 与权限 | entry, entries, page, directory, file |
| `references/api-blocks.md` | 在线文档块接口(创建/编辑块内容) | block, descendant, paragraph, table, list |
| `references/api-other.md` | 任务/属性/日志/AI/素材/导出/SSO | task, property, log, ai, search, qa, upload, sso |
## HTTP 错误码
| 状态码 | 说明 |
|--------|------|
| 200/201 | 成功 |
| 204 | 删除成功 |
| 400 | 请求参数错误 |
| 401 | Token 无效或过期 |
| 403 | 无权限 |
| 404 | 资源不存在 |
| 429 | 超出频率限制 |
---
## Referenced Files
> The following files are referenced in this skill and included for context.
### scripts/init.sh
```bash
#!/bin/bash
# 乐享知识库凭证加载和 Token 获取脚本
# 优先级:环境变量 > openclaw.json (env) > ~/.config/lexiang/credentials
#
# 使用方式:source scripts/init.sh
# 执行后可使用 $LEXIANG_TOKEN 和 $LEXIANG_STAFF_ID 变量
# 1. 检查环境变量(openclaw 会自动从 env 字段注入)
if [ -n "$LEXIANG_APP_KEY" ] && [ -n "$LEXIANG_APP_SECRET" ]; then
echo "使用环境变量中的凭证"
if [ -z "$LEXIANG_STAFF_ID" ]; then
if [ -f ~/.openclaw/openclaw.json ]; then
STAFF_ID=$(jq -r '.skills.entries.lexiang.env.LEXIANG_STAFF_ID // empty' ~/.openclaw/openclaw.json 2>/dev/null)
if [ -n "$STAFF_ID" ]; then
export LEXIANG_STAFF_ID="$STAFF_ID"
fi
fi
fi
# 2. 检查 openclaw.json 的 env 配置
elif [ -f ~/.openclaw/openclaw.json ]; then
APP_KEY=$(jq -r '.skills.entries.lexiang.env.LEXIANG_APP_KEY // empty' ~/.openclaw/openclaw.json 2>/dev/null)
APP_SECRET=$(jq -r '.skills.entries.lexiang.env.LEXIANG_APP_SECRET // empty' ~/.openclaw/openclaw.json 2>/dev/null)
STAFF_ID=$(jq -r '.skills.entries.lexiang.env.LEXIANG_STAFF_ID // empty' ~/.openclaw/openclaw.json 2>/dev/null)
if [ -n "$APP_KEY" ] && [ -n "$APP_SECRET" ]; then
export LEXIANG_APP_KEY="$APP_KEY"
export LEXIANG_APP_SECRET="$APP_SECRET"
if [ -n "$STAFF_ID" ]; then
export LEXIANG_STAFF_ID="$STAFF_ID"
fi
echo "使用 ~/.openclaw/openclaw.json 中的凭证"
fi
# 3. 检查独立配置文件
elif [ -f ~/.config/lexiang/credentials ]; then
LEXIANG_CREDS=$(cat ~/.config/lexiang/credentials)
export LEXIANG_APP_KEY=$(echo $LEXIANG_CREDS | jq -r '.app_key')
export LEXIANG_APP_SECRET=$(echo $LEXIANG_CREDS | jq -r '.app_secret')
STAFF_ID=$(echo $LEXIANG_CREDS | jq -r '.staff_id // empty')
if [ -n "$STAFF_ID" ]; then
export LEXIANG_STAFF_ID="$STAFF_ID"
fi
echo "使用 ~/.config/lexiang/credentials 中的凭证"
fi
# 检查凭证是否已加载
if [ -z "$LEXIANG_APP_KEY" ] || [ -z "$LEXIANG_APP_SECRET" ]; then
echo "错误:未找到乐享凭证,请配置以下任一方式:"
echo " 1. 设置环境变量 LEXIANG_APP_KEY 和 LEXIANG_APP_SECRET"
echo " 2. 在 ~/.openclaw/openclaw.json 中配置 skills.entries.lexiang.env"
echo " 3. 创建 ~/.config/lexiang/credentials 文件"
return 1 2>/dev/null || exit 1
fi
if [ -z "$LEXIANG_STAFF_ID" ]; then
echo "警告:未配置 LEXIANG_STAFF_ID,写操作可能会失败"
else
echo "员工身份标识:$LEXIANG_STAFF_ID"
fi
# 检查是否有缓存的有效 token
if [ -f ~/.config/lexiang/token ]; then
TOKEN_AGE=$(($(date +%s) - $(stat -f %m ~/.config/lexiang/token 2>/dev/null || stat -c %Y ~/.config/lexiang/token)))
if [ $TOKEN_AGE -lt 7000 ]; then
export LEXIANG_TOKEN=$(cat ~/.config/lexiang/token)
echo "使用缓存的 Token (剩余有效期: $((7200 - TOKEN_AGE))秒)"
return 0 2>/dev/null || exit 0
fi
fi
# 获取新 token
export LEXIANG_TOKEN=$(curl -s -X POST "https://lxapi.lexiangla.com/cgi-bin/token" \
-H "Content-Type: application/json; charset=utf-8" \
-d "{\"grant_type\":\"client_credentials\",\"app_key\":\"$LEXIANG_APP_KEY\",\"app_secret\":\"$LEXIANG_APP_SECRET\"}" \
| jq -r '.access_token')
mkdir -p ~/.config/lexiang
echo $LEXIANG_TOKEN > ~/.config/lexiang/token
echo "已获取新 Token 并缓存"
```
### scripts/upload_file.sh
```bash
#!/bin/bash
# 乐享知识库文件上传脚本(三步流程)
# 使用方式:bash scripts/upload_file.sh <文件路径> <知识库ID> [父节点ID]
#
# 前置条件:已通过 source scripts/init.sh 设置好环境变量
# - $LEXIANG_TOKEN
# - $LEXIANG_STAFF_ID
set -e
FILE_PATH="$1"
SPACE_ID="$2"
PARENT_ID="${3:-}"
if [ -z "$FILE_PATH" ] || [ -z "$SPACE_ID" ]; then
echo "用法: bash scripts/upload_file.sh <文件路径> <知识库ID> [父节点ID]"
echo "示例: bash scripts/upload_file.sh ./doc.md abc123 parent_entry_id"
exit 1
fi
if [ ! -f "$FILE_PATH" ]; then
echo "错误:文件不存在: $FILE_PATH"
exit 1
fi
if [ -z "$LEXIANG_TOKEN" ] || [ -z "$LEXIANG_STAFF_ID" ]; then
echo "错误:请先执行 source scripts/init.sh 加载凭证"
exit 1
fi
FILE_NAME=$(basename "$FILE_PATH")
echo "准备上传文件: $FILE_NAME"
# 步骤1: 获取上传凭证
echo "步骤1: 获取上传凭证..."
UPLOAD_PARAMS=$(curl -s -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/kb/files/upload-params" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d "{\"name\": \"$FILE_NAME\", \"media_type\": \"file\"}")
BUCKET=$(echo "$UPLOAD_PARAMS" | jq -r '.options.Bucket')
REGION=$(echo "$UPLOAD_PARAMS" | jq -r '.options.Region')
KEY=$(echo "$UPLOAD_PARAMS" | jq -r '.object.key')
STATE=$(echo "$UPLOAD_PARAMS" | jq -r '.object.state')
AUTH=$(echo "$UPLOAD_PARAMS" | jq -r '.object.auth.Authorization')
COS_TOKEN=$(echo "$UPLOAD_PARAMS" | jq -r '.object.auth.XCosSecurityToken')
if [ -z "$BUCKET" ] || [ "$BUCKET" = "null" ]; then
echo "错误:获取上传凭证失败"
echo "$UPLOAD_PARAMS"
exit 1
fi
echo " Bucket: $BUCKET, Region: $REGION"
# 步骤2: 上传到腾讯云COS
echo "步骤2: 上传文件到COS..."
COS_RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" -X PUT \
"https://${BUCKET}.cos.${REGION}.myqcloud.com/${KEY}" \
-H "Authorization: $AUTH" \
-H "x-cos-security-token: $COS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@$FILE_PATH")
if [ "$COS_RESPONSE" != "200" ]; then
echo "错误:上传到COS失败,HTTP状态码: $COS_RESPONSE"
exit 1
fi
echo " 上传成功"
# 步骤3: 创建知识节点
echo "步骤3: 创建知识节点..."
if [ -n "$PARENT_ID" ]; then
RELATIONSHIPS='"parent_entry": {"data": {"type": "kb_entry", "id": "'"$PARENT_ID"'"}}'
else
RELATIONSHIPS=""
fi
CREATE_RESPONSE=$(curl -s -X POST \
"https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries?state=$STATE&space_id=$SPACE_ID" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d "{
\"data\": {
\"type\": \"kb_entry\",
\"attributes\": {
\"entry_type\": \"file\",
\"name\": \"$FILE_NAME\"
}$([ -n "$RELATIONSHIPS" ] && echo ", \"relationships\": {$RELATIONSHIPS}")
}
}")
ENTRY_ID=$(echo "$CREATE_RESPONSE" | jq -r '.data.id // empty')
if [ -n "$ENTRY_ID" ] && [ "$ENTRY_ID" != "null" ]; then
echo "上传完成!"
echo " Entry ID: $ENTRY_ID"
echo " 文件名: $FILE_NAME"
else
echo "警告:节点创建可能失败,请检查响应:"
echo "$CREATE_RESPONSE" | jq .
fi
```
### references/api-blocks.md
```markdown
# 在线文档块接口 API
> **文档参考**: https://lexiang.tencent.com/wiki/api/15016.html
## 创建嵌套块
**接口地址**: `POST /cgi-bin/v1/kb/page/entries/{entry_id}/blocks/descendant`
**请求头**:
- `Authorization: Bearer {access_token}`
- `x-staff-id`: 成员账号(作为创建者)
- `Content-Type: application/json; charset=utf-8`
**核心参数说明**:
| 参数 | 类型 | 必须 | 说明 |
|------|------|------|------|
| parent_block_id | String | 否 | 父块 ID。**留空则插入到页面根节点** |
| index | Int | 否 | 插入位置索引(从 0 开始) |
| children | Array | 嵌套块必填 | 第一级子块的临时 ID 列表 |
| descendant | Array | 是 | 所有待创建块的数组 |
> **提示**:对于新建的空白文档,**不传 parent_block_id** 即可直接插入内容到页面根节点。
**descendant 数组对象结构**:
| 参数 | 说明 |
|------|------|
| block_id | 嵌套块模式必填,自定义临时 ID(字符串),用于建立父子关系 |
| block_type | 块类型(见下表) |
| children | 该块包含的子块临时 ID 列表 |
| [内容字段] | 根据 block_type 不同使用不同字段 |
**块类型**:
`p`(段落), `h1`-`h5`(标题), `code`(代码), `table`(表格), `table_cell`(表格单元格), `task`(任务), `callout`(高亮块), `toggle`(折叠块), `bulleted_list`(无序列表), `numbered_list`(有序列表), `divider`(分隔线), `column_list`(分栏), `column`(列), `mermaid`, `plantuml`
**不支持嵌套子块的类型**: `h1`-`h5`, `code`, `image`, `attachment`, `video`, `divider`, `mermaid`, `plantuml`
---
## 示例
### 简单段落
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/kb/page/entries/{entry_id}/blocks/descendant" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
"descendant": [
{
"block_type": "p",
"text": {
"elements": [{"text_run": {"content": "这是一段普通文本"}}]
}
}
]
}'
```
### 带样式的标题
```bash
{
"block_type": "h2",
"heading2": {
"elements": [
{"text_run": {"content": "普通文本"}},
{"text_run": {"content": "加粗", "text_style": {"bold": true}}},
{"text_run": {"content": "下划线", "text_style": {"underline": true}}}
]
}
}
```
**text_style 支持的样式**: bold, italic, underline, strikethrough, code, color, background_color
### 任务块
```json
{
"block_type": "task",
"task": {
"name": "完成 API 文档更新",
"done": false,
"due_at": {"date": "2025-12-31", "time": "18:00:00"},
"assignees": [{"staff_uuid": "员工UUID"}]
}
}
```
### 代码块
```json
{
"block_type": "code",
"code": {
"language": "python",
"content": "def hello():\n print(\"Hello, World!\")"
}
}
```
### 引用块(嵌套结构)
```json
{
"children": ["quote-1"],
"descendant": [
{
"block_id": "quote-1",
"block_type": "quote",
"children": ["quote-text-1"]
},
{
"block_id": "quote-text-1",
"block_type": "p",
"text": {"elements": [{"text_run": {"content": "引用文本"}}]}
}
]
}
```
### 高亮块 (Callout)
```json
{
"children": ["callout-1"],
"descendant": [
{
"block_id": "callout-1",
"block_type": "callout",
"callout": {"background_color": "#FFF3E0", "icon": "⚠️"},
"children": ["callout-text-1"]
},
{
"block_id": "callout-text-1",
"block_type": "p",
"text": {"elements": [{"text_run": {"content": "警告提示"}}]}
}
]
}
```
### 无序列表
```json
{
"block_type": "bulleted_list",
"bulleted": {
"elements": [{"text_run": {"content": "列表项内容"}}]
}
}
```
> 注意:`block_type` 是 `bulleted_list`,但内容字段是 `bulleted`
### 有序列表
```json
{
"block_type": "numbered_list",
"numbered": {
"elements": [{"text_run": {"content": "列表项内容"}}]
}
}
```
> 注意:`block_type` 是 `numbered_list`,但内容字段是 `numbered`
### 表格(嵌套块典型用法)
```json
{
"children": ["table-1"],
"descendant": [
{
"block_id": "table-1",
"block_type": "table",
"table": {
"row_size": 2,
"column_size": 2,
"column_width": [200, 200],
"header_row": true,
"header_column": false
},
"children": ["cell-1-1", "cell-1-2", "cell-2-1", "cell-2-2"]
},
{
"block_id": "cell-1-1",
"block_type": "table_cell",
"table_cell": {"align": "center", "vertical_align": "middle"},
"children": ["text-1-1"]
},
{
"block_id": "text-1-1",
"block_type": "p",
"text": {"elements": [{"text_run": {"content": "表头", "text_style": {"bold": true}}}]}
}
]
}
```
**table 参数**: row_size(行数), column_size(列数), column_width(各列宽度), header_row(是否有表头行), header_column(是否有表头列)
**table_cell 参数**: align(left/center/right), vertical_align(top/middle/bottom)
### 批量创建多个块
将多个块放在同一个 `descendant` 数组中,一次请求完成。
---
## 更新块内容
```bash
curl -X PUT "https://lxapi.lexiangla.com/cgi-bin/v1/kb/page/entries/{entry_id}/blocks/{block_id}" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"action": "update_text_elements", "text_elements": [{"type": "text", "text": "更新内容"}]}'
```
## 删除块
```bash
curl -X DELETE "https://lxapi.lexiangla.com/cgi-bin/v1/kb/page/entries/{entry_id}/blocks/{block_id}" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID"
```
## 获取块详情
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/page/entries/{entry_id}/blocks/{block_id}" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
## 获取子块列表
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/page/entries/{entry_id}/blocks/children?parent_block_id={block_id}&with_descendants=0" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
## 获取附件详情
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/files/{file_id}" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
> 响应包含 `links.download` 附件下载链接
```
### references/api-contact.md
```markdown
# 通讯录管理 API
## 一、成员管理
### 创建成员
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/contact/user/create" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
"staff_id": "zhangsan",
"name": "张三",
"phone": "13800138000",
"email": "[email protected]",
"department": [1, 2],
"position": "产品经理"
}'
```
**参数:**
| 参数 | 必须 | 说明 |
|------|------|------|
| staff_id | 是 | 员工账号,企业内唯一 |
| name | 是 | 成员名称 |
| phone | 是 | 手机号码,企业内唯一 |
| email | 否 | 邮箱 |
| department | 否 | 部门ID列表 |
| is_leader_in_dept | 否 | 是否为部门领导(数组,对应 department) |
| direct_leader | 否 | 直属上级(staff_id 数组) |
| main_depart | 否 | 主部门ID |
| position | 否 | 职务 |
| extra_attr | 否 | 自定义字段 |
> **频率限制**:3000次/分钟
### 更新成员
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/contact/user/update" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"staff_id": "zhangsan", "name": "张三丰"}'
```
> **注意**:成员激活后,phone 和 email 不可通过接口变更
### 删除成员(离职)
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/contact/user/resign" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"staff_id": "zhangsan"}'
```
> 删除后无法再使用乐享或接收消息,如需恢复可调用"重新入职"接口
### 重新入职
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/contact/user/entry" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"staff_id": "zhangsan", "department": [1]}'
```
### 禁用成员(批量)
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/contact/user/forbidden" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"staffs": ["staff1", "staff2"]}'
```
> 禁用后无法使用乐享或接收消息,但其他成员仍可见其数据。最多100个
### 重新启用
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/contact/user/active" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"staffs": ["staff1", "staff2"]}'
```
### 添加管理员
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/contact/user/add-manager" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"staff_id": "zhangsan"}'
```
### 获取成员信息
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/contact/user/get?staff_id=zhangsan" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
### 获取部门下成员
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/contact/user/list?department_id=1&page=1&per_page=100&fetch_child=1" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
| 参数 | 必须 | 说明 |
|------|------|------|
| department_id | 是 | 部门ID |
| page | 否 | 页码,默认1 |
| per_page | 否 | 每页数量,最大1000 |
| fetch_child | 否 | 1:包含子部门成员, 0:不包含 |
### 获取管理员列表
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/contact/user/managers" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
### 获取自定义字段
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/contact/user/extra-attrs" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
### 导出所有成员信息(异步)
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/contact/export/user" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"aeskey": "your_32_char_aes_key_here_12345"}'
```
> - `aeskey` 为32位加密密钥(a-z, A-Z, 0-9),用于解密下载文件
> - 频率限制:10次/分钟
> - 需轮询查询任务状态获取下载链接
## 二、部门管理
### 创建部门
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/contact/department/create" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"name": "研发部", "parent_id": 1, "order": 100}'
```
| 参数 | 必须 | 说明 |
|------|------|------|
| name | 是 | 部门名称 |
| parent_id | 是 | 父部门ID(根部门为1) |
| id | 否 | 指定部门ID(32位整型,>1) |
| order | 否 | 排序值(范围 [0, 2^32),越大越靠前) |
**常见错误码:**
- 1003: 参数错误
- 1005: 部门名称已存在
- 1007: 部门层级超过15层
### 更新部门
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/contact/department/edit" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"id": 2, "name": "产品研发部"}'
```
### 删除部门
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/contact/department/delete" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"id": 2}'
```
> 不能删除根部门、含有子部门或成员的部门
### 获取子部门
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/contact/department/index?id=1&with_descendant=1" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
### 获取单个部门信息
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/contact/department/get?id=2" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
### 导出所有部门信息(异步)
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/contact/export/department" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"aeskey": "your_32_char_aes_key_here_12345"}'
```
## 通讯录错误码
| 错误码 | 说明 |
|--------|------|
| 1001 | 用户不存在 |
| 1002 | 部门不存在 |
| 1003 | 参数错误 |
| 1004 | 部门下存在子部门 |
| 1005 | 部门下存在用户 / 部门名称已存在 |
| 1006 | 该部门是根部门 |
| 1007 | 部门层级超过15层 |
| 1010 | 父部门不能为该部门的子部门 |
```
### references/api-team-space.md
```markdown
# 团队与知识库管理 API
## 一、团队管理
### 获取团队列表
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/teams?limit=20&page_token=" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
### 获取团队详情
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/teams/{team_id}" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
### 设置团队成员与权限
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/kb/teams/{team_id}/subject?downgrade=0" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
"data": [
{"type": "staff", "id": "lisi", "role": "manager"},
{"type": "department", "id": "123", "role": "editor"}
]
}'
```
| 参数 | 说明 |
|------|------|
| downgrade | 0:仅增加/不降级, 1:允许覆盖权限 |
| type | staff(成员) 或 department(部门) |
| role | manager(管理), editor(编辑), downloader(查看下载), viewer(仅查看) |
### 移除团队成员与权限
```bash
curl -X DELETE "https://lxapi.lexiangla.com/cgi-bin/v1/kb/teams/{team_id}/subject" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"data": [{"type": "staff", "id": "lisi", "role": "editor"}]}'
```
### 获取团队成员与权限
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/teams/{team_id}/subject?limit=20" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
## 二、知识库管理
### 创建知识库
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/kb/spaces" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
"name": "技术文档库",
"team": {
"data": {"type": "team", "id": "team_id_here"}
},
"visible_type": 1,
"subject": [
{"type": "staff", "id": "lisi", "role": "editor"}
]
}'
```
| 参数 | 必须 | 说明 |
|------|------|------|
| name | 是 | 知识库名称 |
| team.data.id | 是 | 所属团队ID |
| visible_type | 否 | 0:不可见, 1:可见, 2:跟随团队 |
| subject | 否 | 初始化权限设置 |
### 更新知识库
```bash
curl -X PUT "https://lxapi.lexiangla.com/cgi-bin/v1/kb/spaces/{space_id}" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"name": "新知识库名称"}'
```
### 删除知识库
```bash
curl -X DELETE "https://lxapi.lexiangla.com/cgi-bin/v1/kb/spaces/{space_id}" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID"
```
### 获取知识库列表
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/spaces?team_id={team_id}&limit=20" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
### 获取知识库详情
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/spaces/{space_id}" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
### 设置/移除/获取知识库成员与权限
设置:
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/kb/spaces/{space_id}/subject?downgrade=0" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
"data": [
{"type": "staff", "id": "lisi", "role": "editor"},
{"type": "department", "id": "123", "role": "viewer"}
]
}'
```
移除:
```bash
curl -X DELETE "https://lxapi.lexiangla.com/cgi-bin/v1/kb/spaces/{space_id}/subject" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"data": [{"type": "staff", "id": "lisi", "role": "editor"}]}'
```
获取:
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/spaces/{space_id}/subject?limit=20" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
## 权限角色说明
| 角色 | 说明 |
|------|------|
| manager | 管理权限 |
| editor | 编辑权限 |
| downloader | 查看/下载权限 |
| viewer | 仅查看权限 |
```
### references/api-entries.md
```markdown
# 知识节点 API
## 知识节点 CRUD
### 创建文件夹
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
"data": {
"type": "kb_entry",
"attributes": {
"entry_type": "directory",
"name": "文件夹名称"
},
"relationships": {
"space": {
"data": {"type": "kb_space", "id": "space_id_here"}
},
"parent_entry": {
"data": {"type": "kb_entry", "id": "parent_entry_id"}
}
}
}
}'
```
> **注意**:使用 JSON:API 规范格式,`space_id` 和 `parent_entry_id` 需要通过 `relationships` 指定
### 创建在线文档
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
"data": {
"type": "kb_entry",
"attributes": {
"entry_type": "page",
"name": "文档标题"
},
"relationships": {
"space": {
"data": {"type": "kb_space", "id": "space_id_here"}
},
"parent_entry": {
"data": {"type": "kb_entry", "id": "parent_entry_id"}
}
}
}
}'
```
### 上传文件(需先获取 state)
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries?state={STATE}" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
"data": {
"type": "kb_entry",
"attributes": {
"entry_type": "file",
"name": "文件名.pdf"
},
"relationships": {
"space": {
"data": {"type": "kb_space", "id": "space_id_here"}
},
"parent_entry": {
"data": {"type": "kb_entry", "id": "parent_entry_id"}
}
}
}
}'
```
> 支持类型:video(视频), audio(音频), file(图片/文档等)
### 重命名知识节点
```bash
curl -X PUT "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries/{entry_id}/rename" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"name": "新名称"}'
```
### 重新上传文件
```bash
curl -X PUT "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries/{entry_id}/upload?state={STATE}" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID"
```
### 删除知识节点
```bash
curl -X DELETE "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries/{entry_id}" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID"
```
> **注意**:删除节点前必须保证其下没有子节点
### 获取知识列表
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries?space_id={space_id}&parent_id={parent_id}&limit=20" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
### 获取知识详情
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries/{entry_id}" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
> 对于文件类型,响应包含临时 `download` 下载链接(有效60分钟)
### 获取线上文档内容
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries/{entry_id}/content?content_type=html" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
| 参数 | 必须 | 说明 |
|------|------|------|
| content_type | 是 | 内容格式,可选值:html |
> 仅支持 page 类型,返回 HTML 格式内容
### 设置/移除/获取知识节点成员与权限
设置:
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries/{entry_id}/subject?downgrade=0" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"data": [{"type": "staff", "id": "lisi", "role": "editor"}]}'
```
移除:
```bash
curl -X DELETE "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries/{entry_id}/subject" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"data": [{"type": "staff", "id": "lisi", "role": "editor"}]}'
```
设置继承:
```bash
curl -X PUT "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries/{entry_id}/inherit" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"member_inherit_type": "inherit"}'
```
获取:
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries/{entry_id}/subject?limit=20" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
## 知识反馈
### 获取反馈列表
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/spaces/{space_id}/feedbacks?limit=20" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
**反馈状态 status:** unprocessed / processing / processed / not_process
**反馈类型 type:** kb_content_incomplete / kb_content_mistake / kb_content_suggestion
```
### references/api-other.md
```markdown
# 其他 API(任务、属性、日志、AI、素材、导出、SSO)
## 一、任务管理
### 查询成员任务列表
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/tasks?staff_id=zhangsan&type=reading&status=0&limit=20" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
| 参数 | 必须 | 说明 |
|------|------|------|
| staff_id | 是 | 被查询者员工ID |
| type | 否 | reading(阅读任务), collaboration(协作任务) |
| status | 否 | 0:未完成, 2:已完成 |
| limit | 否 | 每页数量,默认20,最大100 |
| page_token | 否 | 分页令牌 |
### 查询任务详情
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/tasks/{task_id}" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
### 查询任务成员列表
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/tasks/{task_id}/members?limit=20" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
## 二、自定义属性管理
### 获取自定义属性列表
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/properties?source_type=company&limit=20" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
| 参数 | 说明 |
|------|------|
| source_type | company(公司属性), kb_space(知识库属性) |
| source_id | 当 source_type=kb_space 时必填 |
### 获取自定义属性详情
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/properties/{property_id}" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
### 编辑自定义属性
```bash
curl -X PUT "https://lxapi.lexiangla.com/cgi-bin/v1/kb/properties/{property_id}/schema" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
"name": "属性名称",
"description": "属性描述",
"multiple": false,
"options": [
{"key": "opt1", "value": "选项1"},
{"key": "opt2", "value": "选项2"}
]
}'
```
### 获取/修改知识自定义属性
获取:
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries/{entry_id}/properties/values" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
修改:
```bash
curl -X PUT "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries/{entry_id}/properties/values" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"properties": [{"id": "property_id", "value": ["opt1"]}]}'
```
## 三、操作日志
### 获取知识操作日志列表
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/operation-logs?log_type=kb&started_at=2025-01-01&ended_at=2025-12-31" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
> 返回知识库内的文档操作(新建、添加权限等),包含操作人、IP、地理位置及具体操作内容
### 获取管理操作日志列表
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/operation-logs?log_type=manager&started_at=2025-01-01&ended_at=2025-12-31" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
## 四、AI 助手
### FAQ 列表
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/ai-faqs?limit=20&page=1" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
### AI 搜索(需要 x-staff-id)
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/ai/search" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"query": "搜索关键词"}'
```
### AI 问答(需要 x-staff-id)
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/ai/qa" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"query": "问题内容", "research": false}'
```
> `research=true` 使用专业研究模式
### 知识解析
```bash
# 获取知识解析结果
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries/{entry_id}/parsed-content" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
# 获取知识解析切片(用于 Embedding,返回 jsonl 下载地址,有效期60分钟)
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries/{entry_id}/chunked-content" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
# 获取附件解析结果/切片
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/files/{file_id}/parsed-content" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
curl "https://lxapi.lexiangla.com/cgi-bin/v1/kb/files/{file_id}/chunked-content" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
## 五、素材管理(文件上传三步流程)
> **文档参考**: https://lexiang.tencent.com/wiki/api/12004.html
### 步骤一:获取上传凭证
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/kb/files/upload-params" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{"name": "文件名.md", "media_type": "file"}'
```
| 参数 | 必须 | 说明 |
|------|------|------|
| name | 是 | 文件名(需带扩展名) |
| media_type | 是 | `file`(文件), `video`(视频), `audio`(音频) |
### 步骤二:上传文件到腾讯云 COS
```bash
curl -X PUT "https://{Bucket}.cos.{Region}.myqcloud.com/{key}" \
-H "Authorization: {object.auth.Authorization}" \
-H "x-cos-security-token: {object.auth.XCosSecurityToken}" \
-H "Content-Type: application/octet-stream" \
--data-binary @/path/to/file
```
### 步骤三:使用 state 创建知识节点
```bash
curl -X POST "https://lxapi.lexiangla.com/cgi-bin/v1/kb/entries?state={state}&space_id={space_id}" \
-H "Authorization: Bearer $LEXIANG_TOKEN" \
-H "x-staff-id: $LEXIANG_STAFF_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
"data": {
"type": "kb_entry",
"attributes": {"entry_type": "file", "name": "文件名.md"},
"relationships": {
"parent_entry": {"data": {"type": "kb_entry", "id": "parent_entry_id"}}
}
}
}'
```
> 建议使用 `scripts/upload_file.sh` 脚本完成完整的三步上传流程。
## 六、导出任务管理
### 查询任务
```bash
curl "https://lxapi.lexiangla.com/cgi-bin/v1/jobs/{job_id}" \
-H "Authorization: Bearer $LEXIANG_TOKEN"
```
> - 只能查询72小时内创建的任务
> - `download_url` 有效期约 5 小时
> - status: 0(等待中), 1(进行中), 2(已完成)
## 七、单点登录(SSO)
乐享知识库支持 OAuth 授权码模式的单点登录,分为 SP 发起和 IdP 发起两种流程。
**可信 IP**(用于判断请求是否合法):`111.230.70.44`, `111.230.156.88`
```
---
## Skill Companion Files
> Additional files collected from the skill directory layout.
### README.md
```markdown
# 腾讯乐享知识库 Skill
<p align="center">📚 适用于 AI Agent 的腾讯乐享知识库 API 技能包</p>
## 关于腾讯乐享
[腾讯乐享](https://lexiang.tencent.com/?event_type=link_exchange&event_channel=skill&event_detail=github) 是腾讯旗下的企业级 AI 知识管理平台,融合大模型能力,为企业提供知识库管理、团队协作、智能问答、AI 创作等一站式知识服务。
### 核心能力
- **多源多模态知识管理**:支持 102+ 种文件格式(文档、表格、PPT、PDF、视频、音频、图片等),一键导入 Confluence、iWiki、腾讯文档、公众号文章、腾讯会议录制等多平台内容
- **AI 智能问答**:基于 DeepSeek-R1 的企业级 RAG 问答,准确率 92.1%,幻觉率低至 2.64%,支持多知识域、联网搜索、视频/表格深度解析
- **AI 创作工具**:智能生成 PPT、思维导图、知识图解,支持学习模式渐进掌握知识
- **企业级安全**:四级权限隔离,7 项国际合规认证,支持私有化部署
- **开放生态**:240+ API 接口,深度集成企业微信、腾讯会议、腾讯文档,支持 MCP 协议对接 AI Agent
### 适用场景
| 角色 | 典型场景 |
|------|---------|
| 产品/研发团队 | 技术文档管理、API 文档维护、需求文档协同、代码规范沉淀 |
| 交付/销售团队 | 客户案例库、解决方案管理、移动端 AI 问答、企微机器人支持 |
| 设计团队 | 设计规范与组件库管理、品牌资产沉淀、设计协同 |
## 关于本 Skill
本 Skill 为 AI Agent 提供腾讯乐享知识库的完整 API 集成能力,包括:
- 📚 知识库管理(创建、查询、更新、删除)
- 👥 团队与成员管理
- 📝 在线文档编辑(块接口)
- 🔍 AI 搜索与问答
- 📤 文件上传与下载
- 📋 任务管理
- 🔗 MCP 协议支持
## 安装与使用
### 方式一:CodeBuddy 安装
```bash
# 通过 CodeBuddy Skill 市场搜索 "lexiang" 安装
```
### 方式二:OpenClaw 安装
```bash
openclaw skills install github:tencent-lexiang/lexiang-skill
```
### 方式三:手动集成
将 `SKILL.md` 文件内容作为 System Prompt 或 Context 提供给你的 AI Agent 即可。也可以下载 [Release](https://github.com/ajaxhe/lexiang-skill/releases) 中的 zip 包。
## 配置凭证
### 环境变量方式
```bash
export LEXIANG_APP_KEY="your_app_key"
export LEXIANG_APP_SECRET="your_app_secret"
export LEXIANG_STAFF_ID="your_staff_id"
```
### 配置文件方式
```json
{
"LEXIANG_APP_KEY": "your_app_key",
"LEXIANG_APP_SECRET": "your_app_secret",
"LEXIANG_STAFF_ID": "your_staff_id"
}
```
### 获取凭证
1. 登录乐享企业管理后台
2. 进入【开发】→【接口凭证管理】
3. 点击**添加凭证**,保存 AppKey 和 AppSecret
> 详细的 API 凭证文档请参考 [乐享开放平台](https://lexiang.tencent.com/wiki/api/?event_type=link_exchange&event_channel=skill&event_detail=github)
## 项目结构
```
lexiang-skill/
├── SKILL.md # 核心 Skill 文件(精简工作流 + 关键提示)
├── references/ # 详细 API 参考文档(按需加载)
│ ├── api-contact.md # 通讯录管理 API
│ ├── api-team-space.md # 团队与知识库管理 API
│ ├── api-entries.md # 知识节点 API
│ ├── api-blocks.md # 在线文档块接口 API
│ └── api-other.md # 任务/属性/日志/AI/素材/导出/SSO
├── scripts/ # 辅助脚本
│ ├── init.sh # 凭证加载 + Token 获取
│ └── upload_file.sh # 文件上传三步流程
└── dist/
└── lexiang-skill.zip # 打包文件
```
## 相关链接
- [腾讯乐享官网](https://lexiang.tencent.com/?event_type=link_exchange&event_channel=skill&event_detail=github)
- [免费注册体验 AI 知识库](https://lexiang.tencent.com/register?version=2&event_type=link_exchange&event_channel=skill&event_detail=github)
- [乐享开放 API 文档](https://lexiang.tencent.com/wiki/api/?event_type=link_exchange&event_channel=skill&event_detail=github)
- [MCP 配置中心](https://lexiangla.com/mcp)
## License
MIT
---
# Tencent Lexiang Knowledge Base Skill
<p align="center">📚 Tencent Lexiang Knowledge Base API Skill for AI Agents</p>
## About Tencent Lexiang
[Tencent Lexiang](https://lexiang.tencent.com/?event_type=link_exchange&event_channel=skill&event_detail=github) is Tencent's enterprise-grade AI knowledge management platform. Powered by large language models, it provides one-stop knowledge services including knowledge base management, team collaboration, intelligent Q&A, and AI-powered content creation.
### Core Capabilities
- **Multi-source & Multi-modal Knowledge Management**: Supports 102+ file formats (documents, spreadsheets, PPT, PDF, video, audio, images, etc.), with one-click import from Confluence, iWiki, Tencent Docs, WeChat articles, Tencent Meeting recordings, and more
- **AI-Powered Q&A**: Enterprise-grade RAG Q&A powered by DeepSeek-R1, with 92.1% accuracy and only 2.64% hallucination rate. Supports multi-knowledge-domain queries, web search, and deep analysis of video/spreadsheet content
- **AI Creation Tools**: Intelligent generation of PPT, mind maps, and knowledge infographics, with a guided learning mode for progressive knowledge mastery
- **Enterprise Security**: 4-tier permission isolation, 7 international compliance certifications, with private deployment support
- **Open Ecosystem**: 240+ API endpoints, deep integration with WeCom, Tencent Meeting, and Tencent Docs, with MCP protocol support for AI Agent connectivity
### Use Cases
| Role | Typical Scenarios |
|------|---------|
| Product/Engineering Teams | Technical documentation, API docs maintenance, requirements collaboration, coding standards |
| Delivery/Sales Teams | Customer case library, solution management, mobile AI Q&A, WeCom bot support |
| Design Teams | Design system & component library management, brand asset storage, design collaboration |
## About This Skill
This Skill provides AI Agents with full API integration for Tencent Lexiang Knowledge Base, including:
- 📚 Knowledge base management (CRUD)
- 👥 Team & member management
- 📝 Online document editing (block API)
- 🔍 AI search & Q&A
- 📤 File upload & download
- 📋 Task management
- 🔗 MCP protocol support
## Installation & Usage
### Option 1: CodeBuddy Installation
```bash
# Search for "lexiang" in CodeBuddy Skill marketplace
```
### Option 2: OpenClaw Installation
```bash
openclaw skills install github:tencent-lexiang/lexiang-skill
```
### Option 3: Manual Integration
Provide the contents of `SKILL.md` as a System Prompt or Context to your AI Agent. You can also download the zip package from [Releases](https://github.com/ajaxhe/lexiang-skill/releases).
## Credential Configuration
### Environment Variables
```bash
export LEXIANG_APP_KEY="your_app_key"
export LEXIANG_APP_SECRET="your_app_secret"
export LEXIANG_STAFF_ID="your_staff_id"
```
### Configuration File
```json
{
"LEXIANG_APP_KEY": "your_app_key",
"LEXIANG_APP_SECRET": "your_app_secret",
"LEXIANG_STAFF_ID": "your_staff_id"
}
```
### Obtaining Credentials
1. Log in to the Lexiang admin console
2. Navigate to **Development** → **API Credential Management**
3. Click **Add Credential** and save the AppKey and AppSecret
> For detailed API credential documentation, see [Lexiang Open Platform](https://lexiang.tencent.com/wiki/api/?event_type=link_exchange&event_channel=skill&event_detail=github)
## Project Structure
```
lexiang-skill/
├── SKILL.md # Core skill file (streamlined workflow + key hints)
├── references/ # Detailed API reference docs (loaded on demand)
│ ├── api-contact.md # Contact management API
│ ├── api-team-space.md # Team & knowledge base management API
│ ├── api-entries.md # Knowledge entry API
│ ├── api-blocks.md # Online document block API
│ └── api-other.md # Task/property/log/AI/material/export/SSO
├── scripts/ # Helper scripts
│ ├── init.sh # Credential loading + token retrieval
│ └── upload_file.sh # 3-step file upload workflow
└── dist/
└── lexiang-skill.zip # Packaged skill file
```
## Links
- [Tencent Lexiang Official Site](https://lexiang.tencent.com/?event_type=link_exchange&event_channel=skill&event_detail=github)
- [Free Trial - AI Knowledge Base](https://lexiang.tencent.com/register?version=2&event_type=link_exchange&event_channel=skill&event_detail=github)
- [Lexiang Open API Documentation](https://lexiang.tencent.com/wiki/api/?event_type=link_exchange&event_channel=skill&event_detail=github)
- [MCP Configuration Center](https://lexiangla.com/mcp)
## License
MIT
```
### _meta.json
```json
{
"owner": "ajaxhe",
"slug": "lexiang-skill",
"displayName": "Lexiang",
"latest": {
"version": "0.1.2",
"publishedAt": 1771932010189,
"commit": "https://github.com/openclaw/skills/commit/bb475c75945a4f851c5332e816d61449061db0a6"
},
"history": []
}
```