mcpField
W
wps-doc-scraper

wps-doc-scraper

github.com/daymadeドキュメント1.5k339 回インストール今日更新
リポジトリ

wps-doc-scraper について

wps-doc-scraperは、公開されたWPS/KDocs文書を元データや視覚情報を保って保存する抽出スキルです。書き換えや要約ではなく、忠実な記録を目的とします。

主な機能

  1. 01公開WPS/KDocsデータの抽出
  2. 02生JSONとマニフェストの保存
  3. 03構造を保ったMarkdown変換
  4. 04SVGとキャンバス画像の取得
  5. 05権限制限と抽出漏れの確認

活用シーン

  1. 01公開ProcessOnマインドマップの保存
  2. 02キャンバス文書の忠実な記録
  3. 03共有前の抽出結果の検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/daymade/claude-code-skills --skill wps-doc-scraper

インストール後、Claude Code で/wps-doc-scraperを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
capture-manifest.md
permission-and-failure-boundaries.md
processon-mindmap-api.md
rendered-svg-capture.md
scripts/
render_svg_tiles.py
wps_processon_extract.py

詳細

WPS Doc Scraper

概要

ソースの忠実性を保ちながら、WPS/KDocs の公開ドキュメントをアーカイブします。認証不要のデータ API を優先し、未加工のペイロードを保持します。ドキュメントがキャンバスまたはマインドマップの場合は元の視覚的成果物を取得し、Markdown はソースを構造化して表現する場合にのみ生成します。

これは抽出スキルであり、執筆スキルではありません。アーカイブが完了した後にユーザーが別途分析を明示的に依頼しない限り、LLM を使ってドキュメントの内容を書き換えたり、要約したり、整えたり、不足している内容を推測したりしないでください。

ワークフロー決定木

  1. URL の種類を特定します。

    • kdocs.cn/view/l/<share_id> または kdocs.cn/l/<share_id>:最初に公開リンクのメタデータを読み取ります。
    • wps.processon.com/diagrams/view?...:file_id と group_id を抽出し、ProcessOn データ API を使用します。
    • wps.processon.com/wpsapi/diagrams/view/api?...:これをソース API として直接扱います。
    • その他の WPS/KDocs ページ:公開メタデータを収集し、公式の公開エクスポート/ダウンロードが利用できる場合に限り試してから、フォールバックとしてブラウザーの DOM を取得します。
  2. ProcessOn の .pof マインドマップまたはキャンバスでは、API 抽出ツールを実行します。

    python3 /path/to/wps-doc-scraper/scripts/wps_processon_extract.py \
      --url "https://www.kdocs.cn/view/l/..." \
      --output-dir "/path/to/archive-dir"
    

    期待される出力:processon-api.json、processon-definition.json、capture-manifest.json、および <title>.md。

  3. 元の画像を取得します。

    • ページにレンダリング済み SVG が表示される場合は、シリアライズした SVG 全体を <title>-全画布.svg として保存します。
    • SVG で foreignObject が使用されている場合、テキストのレンダリングに ImageMagick だけを頼らないでください。macOS Quick Look の正方形タイルを使って PNG を生成するために、scripts/render_svg_tiles.py を使用します。
    python3 /path/to/wps-doc-scraper/scripts/render_svg_tiles.py \
      --svg "/path/to/<title>-全画布.svg" \
      --output "/path/to/<title>-全画布.png"
    
  4. アーカイブを検証します。

    • Markdown は構造的な変換であり、編集上の書き換えではありません。
    • 視覚的なドキュメントでは元の画像が存在します。
    • 未加工の JSON とマニフェストが存在します。
    • 出力テキストに Unicode の置換文字 � が含まれていません。
    • 失敗した経路や権限によって制限された経路は、マニフェストまたは最終回答に記録されています。

厳守事項

  • ユーザーが明示的に依頼しない限り、ログイン、アカウントへの保存、ユーザーのクラウドドライブへのコピー、リモートドキュメントの変更は行わないでください。
  • CAPTCHA、有料の壁、テナント制限、権限の壁を回避しないでください。ログインが必要な公開リンクは、ユーザーが認可済みのアクセスを提供しない限り、越えてはならない境界です。
  • 非表示のノードや不足しているテキストを推測しないでください。API またはレンダリング済み DOM が実際に公開する内容をそのまま保持してください。
  • HTTP 200 だけでは十分ではありません。用户未登录、空の定義、プレースホルダーのシェルなど、ログインの壁を示すペイロードを検出してください。
  • 変換の前に、ソースの未加工成果物を保持してください:API JSON、解析済みの定義 JSON、シリアライズした SVG、スクリーンショットまたは PNG、キャプチャマニフェスト。
  • ブラウザーへのフォールバックでは、可能な場合はスクリーンショットより先に DOM/ソースデータを取得してください。スクリーンショットだけでは、忠実なテキストアーカイブになりません。
  • 抽出の欠落は明確に報告してください。部分的なデータから、整った Markdown ファイルを黙って作成しないでください。

同梱リソース

scripts/
  • wps_processon_extract.py:公開 WPS/KDocs ProcessOn .pof マインドマップ用の決定論的な抽出ツールです。KDocs の共有メタデータを解決し、ProcessOn データ API の JSON をダウンロードし、埋め込まれた定義を解析して、Markdown とマニフェストを書き出します。
  • render_svg_tiles.py:foreignObject のテキストを含む全キャンバス SVG 用の、macOS Quick Look ベースの SVG から PNG へのレンダラーです。正方形の縦長タイルをレンダリングし、それらを 1 つの PNG に結合します。
references/
  • processon-mindmap-api.md:WPS がホストする ProcessOn ファイルのエンドポイントのパターンとペイロードの形式です。
  • rendered-svg-capture.md:レンダリング済みの全キャンバス SVG を抽出し、PNG を生成するためのブラウザー側の手順です。
  • capture-manifest.md:マニフェストに必要な最小限のフィールドと合格基準です。
  • permission-and-failure-boundaries.md:ログインの壁、禁止されている権限のエスカレーション、失敗の報告ルールです。

コメント