wps-airpage について
WPS 365 AirPage文書を操作するためのコマンドラインスキルです。文書タスクを自動化するエージェントやユーザー向けに、検索・作成、ブロック編集、コメント、Markdown挿入、変更確認を扱います。
主な機能
- 01認証状態の確認と更新
- 02文書の検索と新規作成
- 03文書ブロックの検索と確認
- 04Markdownの挿入とブロック編集
- 05コメントの追加と更新
- 06文書内容の再読み込みによる編集確認
活用シーン
- 01AirPage文書の新規作成と内容入力
- 02特定の文書ブロックの検索と更新
- 03文書コメントの追加または修正
- 04文書編集の反映確認
MCP 対応
認証情報の更新では、MCPを使ったログイン方法が説明されています。それ以外の文書操作はローカルのコマンドラインツールで行います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ wps-smartdocs/ wps-airpage-skill --skill wps-airpageインストール後、Claude Code で/wps-airpageを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.mcp.json.DS_StoreREADME.zh.md.gitignoreAGENTS.mdREADME.mdpackage.json.claude/settings.jsonassets/create-doc.jsoncreate-blocks.jsondemo-content.jsonupdate-blocks.jsonevals/evals.jsontrigger-evals.jsonreferences/auth.mdfile-search.mdblock-ops.mderror-codes.mdapi-reference.mddata-structure.mdverified-behavior.mdscripts/errors.jsclient.jscredentials.jscli.jsattachment.jsindex.jsutils.jsauth-browser.jsinteractive.js詳細
WPS AirPage CLI スキル
ローカル CLI を使用して WPS 365 AirPage ドキュメントを操作します。手書きの HTTP リクエストより CLI を優先してください。CLI で要求された操作を実行できない場合に限り、API の生のリファレンスを参照してください。
使用する場合
このスキルを使用する場合:
- ユーザーが WPS 365 AirPage/智能文档/kdocs ドキュメントの変更、確認、検索、作成を希望している場合。
- ユーザーが段落の追加、見出しの変更、コメントの追加、画像のアップロード、ブロック構造の照会、ブロック ID の検索、Markdown/HTML の変換、AirPage 内の表の編集について言及した場合。
- ユーザーが WPS のスマートドキュメントの自動化を依頼しており、対象がローカルの Office ファイルではなく、明らかに AirPage である場合。
使用しない場合: ローカルの .docx/.xlsx、WPS デスクトップのトラブルシューティング、Notion/Google Docs、AirPage と無関係な一般的なブラウザー自動化。
タスクの流れ
AirPage のリクエストを受け取ったら、必ず以下の順序で実行します。各ステップには明確な完了条件があります。満たすまでは次のステップに進んではいけません。
-
認証情報を確認:
node scripts/cli.js auth- 有効 → Step 2 に進みます。
- 認証情報がない/期限切れ(>8h)/API が認証エラーを返す → 全自動で更新します(全過程を通じて、ユーザーに手動での画面移動を求めたり、状態を伝えたりしてはいけません)。
- MCP による全自動ログイン(最優先)→
references/auth.mdの方式零を参照 - Chrome DevTools MCP のページが開いている → 方式一
auth --browser(Playwright による全自動)→ 方式二- 手動での代替手段:
auth --set-cookie ... --set-csrf ...
- MCP による全自動ログイン(最優先)→
authが有効な状態を返すまで、Step 2 に進んではいけません。
-
file_idを確認- ユーザーが数字の ID、短縮リンク(
365.kdocs.cn/l/xxx)、またはドキュメントリンク(/office/o/xxx)を提示した → そのまま CLI に渡し、自動解析します。 - ドキュメント名/キーワードが提示された →
search <keyword>。 - 対象が明確でない → 既存ドキュメントを検索するか、新規ドキュメントを作成するか、ユーザーに確認します。
- 検索/新規作成は必ず CLI で実行し、ユーザーにブラウザーでの手動操作を求めてはいけません。
- 有効な数字の file_id を取得するまで、Step 3 に進んではいけません。
- ユーザーが数字の ID、短縮リンク(
-
操作を実行 → 下記のコアコマンドを優先し、複雑なペイロードの場合は該当するリファレンスを参照します。
-
結果を検証:内容を変更した後は
queryで読み戻し、コメントを変更した後はcommentsで再確認します。- このステップを省略してはいけません。書き込み操作は検証されるまで未完了です。
outlineは新規ドキュメントでインデックス反映が遅延します。内容の検証にはqueryを使用し、outlineは使用しません。
-
ユーザーに報告:ドキュメント名、
file_id、変更内容、検証結果を説明します。失敗した場合は、どのステップで行き詰まったかを説明します。
コアコマンド
node scripts/cli.js # 交互式向导(推荐用户直接使用)
node scripts/cli.js auth # 检查凭据状态
node scripts/cli.js auth --browser # 全自动刷新凭据(Playwright)
node scripts/cli.js search <keyword> # 搜索文档,返回数字 file_id
node scripts/cli.js new-doc --name <名称> # 新建文档,返回 file_id + doc_url
node scripts/cli.js query <file_id> [block_id] # 查询块(默认查根节点)
node scripts/cli.js insert-markdown <file_id> --content <text|@file> [--pos begin|end]
node scripts/cli.js outline <file_id> [--format markdown|json] # 目录结构
node scripts/cli.js update <file_id> --body <json>
node scripts/cli.js insert <file_id> --block-id <id> --index <n> --content <json>
node scripts/cli.js upload-image <file_id> <path> [--index <n>]
node scripts/cli.js comments <file_id>
node scripts/cli.js comment-add <file_id> --sid <id> --text <text>
コマンドの全パラメーターは references/block-ops.md を参照してください。
よくあるタスクパターン
Markdown コンテンツの挿入(推奨方法)
node scripts/cli.js auth
node scripts/cli.js search <keyword> # 拿 file_id
node scripts/cli.js insert-markdown <file_id> --content "# 标题\n正文" --pos end
node scripts/cli.js query <file_id> # 验证
挿入位置を細かく制御する場合に限り、
convert+insertを使用します。
ドキュメントを新規作成してコンテンツを書き込む
node scripts/cli.js new-doc --name "文档名"
# 输出包含 file_id 和 doc_url(格式:https://365.kdocs.cn/office/o/{fileid})
node scripts/cli.js insert-markdown <file_id> --content @content.md
ブロックの照会/変更
node scripts/cli.js query <file_id> # 查根节点
node scripts/cli.js query <file_id> <block_id> # 查指定块
node scripts/cli.js update <file_id> --body '[{...}]' # 更新(必须数组)
node scripts/cli.js query <file_id> <block_id> # 验证
コメント操作
node scripts/cli.js comments <file_id>
node scripts/cli.js comment-add <file_id> --sid <sid> --text "评论内容"
node scripts/cli.js comment-update <file_id> --id <cid> --sid <sid> --text "新内容"
ドキュメントの目次を表示
node scripts/cli.js outline <file_id> # markdown 格式,含 tileId
node scripts/cli.js outline <file_id> --format json # 带 level/attrs 结构
重要な注意点(リファレンスを読まずに覚えておく)
この 4 点は Claude が最も誤りやすい動作です。直感よりも優先してください。
outlineは新規ドキュメントでインデックス反映が遅延します:内容が書き込まれていても、outlineが空を返すことがあります。書き込み結果の検証には必ずqueryで heading ブロックを絞り込み、outlineは使用しません。update --bodyは配列でなければなりません:ブロックを 1 つだけ更新する場合でも'[{...}]'を使用する必要があります。単一オブジェクトを指定するとパラメーターエラー(エラーコード -152)が発生します。- インラインテキストフィールドは
textではなくcontentです:{ "content": [...] }を使用します。{ "text": "..." }と記述すると、エラーなく失敗します。 rangeMarkBegin/rangeMarkEndは実際のブロックではありません:insert の--indexを計算する際は、これらのマーカーを飛ばす必要があります。update_contentの際にコメントアンカーを維持する場合は、これらのマーカーも一緒に戻す必要があります。
注意点の全一覧は
references/verified-behavior.mdを参照してください。
主な制約
file_idは数字の ID、短縮リンク(365.kdocs.cn/l/xxx)、ドキュメントリンク(365.kdocs.cn/office/o/xxx)の 3 形式に対応し、CLI が自動で解析します。insert --indexは>= 1でなければなりません(title は index 0 に固定されています)。update --bodyは、ブロックを 1 つだけ更新する場合でも配列でなければなりません。- コメントを含むブロックを更新する場合は、
rangeMarkBegin/rangeMarkEndを保持する必要があります。 comment-updateにはcomment_idとselection_idの両方を指定する必要があります。insert-markdown --posはbegin/endのみ対応しています。outlineは新規ドキュメントでインデックス反映が遅延するため、内容の検証にはqueryで heading ブロックを絞り込んでください。- ドキュメント URL の形式:
https://365.kdocs.cn/office/o/{fileid}(new-docが自動で返します)。
セキュリティ
- 認証情報は
~/.claude/secrets/wps365.json(権限 0600)に保存され、cookieとcsrfが含まれます。 wps_sidは HttpOnly cookie であり、ネットワークリクエストヘッダーからのみ読み取れます。document.cookieに依存してはいけません。- CSRF token は AirPage の編集ページ(共有/プレビューページ以外)の
window.__WPSENV__.csrf_tokenからのみ取得できます。 - MCP 認証ではブラウザーのネットワークリクエストを傍受して認証情報を抽出します。認証情報がローカル環境の外部に送信されることはありません。
- 古いセッションの長期的な露出を防ぐため、認証情報が 8 時間を超えると更新を促すメッセージが自動で表示されます。
段階的な情報開示
必要に応じて参照してください。すべてのリファレンスを事前に読み込まないでください。
| 状況 | 参照先 |
|---|---|
| 認証情報の更新に失敗した場合、MCP の手順、認証エラー | references/auth.md |
| ドキュメントの検索、file_id の理解 | references/file-search.md |
| insert/update/delete/表のペイロードの構築 | references/block-ops.md |
| ブロックの種類、inline 構造、フィールドの制約 | references/data-structure.md |
| エラーコード | references/error-codes.md |
| 実測された注意点、互換性のある書き方、検証済みの対応範囲 | references/verified-behavior.md |
| CLI で対応できない場合(低頻度) | references/api-reference.md |
| すぐに使えるブロック JSON の例 | assets/ |
api-reference.mdとverified-behavior.mdの内容が矛盾する場合は、verified-behavior.mdを優先してください。