CLI-Anything OpenRefine 是做什么的?
当任务需要通过自动化代理工作流进行OpenRefine数据清洗、转换、可复用操作历史或CSV/TSV导出时,使用此技能。
前提条件
安装工具集:
cd openrefine/agent-harness
python -m pip install -e .
在运行后端命令前启动 OpenRefine:
openrefine -i 127.0.0.1 -p 3333
使用 OPENREFINE_URL=http://127.0.0.1:3333 或传递 --base-url 设置自定义服务器。
代理命令规则
- 在每个一次性命令上优先使用
--json。 - 对隔离的任务状态使用
--session <path>。 - 在行操作、应用、导出、撤销或重做命令之前,先导入或打开一个项目。
- 现有的 OpenRefine 操作历史 JSON 可以直接传递给
data apply。 - 生成的文件是标准的 OpenRefine 操作 JSON 和导出的 CSV/TSV 数据。
常用命令
cli-anything-openrefine --json server ping
cli-anything-openrefine --json project list
cli-anything-openrefine --json --session run/session.json project import messy.csv --name cleanup
cli-anything-openrefine --json --session run/session.json data rows --limit 10
cli-anything-openrefine --json ops text-transform run/trim.json --column Name --expression 'value.trim()'
cli-anything-openrefine --json --session run/session.json data apply run/trim.json
cli-anything-openrefine --json --session run/session.json data export run/clean.csv --format csv
cli-anything-openrefine --json --session run/session.json session undo
cli-anything-openrefine --json --session run/session.json session redo
REPL
不带子命令运行 cli-anything-openrefine 即可进入 REPL。
对于自动化用户旅程,通过 stdin 传输以换行符分隔的 REPL 命令。 重定向的流会自动使用仅 ASCII 的输入/输出路径,而交互式终端则保留 Unicode 横幅、提示历史和样式:
printf 'help\nexit\n' | cli-anything-openrefine
当 REPL 被重定向时,Unicode 载荷会被渲染为可逆的 ASCII 反斜杠转义,防止旧版 Windows 输出编码将成功命令变为失败的旅程。
管道化工作流在 exit 或 EOF 时,如果有任何命令失败,则返回非零退出状态,允许 CI 检测到不成功的用户旅程。
错误处理
当设置了 --json 时,命令失败会将包含 ok: false 的 JSON 对象写入 stderr。