kwiki-cli:WPS知识库的 CLI 命令行工具

快乐小子新
快乐小子新 Lv.2 潜力创作者

Lv.2潜力创作者

kwiki-cli 是金山知识库(zhishi.wps.cn)的命令行接口工具,它将金山知识库的完整能力封装为终端可执行的命令。


核心功能

知识库管理

kwiki-cli 支持对知识库进行全生命周期管理:

  • 列表查询:按关键字搜索知识库,支持分页(--page-size--page-token

  • 详情查看:通过 kuid 或名称模糊匹配查询知识库详情

  • 创建与配置:创建新知识库,设置名称、简介和封面图片

  • 修改配置:修改已有知识库的名称、简介或封面

  • 关闭知识库:根据 kuid 关闭知识库

  • 获取分享链接:获取知识库的外部分享链接

文件操作

知识库内的文件管理覆盖了完整的 CRUD 能力:

  • 浏览目录:查看知识库空间(0s 开头)或文件夹(0l 开头)内的文件列表

  • 创建文件:支持创建文件夹(folder)、WPS 文字文档(w)、表格(s)、智能文档(o)、PPT(p)、轻维表(d)等多种类型

  • 重命名与移动:对文件进行重命名,或在知识库之间移动文件

  • 上传与下载:本地上传文件,下载知识库文件(支持 file_base64download_link 两种格式)。注意:OTL 智能文档(doc_origin_type 为 otl)不支持通过 file-download 下载

  • 导入云文档:将云端已有文档(通过 file_id)导入知识库,支持复制副本或创建快捷方式

  • 格式转换:支持 Markdown 转智能文档(.otl)等格式转换

  • 删除:删除文件至回收站,可在期限内恢复

智能问答

kwiki-cli 内置了知识库智能问答(RAG)能力:

  • 支持针对单个知识库(传 --kuid)或全库范围(不传 kuid 时自动设为 all_wiki)提问

  • 可开启联网搜索获取实时信息(--web-search

  • 支持深度思考模式(--switch-thinking

  • 服务端以 SSE 流式返回,CLI 默认将增量片段聚合为完整 JSON 输出,包含 answer_citations.text(完整答案)和 reply_sources(引用来源)等字段

  • 需要原始 SSE 时可加 --stream 参数

Skill 自更新

kwiki-cli 内置了技能自检更新机制,通过 kwiki-cli kwiki skill-update 命令可以自动检测并写入各 Agent 的 wps-knowledgebase SKILL.md 文件,确保技能文档始终与 CLI 版本保持同步。该命令无需鉴权


架构设计

kwiki-cli 采用 Go 语言开发,以单一二进制文件分发,具有以下架构特点:

CLI 优先

所有业务功能通过 kwiki-cli kwiki <tool> 子命令暴露,只接受 flag 参数,不接受位置参数(多余参数会报错)。输出格式支持 --format json(默认)和 --format pretty(人类可读)两种模式。

多账号鉴权

支持多账号管理,每个账号独立存储认证 Token。Token 的存储优先级为:

  1. OS keyring:最优先,通过系统密钥链安全存储,auth loginkeychain.SetAccessToken 写入

  1. 环境变量:降级方案,keyring 不可用时读取对应环境变量。X_KWIKI_AUTH 用于 default 账号,X_KWIKI_AUTH_<NAME>(大写)用于命名账号

认证流程通过设备码授权完成:终端输出设备码,用户在浏览器中完成登录授权后自动轮询换取 Token。

kwiki-cli auth login                    # 登录 default 账号
kwiki-cli auth login --account john     # 登录 john 账号
kwiki-cli --account john kwiki file-list --kuid "<kuid>"  # 使用 john 账号

安全设计

  • Dry-run 预览:写操作(删除、移动、创建、重命名、上传、关闭等)支持 --dry-run 模式,只打印计划不实际发起 HTTP 请求,且不需要 Token,便于本地核对

  • Token 保护:优先存储于 OS keyring,避免明文暴露

  • 多环境隔离:通过 --base-urlKWIKI_BASE_URL 环境变量切换 API 端点,默认 https://zhishi.wps.cn

ID 体系

kwiki-cli 使用统一的 kuid 标识体系:

  • 0s 开头=知识库空间(如个人知识库 0s_3079998078,企业知识库 0sOVd8PU

  • 0l 开头=文件或文件夹

  • 大部分操作只需 kuid,不再需要区分 drive_id、file_id 等不同 ID 类型


安装方式

一键安装

node install.js

安装脚本自动检测当前平台(windows/linux/darwin),从 CDN 下载对应架构的二进制文件,通过 npm install -g 全局安装 CLI,并将 SKILL.md 和 references/ 复制到各 Agent 的技能目录。

AI 助手自动安装

kwiki-cli 包内含 kwiki-cli.json 清单文件,AI 助手(如 OpenClaw)可自动识别并执行安装流程。

登录认证

首次使用需完成登录:

kwiki-cli auth login           # 登录 default 账号
kwiki-cli auth login --account john  # 登录命名账号
kwiki-cli auth status          # 查看认证状态
kwiki-cli auth logout          # 退出登录

常用工作流

浏览知识库

# 列出所有知识库
kwiki-cli kwiki knowledge-view-list

# 查看知识库详情
kwiki-cli kwiki knowledge-view-get --kuid "<kuid>"
kwiki-cli kwiki knowledge-view-get --name "项目名称"

# 查看知识库根目录文件
kwiki-cli kwiki file-list --kuid "<space_kuid>"

# 进入子文件夹浏览
kwiki-cli kwiki file-list --kuid "<folder_kuid>" --page-size 50

管理知识库

# 创建知识库
kwiki-cli kwiki knowledge-view-create --name "产品知识库" --desc "产品相关文档"

# 修改知识库配置
kwiki-cli kwiki knowledge-view-update --kuid "<kuid>" --name "新名称"
kwiki-cli kwiki knowledge-view-update --kuid "<kuid>" --desc "新简介"
kwiki-cli kwiki knowledge-view-update --kuid "<kuid>" --cover-img "https://example.com/cover.png"

# 获取分享链接
kwiki-cli kwiki knowledge-view-share-link --kuid "<kuid>"

# 关闭知识库
kwiki-cli kwiki knowledge-view-close --kuid "<kuid>"

智能问答

# 全库问答
kwiki-cli kwiki knowledge-view-ask --input "总结这份文档的核心观点"

# 指定知识库问答,开启联网搜索和深度思考
kwiki-cli kwiki knowledge-view-ask --input "今年的市场趋势" --kuid "<kuid>" --web-search --switch-thinking

# 获取原始 SSE 流
kwiki-cli kwiki knowledge-view-ask --input "你的问题" --stream

上传与转换文件

# 本地上传文件
kwiki-cli kwiki file-upload --drive-id "<drive_id>" --file ./report.docx

# Markdown 转智能文档
kwiki-cli kwiki file-convert --kuid "<kb_kuid>" --title "说明" --content "# 标题\n正文" --from md --to otl

下载文件

# 默认返回类型
kwiki-cli kwiki file-download --kuid "<file_kuid>"

# 推荐使用 file_base64 模式
kwiki-cli kwiki file-download --kuid "<file_kuid>" --response-type file_base64

管理文件

# 重命名文件
kwiki-cli kwiki file-rename --kuid "<kuid>" --title "新文件名"

# 删除文件(进入回收站)
kwiki-cli kwiki file-delete --kuid "<kuid>"

# 导入云文档到知识库
kwiki-cli kwiki file-import --kuid "<folder_kuid>" --action copy --file-id "<file_id>"
kwiki-cli kwiki file-import --kuid "<folder_kuid>" --action shortcut --file-id "<file_id>"

整理归档

# 创建文件夹
kwiki-cli kwiki file-create --doc-type folder --kuid "<space_kuid>" --title "归档"

# 新建文件夹并导入云文档
kwiki-cli kwiki file-create --doc-type folder --kuid "<space_kuid>" --title "资料"
kwiki-cli kwiki file-import --kuid "<new_folder_kuid>" --action shortcut --file-id "<cloud_file_id>"

# 移动文件到归档目录
kwiki-cli kwiki file-move --drive-id a --dest-drive-id b --space-kuid c --file-kuid f1 --file-kuid f2

检查技能更新

kwiki-cli kwiki skill-update            # 检查并更新
kwiki-cli kwiki skill-update --check-only  # 仅检查不写入

生态系统与集成

kwiki-cli 以 npm 包形式分发(包名 @ks-personal/kwiki-cli),同时配套 AI Agent 技能(skill 名 wps-knowledgebase)安装到 Agent 的技能目录中。这意味着:

  • 终端用户:可直接在命令行中管理知识库

  • CI/CD 流程:可作为自动化脚本的一部分,批量处理知识库操作

  • AI 助手:AI Agent 通过调用 kwiki-cli 命令,实现知识库的智能管理

浏览 92
收藏
6
分享
6 +1
+1
全部评论