Back to skills
SkillHub ClubAnalyze Data & AIFull StackData / AI

alicloud-ai-text-document-mind

Use Document Mind (DocMind) via Node.js SDK to submit document parsing jobs and poll results. Designed for Claude Code/Codex document understanding workflows.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
3,108
Hot score
99
Updated
March 20, 2026
Overall rating
C0.0
Composite score
0.0
Best-practice grade
C56.0

Install command

npx @skill-hub/cli install openclaw-skills-alicloud-ai-text-document-mind

Repository

openclaw/skills

Skill path: skills/cinience/alicloud-ai-text-document-mind

Use Document Mind (DocMind) via Node.js SDK to submit document parsing jobs and poll results. Designed for Claude Code/Codex document understanding workflows.

Open repository

Best for

Primary workflow: Analyze Data & AI.

Technical facets: Full Stack, Data / AI.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: openclaw.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install alicloud-ai-text-document-mind into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/openclaw/skills before adding alicloud-ai-text-document-mind to shared team environments
  • Use alicloud-ai-text-document-mind for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: alicloud-ai-text-document-mind
description: Use Document Mind (DocMind) via Node.js SDK to submit document parsing jobs and poll results. Designed for Claude Code/Codex document understanding workflows.
version: 1.0.0
---

Category: provider

# Document Mind (DocMind) — Node.js SDK

Use DocMind to extract document structure, text, and layout with async jobs.

## Prerequisites

- Install SDKs:
  - `npm install @alicloud/docmind-api20220711 @alicloud/tea-util @alicloud/credentials`
- Provide credentials via standard Alibaba Cloud env vars:
  - `ALICLOUD_ACCESS_KEY_ID`
  - `ALICLOUD_ACCESS_KEY_SECRET`
  - `ALICLOUD_REGION_ID` (optional default; if unset, choose the most reasonable region for the task or ask the user)

## Quickstart (submit + poll)

```js
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));
  }
})();
```

## Script quickstart

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

Environment variables:

- `DOCMIND_FILE_URL`
- `DOCMIND_FILE_NAME` (optional)
- `DOCMIND_POLL_INTERVAL_MS` (optional, default 10000)
- `DOCMIND_MAX_POLLS` (optional, default 120)

## Local file upload

```js
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);
```

## Notes for Claude Code/Codex

- DocMind is async: submit a job, then poll until `completed=true`.
- Poll every ~10s; max processing window is 120 minutes.
- Keep files publicly accessible when using URL submission.

## Error handling

- `UrlNotLegal`: URL not publicly accessible or malformed.
- `DocProcessing`: job still running; keep polling.
- `Fail`: check `message` and error code for root cause.

## Validation

```bash
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
```

Pass criteria: command exits 0 and `output/alicloud-ai-text-document-mind/validate.txt` is generated.

## Output And Evidence

- Save artifacts, command outputs, and API response summaries under `output/alicloud-ai-text-document-mind/`.
- Include key parameters (region/resource id/time range) in evidence files for reproducibility.

## Workflow

1) Confirm user intent, region, identifiers, and whether the operation is read-only or mutating.
2) Run one minimal read-only query first to verify connectivity and permissions.
3) Execute the target operation with explicit parameters and bounded scope.
4) Verify results and save output/evidence files.

## References

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

- Source list: `references/sources.md`


---

## Referenced Files

> The following files are referenced in this skill and included for context.

### references/sources.md

```markdown
官方文档来源(用于后续更新)
============================

- https://example.com/example.pdf

```



---

## Skill Companion Files

> Additional files collected from the skill directory layout.

### _meta.json

```json
{
  "owner": "cinience",
  "slug": "alicloud-ai-text-document-mind",
  "displayName": "Alicloud Ai Text Document Mind",
  "latest": {
    "version": "1.0.2",
    "publishedAt": 1773221902320,
    "commit": "https://github.com/openclaw/skills/commit/164c60e2b650dc1ebfb02a1e5ba33caf36a81075"
  },
  "history": [
    {
      "version": "1.0.1",
      "publishedAt": 1770768467638,
      "commit": "https://github.com/openclaw/skills/commit/03526dca7ac3a699f079f0e975350edc98f8cff1"
    }
  ]
}

```

### scripts/quickstart.js

```javascript
const Client = require('@alicloud/docmind-api20220711');
const Credential = require('@alicloud/credentials');

const sleep = (ms) => new Promise((r) => setTimeout(r, ms));

const fileUrl = process.env.DOCMIND_FILE_URL;
const fileName = process.env.DOCMIND_FILE_NAME || 'example.pdf';
const regionId = process.env.ALICLOUD_REGION_ID || 'cn-hangzhou';
const pollIntervalMs = Number(process.env.DOCMIND_POLL_INTERVAL_MS || 10000);
const maxPolls = Number(process.env.DOCMIND_MAX_POLLS || 120);

if (!fileUrl) {
  console.error('Missing env var: DOCMIND_FILE_URL');
  process.exit(1);
}

(async () => {
  const cred = new Credential.default();
  const client = new Client.default({
    endpoint: 'docmind-api.cn-hangzhou.aliyuncs.com',
    accessKeyId: cred.credential.accessKeyId,
    accessKeySecret: cred.credential.accessKeySecret,
    type: 'access_key',
    regionId,
  });

  const submitReq = new Client.SubmitDocStructureJobRequest();
  submitReq.fileUrl = fileUrl;
  submitReq.fileName = fileName;

  const submitResp = await client.submitDocStructureJob(submitReq);
  const jobId = submitResp.body.data.id;
  console.log('jobId:', jobId);

  const resultReq = new Client.GetDocStructureResultRequest();
  resultReq.id = jobId;

  let polls = 0;
  for (;;) {
    const result = await client.getDocStructureResult(resultReq);
    if (result.body.completed) {
      console.log(result.body.status, result.body.data || result.body.message);
      break;
    }
    polls += 1;
    if (polls >= maxPolls) {
      console.error('Polling timed out.');
      process.exit(1);
    }
    await sleep(pollIntervalMs);
  }
})();

```

alicloud-ai-text-document-mind | SkillHub