Communitygithub.com

cli-anything-joplin

Interface en ligne de commande pour les workflows Joplin utilisant le véritable terminal back-end joplin

Qu'est-ce que cli-anything-joplin ?

Ce skill permet aux agents utilisateurs d'interagir de manière automatisée avec Joplin via une interface en ligne de commande. Il est conçu pour les développeurs ou les utilisateurs avancés qui souhaitent intégrer Joplin dans leurs workflows automatisés, par exemple la création et la gestion de notes, de carnets, de balises, de pièces jointes, la synchronisation, les importations/exportations et les recherches. Le skill s'appuie sur le binaire terminal officiel `joplin` et offre un état persistant entre les commandes via un système de projet. Il supporte les plateformes où Joplin est disponible (Windows, Linux, macOS) et fournit un format de sortie JSON standardisé pour une intégration facile avec les agents. La communication se fait par lignes de commande, avec un mode REPL interactif, des commandes ponctuelles avec `--json`, et des workflows multi-étapes avec `--project` pour conserver l'historique. Le skill gère automatiquement les appels au backend Joplin et fournit des retours d'erreur structurés.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-joplin

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait cli-anything-joplin ?

Utilisez ce skill pour automatiser les workflows Joplin (carnets, notes, tâches, balises, pièces jointes, recherche, synchronisation, import/export) via un harnais avec état basé sur le binaire terminal réel joplin.

Prérequis

  • Python 3.10+
  • Binaire terminal Joplin disponible en tant que joplin
  • Optionnel : passer --profile pour cibler un profil Joplin spécifique

Installation

cd joplin/agent-harness
pip install -e .

Utilisation

# Mode REPL (par défaut)
cli-anything-joplin

# Commande unique lisible par machine
cli-anything-joplin --json notebooks list

# Projet avec état
cli-anything-joplin project new --name demo -o ./demo.joplin-harness.json
cli-anything-joplin --project ./demo.joplin-harness.json notes create "Note de réunion"

# Simulation (pas de sauvegarde automatique)
cli-anything-joplin --json --dry-run --project ./demo.joplin-harness.json notes create temp

Contrat de sortie JSON

Lorsque --json est activé, les commandes renvoient :

  • ok : booléen
  • command : identifiant de commande stable tel que notes.list, todos.toggle
  • data : charge utile de la commande
  • error : null en cas de succès, ou { type, message } en cas d'échec

Groupes de commandes

  • project : new, open, save, info, json, status
  • notebooks : list, create, use, remove
  • notes : list, create, set, get, remove, copy, move, rename
  • todos : list, create, toggle, clear, done, undone
  • tags : list, add, remove, notetags, tagnotes
  • search : run
  • sync : run (--target, --upgrade, --use-lock)
  • interop : import, export
  • config : get, set, list, export, import-file
  • attach : add
  • status : show, restore
  • backend : version, dump, keymap, geoloc, export-sync-status
  • server : status, start, stop
  • e2ee : status, target-status, decrypt, decrypt-file
  • session : status, undo, redo, history

Conseils pour l'agent

  • Privilégiez --json pour une sortie analysable.
  • Utilisez --project pour les workflows multi-étapes afin de conserver l'historique.
  • Les commandes de mutation uniques sauvegardent automatiquement le projet sauf si --dry-run est défini.
  • Le mode REPL ne sauvegarde pas automatiquement ; exécutez project save explicitement.
  • Certaines versions du CLI Joplin limitent search au mode GUI ; si vous voyez "only available in GUI mode", traitez la recherche comme étant au mieux.
  • Joplin 3.6.x peut avoir une commande version défectueuse dans les installations globales npm ; le harnais se replie sur les métadonnées du paquet installé pour backend version, en explorant le répertoire binaire résolu par lien symbolique, le dossier frère de style Windows node_modules/joplin, le dossier parent de style Unix lib/node_modules/joplin, et enfin npm root -g.
  • Les sorties stdout/stderr du backend dans les résultats de commande sont textuelles ; ne supposez pas que les avertissements ont été supprimés des corps de notes ou des exportations.
  • En cas d'échec, analysez error en utilisant le même champ command qu'en cas de succès (config.import_file, e2ee.decrypt_file). Les sous-commandes multi-mots utilisent un point unique entre le groupe et la sous-commande.

Workflow de test

# Boucle de rétroaction rapide
python -m pytest -q cli_anything/joplin/tests/test_core.py
python -m pytest -q cli_anything/joplin/tests/test_full_e2e.py::TestCLISubprocess

# Backend réel (joplin doit être dans 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

# Suite complète
python -m pytest -v --tb=no cli_anything/joplin/tests

# Vérifier le point d'entrée du script console installé
CLI_ANYTHING_FORCE_INSTALLED=1 python -m pytest -v -s cli_anything/joplin/tests/test_full_e2e.py

Référence de validation actuelle (Windows + Joplin CLI 3.6.2) :

  • python -m pytest -q cli_anything/joplin/tests/test_core.py -> 107 passed
  • python -m pytest -q cli_anything/joplin/tests -> 134 passed, 1 skipped

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

cli-anything-adguardhome

>-

cli-anything-anygen

>-

cli-anything-audacity

>-

cli-anything-blender

>-

cli-anything-browser

Browser automation CLI using DOMShell MCP server. Maps Chrome

cli-anything-calibre

>-

cli-anything-ccswitch

CLI interface for CC Switch — manage AI coding tool configurations from the terminal

cli-anything-chromadb

>-

cli-anything-cloudanalyzer

Command-line interface for CloudAnalyzer — Agent-friendly harness for CloudAnalyzer, a QA platform for mapping, localization, and perception outputs. Supports 27 commands across 8 groups: point cloud evaluation, trajectory evaluation, ground segmentation QA, config-driven quality gates, baseline evolution, processing, visualization, and interactive REPL.

cli-anything-cloudcompare

Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.

cli-anything-comfyui

>-

cli-anything-dify-workflow

Wrapper for the Dify workflow DSL CLI. Create, inspect, validate, edit, and export Dify workflow files through a CLI-Anything harness.

cli-anything-drawio

>-

cli-anything-eez-studio

Use EEZ Studio from the command line: inspect and modify native .eez-project files, edit LVGL screens/widgets, manage SCPI commands, and invoke the real EEZ Studio backend for LVGL builds.

cli-anything-eth2-quickstart

>-

cli-anything-exa

>-

cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

cli-anything-freecad

Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF.

cli-anything-gimp

>-

cli-anything-godot

>-

Skills associés