cli-anything-joplin について
cli-anything-joplinは、Joplinのターミナルバイナリを通じてノートブック、ノート、ToDoなどを自動化するPython製コマンドラインツールです。JSON出力とプロジェクト状態の保存に対応し、スクリプトやエージェントでの運用に向いています。
主な機能
- 01ノートブック、ノート、ToDoの管理
- 02タグと添付ファイルの操作
- 03検索、同期、インポートとエクスポート
- 04プロジェクト状態と履歴の保存
- 05機械可読なJSON出力
活用シーン
- 01ノートやToDoの更新を自動化
- 02再現可能なノートブックのワークフロー
- 03Joplinデータのインポートやエクスポート
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-joplinインストール後、Claude Code で/cli-anything-joplinを入力して読み込まれたか確認します。
詳細
cli-anything-joplin
このスキルを使用すると、実際の joplin ターミナルバイナリをバックエンドとするステートフルなハーネスを通じて、Joplin のノートブック、ノート、ToDo、タグ、添付ファイル、検索、同期、インポート/エクスポートのワークフローを自動化できます。
要件
- Python 3.10+
joplinとして利用可能な Joplin ターミナルバイナリ- オプション: 特定の Joplin プロファイルを対象にするには
--profileを渡します
インストール
cd joplin/agent-harness
pip install -e .
使用方法
# REPL mode (default)
cli-anything-joplin
# Machine-readable one-shot command
cli-anything-joplin --json notebooks list
# Stateful project
cli-anything-joplin project new --name demo -o ./demo.joplin-harness.json
cli-anything-joplin --project ./demo.joplin-harness.json notes create "Meeting note"
# Dry-run (no auto-save)
cli-anything-joplin --json --dry-run --project ./demo.joplin-harness.json notes create temp
JSON 出力の契約
--json が有効な場合、コマンドは以下を返します:
ok: booleancommand:notes.list、todos.toggleのような安定したコマンド識別子data: コマンドのペイロードerror: 成功時は null、失敗時は{ type, message }
コマンドグループ
project:new、open、save、info、json、statusnotebooks:list、create、use、removenotes:list、create、set、get、remove、copy、move、renametodos:list、create、toggle、clear、done、undonetags:list、add、remove、notetags、tagnotessearch:runsync:run(--target、--upgrade、--use-lock)interop:import、exportconfig:get、set、list、export、import-fileattach:addstatus:show、restorebackend:version、dump、keymap、geoloc、export-sync-statusserver:status、start、stope2ee:status、target-status、decrypt、decrypt-filesession:status、undo、redo、history
エージェント向けのガイダンス
- 解析可能な出力には
--jsonを優先してください。 - 複数ステップのワークフローを実行する場合は
--projectを使用して、履歴が保持されるようにしてください。 - 単発の変更コマンドは、
--dry-runが設定されていない限り、プロジェクトを自動保存します。 - REPL モードでは自動保存されません。明示的に
project saveを実行してください。 - 一部の Joplin CLI ビルドでは
searchが GUI モードで制限されます。"only available in GUI mode"が表示された場合は、検索をベストエフォートとして扱ってください。 - Joplin 3.6.x では、npm グローバルレイアウトにおいて
versionコマンドが壊れていることがあります。ハーネスはbackend versionのためにインストール済みパッケージのメタデータにフォールバックし、シンボリックリンクを解決したバイナリディレクトリ、Windows 形式の兄弟パスnode_modules/joplin、Unix 形式の親パスlib/node_modules/joplin、そして最後にnpm root -gを順に探索します。 - コマンド結果のバックエンド
stdout/stderrはそのままです。警告がノート本文やエクスポートから除去されたと想定しないでください。 - 失敗時は、成功時と同じ
commandフィールドを使用してerrorを解析してください (config.import_file、e2ee.decrypt_file)。複数単語のサブコマンドでは、グループとサブコマンドの間に単一のドットを使用します。
テストワークフロー
# Quick feedback loop
python -m pytest -q cli_anything/joplin/tests/test_core.py
python -m pytest -q cli_anything/joplin/tests/test_full_e2e.py::TestCLISubprocess
# Real backend (joplin must be in PATH)
python -m pytest -v cli_anything/joplin/tests/test_full_e2e.py::TestBackendCommands
python -m pytest -v cli_anything/joplin/tests/test_full_e2e.py::TestBackendWorkflows
python -m pytest -v cli_anything/joplin/tests/test_full_e2e.py::TestBackendIntegration
# Full suite
python -m pytest -v --tb=no cli_anything/joplin/tests
# Verify the installed console script entry point
CLI_ANYTHING_FORCE_INSTALLED=1 python -m pytest -v -s cli_anything/joplin/tests/test_full_e2e.py
現在の検証ベースライン (Windows + Joplin CLI 3.6.2):
python -m pytest -q cli_anything/joplin/tests/test_core.py->107 passedpython -m pytest -q cli_anything/joplin/tests->134 passed, 1 skipped
コメント
Markdown 対応