mcpField
A
alicloud-ai-text-document-mind

alicloud-ai-text-document-mind

github.com/cinienceドキュメント396266 回インストール11 週間前に更新
リポジトリ

alicloud-ai-text-document-mind について

Alibaba Cloud DocMind の Node.js SDK を使い、文書のテキスト、構造、レイアウトを抽出するスキルです。非同期処理に対応し、URL送信とローカルファイルのアップロード例を含みます。

主な機能

  1. 01文書のテキスト・構造・レイアウト抽出
  2. 02非同期処理ジョブの送信
  3. 03ジョブ完了までのポーリング
  4. 04URLまたはローカルファイルの送信
  5. 05結果とエビデンスファイルの保存

活用シーン

  1. 01PDFの構造抽出
  2. 02公開アクセス可能な文書URLの処理
  3. 03ローカルファイルからの文書抽出

インストール

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

$npx skills add https://github.com/cinience/alicloud-skills --skill alicloud-ai-text-document-mind

インストール後、Claude Code で/alicloud-ai-text-document-mindを入力して読み込まれたか確認します。

同梱ファイル

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

agents/
openai.yaml
references/
sources.md
scripts/
quickstart.js

詳細

カテゴリ:プロバイダー

Document Mind(DocMind)— Node.js SDK

DocMind を使用して、非同期ジョブでドキュメントの構造、テキスト、レイアウトを抽出します。

前提条件

  • SDK をインストールします:
    • npm install @alicloud/docmind-api20220711 @alicloud/tea-util @alicloud/credentials
  • 標準の Alibaba Cloud 環境変数を使用して認証情報を設定します:
    • ALICLOUD_ACCESS_KEY_ID
    • ALICLOUD_ACCESS_KEY_SECRET
    • ALICLOUD_REGION_ID(省略可能なデフォルト値。未設定の場合は、タスクに最も適したリージョンを選択するか、ユーザーに確認してください)

クイックスタート(送信+ポーリング)

const Client = require('@alicloud/docmind-api20220711');
const Credential = require('@alicloud/credentials');
const Util = require('@alicloud/tea-util');

const cred = new Credential.default();
const regionId = process.env.ALICLOUD_REGION_ID || 'cn-hangzhou'; // Example default; choose/ask if unset.
const client = new Client.default({
  endpoint: `docmind-api.${regionId}.aliyuncs.com`,
  accessKeyId: cred.credential.accessKeyId,
  accessKeySecret: cred.credential.accessKeySecret,
  type: 'access_key',
  regionId,
});

async function submitByUrl(fileUrl, fileName) {
  const req = new Client.SubmitDocStructureJobRequest();
  req.fileUrl = fileUrl;
  req.fileName = fileName;
  const resp = await client.submitDocStructureJob(req);
  return resp.body.data.id;
}

async function pollResult(jobId) {
  const req = new Client.GetDocStructureResultRequest();
  req.id = jobId;
  const resp = await client.getDocStructureResult(req);
  return resp.body;
}

(async () => {
  const jobId = await submitByUrl('https://example.com/example.pdf', 'example.pdf');
  console.log('jobId:', jobId);

  // Poll every 10s until completed.
  for (;;) {
    const result = await pollResult(jobId);
    if (result.completed) {
      console.log(result.status, result.data || result.message);
      break;
    }
    await new Promise((r) => setTimeout(r, 10000));
  }
})();

スクリプトのクイックスタート

DOCMIND_FILE_URL="https://example.com/example.pdf" \\
node skills/ai/text/alicloud-ai-text-document-mind/scripts/quickstart.js

環境変数:

  • DOCMIND_FILE_URL
  • DOCMIND_FILE_NAME(省略可能)
  • DOCMIND_POLL_INTERVAL_MS(省略可能、デフォルトは 10000)
  • DOCMIND_MAX_POLLS(省略可能、デフォルトは 120)

ローカルファイルのアップロード

const fs = require('fs');
const advanceReq = new Client.SubmitDocStructureJobAdvanceRequest();
advanceReq.fileUrlObject = fs.createReadStream('./example.pdf');
advanceReq.fileName = 'example.pdf';
const runtime = new Util.RuntimeOptions({});
const resp = await client.submitDocStructureJobAdvance(advanceReq, runtime);

Claude Code/Codex 向けの注意事項

  • DocMind は非同期です。ジョブを送信し、completed=true になるまでポーリングします。
  • 約 10 秒ごとにポーリングします。最大処理時間は 120 分です。
  • URL を使用して送信する場合は、ファイルにパブリックアクセスできる状態を維持してください。

エラー処理

  • UrlNotLegal:URL にパブリックアクセスできないか、形式が正しくありません。
  • DocProcessing:ジョブはまだ実行中です。ポーリングを続けてください。
  • Fail:根本原因を特定するため、message とエラーコードを確認してください。

検証

mkdir -p output/alicloud-ai-text-document-mind
for f in skills/ai/text/alicloud-ai-text-document-mind/scripts/*.py; do
  python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/alicloud-ai-text-document-mind/validate.txt

合格条件:コマンドが 0 で終了し、output/alicloud-ai-text-document-mind/validate.txt が生成されます。

出力とエビデンス

  • 成果物、コマンド出力、API レスポンスの概要を output/alicloud-ai-text-document-mind/ に保存します。
  • 再現性を確保するため、エビデンスファイルに主要なパラメーター(リージョン/リソース ID/時間範囲)を含めます。

ワークフロー

  1. ユーザーの意図、リージョン、識別子、操作が読み取り専用か変更を伴うかを確認します。
  2. 接続と権限を確認するため、まず最小限の読み取り専用クエリを 1 つ実行します。
  3. 明示的なパラメーターと限定された範囲を指定して、対象の操作を実行します。
  4. 結果を検証し、出力/エビデンスファイルを保存します。

参考資料

  • DocMind Node.js SDK:@alicloud/docmind-api20220711

  • ソース一覧:references/sources.md

コメント