
Ralph Loop (Agent Mode)
引导 OpenClaw 代理使用 exec 和 process 工具执行 Ralph Wiggum 循环。通过 pty:true 提供正确的 TTY 支持,编排编码代理(Codex, Claude Code, OpenCode, Goose)。利用 PROMPT.md、AGENTS.md、SPECS 和 IMPLEMENTATION_PLAN.md 规划和构建代码。包含规划与构建模式、背压机制、沙箱及完成条件。用户请求循环,代理使用工具执行。
类别:provider
使用 DocMind 异步提交任务,提取文档的结构、文本及版式信息。
安装 SDK:
npm install @alicloud/docmind-api20220711 @alicloud/tea-util @alicloud/credentials通过标准 Alibaba Cloud 环境变量提供凭据:
ALICLOUD_ACCESS_KEY_IDALICLOUD_ACCESS_KEY_SECRETALICLOUD_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'; // 示例默认值;若未设置,需选择或询问用户。
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);
// 每 10 秒轮询一次,直至完成。
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_URLDOCMIND_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);
completed=true。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 文件。
output/alicloud-ai-text-document-mind/ 目录下。1) 明确用户意图、目标地域、相关标识符,并确认操作是否为只读或变更类操作。
2) 首先执行一个最小化的只读查询,用于验证连接性与权限配置。
3) 在明确参数与作用域限制的前提下,执行目标操作。
4) 验证执行结果,并保存输出及证据文件。
@alicloud/docmind-api20220711
references/sources.md
|
1 |
|







