@listenfeng/mw-wiki-cli
v1.2.1
Published
Multi-instance Confluence Wiki CLI - CRUD, search, and manage pages across multiple Wiki instances
Downloads
561
Maintainers
Readme
@listenfeng/mw-wiki-cli
多实例 Confluence Wiki CLI 工具,一个命令管理多个 Wiki。
安装
npm install -g @listenfeng/mw-wiki-cli快速开始
1. 创建配置文件
mkdir -p ~/.mw-wiki-cli创建 ~/.mw-wiki-cli/wiki-config.json:
{
"defaults": {
"user": "[email protected]",
"password": "${WIKI_PASSWORD}"
},
"instances": {
"inst1": { "baseUrl": "http://wiki1.example.com", "desc": "Wiki 实例 1" },
"inst2": { "baseUrl": "http://wiki2.example.com", "desc": "Wiki 实例 2" }
}
}2. 设置密码环境变量
# Windows
setx WIKI_PASSWORD "your_password"
# Linux/Mac
echo 'export WIKI_PASSWORD="your_password"' >> ~/.bashrc && source ~/.bashrc3. 使用
wiki-cli list_instances
wiki-cli get_page inst1 123456
wiki-cli search inst1 "title~'接口'"
wiki-cli list_children inst1 123456
wiki-cli list_spaces inst2命令列表
| 命令 | 参数 | 说明 |
|------|------|------|
| list_instances | 无 | 列出所有已配置 Wiki 实例 |
| get_page | <instance> <pageId> | 获取页面内容 |
| create_page | <instance> <spaceKey> <title> <body> [parentId] | 创建新页面(body 支持 HTML 字符串或文件路径) |
| update_page | <instance> <pageId> <body> [title] | 更新页面内容(body 支持 HTML 字符串或文件路径,自动递增版本号) |
| delete_page | <instance> <pageId> | 删除页面(移入回收站) |
| search | <instance> <cql> [limit] | CQL 搜索文档 |
| list_children | <instance> <pageId> | 列出子页面 |
| list_spaces | <instance> | 列出空间列表 |
| list_attachments | <instance> <pageId> | 获取页面附件列表 |
| list_comments | <instance> <pageId> | 获取页面评论 |
| add_comment | <instance> <pageId> <body> | 添加评论 |
| get_page_tree | <instance> <pageId> | 获取页面树(所有后代页面) |
配置说明
defaults— 公共默认值,每个实例自动继承instances— 实例列表,每个实例可覆盖 defaults 中的任意字段${WIKI_PASSWORD}— 环境变量占位符,运行时自动替换
实例级覆盖示例(独立账号):
"internal_wiki": {
"baseUrl": "http://internal.wiki.com",
"user": "special_user",
"password": "${INTERNAL_WIKI_PWD}",
"desc": "内部Wiki"
}配置文件查找优先级
- 环境变量
WIKI_CLI_CONFIG指定路径 ~/.mw-wiki-cli/wiki-config.json(推荐)- 当前工作目录
wiki-config.json
CQL 搜索语法
# 按标题搜索
wiki-cli search inst1 "title~'接口文档'"
# 按空间搜索
wiki-cli search inst1 "space=DEV AND type=page"
# 全文搜索
wiki-cli search inst1 "text~'用户认证'"
# 按创建者搜索
wiki-cli search inst1 "creator=admin AND space=DEV"body 参数说明
create_page 和 update_page 的 body 参数支持两种方式:
# 方式1:直接传 HTML 字符串
wiki-cli create_page wk DEV "标题" "<p>Hello</p>"
wiki-cli update_page wk 123456 "<p>更新内容</p>"
# 方式2:传 HTML 文件路径(适合长内容、中文、复杂 HTML)
wiki-cli create_page wk DEV "标题" ./body.html 123456
wiki-cli update_page wk 123456 ./body.html判断规则:如果参数值对应的文件存在,则读取文件内容作为 body;否则当作 HTML 字符串。
环境要求
- Node.js >= 14
