用途:通过有状态 harness 调用真实 joplin 终端二进制,自动化 Joplin 的笔记本、笔记、待办、标签、附件、搜索、同步与导入导出工作流。
要求:Python 3.10+;joplin 终端二进制需在 PATH 中;可选 --profile 指定 Joplin 配置文件。
安装:cd joplin/agent-harness 后执行 pip install -e .
用法:默认 REPL 模式直接运行 cli-anything-joplin;机器可读一次性命令如 cli-anything-joplin --json notebooks list;有状态项目用 project new --name demo -o ./demo.joplin-harness.json 创建,再以 --project 指定;--dry-run 可禁止自动保存。
JSON 输出契约:--json 时返回 ok(布尔)、command(稳定标识,如 notes.list)、data(载荷)、error(成功为 null,失败为 { type, message })。
命令组:project、notebooks、notes、todos、tags、search、sync、interop、config、attach、status、backend、server、e2ee、session。
代理指引:优先 --json;多步流程用 --project 持久化历史;一次性变更命令默认自动保存,除非 --dry-run;REPL 不自动保存,需显式 project save。部分 Joplin CLI 构建将 search 限制在 GUI 模式,若提示 only available in GUI mode 则视为尽力而为。Joplin 3.6.x 在 npm 全局布局下 version 命令可能损坏,harness 会回退到已安装包元数据探测。后端 stdout/stderr 原样返回,勿假设警告被剥离。失败时用与成功相同的 command 字段解析错误。
测试:可运行 python -m pytest -q cli_anything/joplin/tests/test_core.py 等命令;当前基线为 Windows + Joplin CLI 3.6.2 下 134 passed, 1 skipped。