1. 安装
SoMark 有 Python 和 JavaScript 两个实现。你用哪门语言,就装哪个包。两个包都同时提供 SDK 和somark CLI 命令。建议先确认本机版本:Python 需要 3.10+,Node.js 需要 18+。
如果同时安装了 Python 和 JS 两个版本,CLI中采用的是先安装的那个,另一个版本在安装的时候碰到 CLI 已经安装的情况会跳过安装。想要看当前是什么语言的版本,可以运行
somark --help,在最后会有 [PY] 或 [JS] 的标识。2. 认证与配置
远程解析和用量查询需要 API Key。本地 PDF 处理和 SoMarkDown 预览不需要。你可以用 CLI 保存配置,也可以在 SDK 初始化时直接传参。- CLI
- Python
- JavaScript
入口:
somark login、somark config ...,或在命令参数和环境变量里传配置。命令参数 / 环境变量配置文件字段
优先级:命令参数 > 环境变量 > 配置文件 > 默认值。
3. Warnings
SoMark 的 warning 分两类:API warning 和本地 warning。API warning 来自响应顶层warnings: List[str] 字段,和 code、message 同级。本地 warning 来自 SDK 或 CLI 自己的运行判断,例如批量解析并发设置超过默认额度。
CLI 默认会显示 SoMark warning。需要安静输出时,用全局参数 --no-warnings:
CLI
--no-warnings 只关闭 warning 的显示,不改变命令结果、退出码,也不会删除 SDK 返回对象里的 warnings 字段。
SDK 默认通过语言原生 warning 通道显示 warning,同时把 warning 字符串保留在返回对象的 warnings 字段中。空数组表示没有 warning。
4. 解析
解析是 SoMark SDK + CLI 的主线任务。你把文件交给 SoMark,它把结果还给你:Markdown、JSON,或者 ZIP 下载地址。默认输出格式是md,也就是 API 里的 markdown。
这里有两种用法:同步解析和异步解析。
同步解析适合“我现在就要结果”的场景。CLI 或 SDK 会把文件发到 /parse/sync,然后等服务端把结果返回。代码少,心智负担低,适合单个文件、脚本、调试和中小文档。缺点也很直白:文件越大,你等得越久。
异步解析适合大文件、批处理和后台任务。你先把文件发到 /parse/async,马上拿到一个 task_id;之后用 task_id 去 /parse/async_check 查进度。CLI 的 --wait 和 SDK 的 task.wait() 本质上就是帮你定时轮询。它更适合放进队列、定时任务或服务端流程里。
同步解析流程
一次请求直接拿结果。适合脚本、调试和中小文件。
异步解析流程 先提交任务,再用
task_id 查状态。适合大文件、批处理和后台队列。
4.1 同步解析
同步解析最适合先把流程跑通:给一个文件,等结果,保存到本地。你可以先从md 开始,确认内容质量,再按需加 json、zip 或页面特征配置。
- CLI
- Python
- JavaScript
入口:
somark parse [files...]。返回处理
--out 只表示输出目标,不表示“帮我创建目录”,也不表示“把文件名当模板”。这样脚本里更容易预测结果。多文件执行
4.2 异步解析
异步解析适合大文件和批处理。先提交任务,拿到task_id;稍后轮询,直到成功或失败。推荐轮询间隔 3 到 5 秒,别太频繁,服务器也需要安静工作。
- CLI
- Python
- JavaScript
入口:
somark parse [files...] --async 提交任务;somark parse --task-id task_xxx 查询任务。提交任务:somark parse [files...] --async多文件异步提交时,每个文件会得到独立的
task_id。CLI 会显示每个文件的存在性、提交状态、用时和任务 ID。查询 / 等待任务:somark parse --task-id task_xxx5. 用量查询
用量查询会返回当前 API Key 的剩余额度和控制台地址。它也可以顺手检查 API Key 是否有效。- CLI
- Python
- JavaScript
入口:
somark usage。命令参数输出字段
6. SoMarkDown 服务
SoMarkDown 服务会在本地启动一个预览服务器,用浏览器打开.md 或 .smd 文件。它不需要 API Key,也不消耗额度。底层渲染能力来自 SoMarkAI/SoMarkDown,需要看语法和渲染器细节时可以直接跳过去。
JavaScript SDK 还额外导出
SoMarkDown。它不启动本地 HTTP 服务,直接把
Markdown / SoMarkDown 字符串渲染成 HTML;适合在 Node
服务、自定义前端或小工具里接入渲染结果。JavaScript
- CLI
- Python
- JavaScript
入口:
somark preview [file]。输出字段
停止服务:在终端按 Ctrl+C。
7. PDF 处理
PDF 处理目前提供本地 PDF 转图片。它适合做预览图、调试页面布局,或者把 PDF 页面交给别的视觉处理流程。Python 侧的本地 PDF 能力基于 SoMarkAI/SoPDF。- CLI
- Python
- JavaScript
入口:
somark pdf toimg <file>。输出字段
8. Doctor 自动修复
Doctor 用来检查安装状态、网络、API Key 和本地预览资源。它是命令行里的体检表,不治百病,但能发现不少低级事故。CLI

