Communitygithub.com

cli-anything-joplin

Interface de linha de comando para fluxos de trabalho do Joplin usando o backend real do terminal joplin.

O que é cli-anything-joplin?

Esta habilidade permite automatizar fluxos de trabalho do Joplin — incluindo cadernos, notas, tarefas, etiquetas, anexos, busca, sincronização e importação/exportação — por meio de um invólucro com estado que opera sobre o binário real do terminal `joplin`. Ela suporta tanto REPL interativo quanto comandos únicos (one-shot), produzindo saída JSON estruturada para facilitar o parse por agentes de IA. O usuário pode realizar desde operações simples como listar notas até fluxos de múltiplas etapas com persistência de histórico via o argumento `--project`. O sistema inclui fallbacks inteligentes para lidar com variações na instalação do Joplin (por exemplo, falha no comando `version` no npm global do Joplin 3.6.x) e fornece tratamentos específicos para casos de erro, como busca limitada ao modo GUI. Ideal para desenvolvedores que desejam integrar o Joplin em pipelines de automação ou assistentes de IA que precisam gerenciar anotações programaticamente.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que cli-anything-joplin faz?

Use esta habilidade para automatizar fluxos de trabalho de cadernos, notas, tarefas, etiquetas, anexos, busca, sincronização e importação/exportação do Joplin por meio de um invólucro com estado que utiliza o binário real do terminal joplin.

Requisitos

  • Python 3.10+
  • Binário do terminal Joplin disponível como joplin
  • Opcional: use --profile para direcionar um perfil específico do Joplin

Instalação

cd joplin/agent-harness
pip install -e .

Uso

# Modo REPL (padrão)
cli-anything-joplin

# Comando único legível por máquina
cli-anything-joplin --json notebooks list

# Projeto com estado
cli-anything-joplin project new --name demo -o ./demo.joplin-harness.json
cli-anything-joplin --project ./demo.joplin-harness.json notes create "Nota de reunião"

# Simulação (sem salvamento automático)
cli-anything-joplin --json --dry-run --project ./demo.joplin-harness.json notes create temp

Contrato de saída JSON

Quando --json está ativado, os comandos retornam:

  • ok: booleano
  • command: identificador de comando estável, como notes.list, todos.toggle
  • data: payload do comando
  • error: null em caso de sucesso, ou { type, message } em caso de falha

Grupos de comandos

  • 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

Orientações para o agente

  • Prefira --json para saída parseável.
  • Use --project ao executar fluxos de múltiplas etapas para que o histórico seja persistido.
  • Comandos de mutação únicos salvam automaticamente o projeto, a menos que --dry-run esteja definido.
  • O modo REPL não salva automaticamente; execute project save explicitamente.
  • Algumas compilações do CLI do Joplin bloqueiam a search atrás do modo GUI; se você vir "only available in GUI mode", trate a busca como melhor esforço.
  • O Joplin 3.6.x pode ter um comando version quebrado em layouts globais do npm; o invólucro recorre aos metadados do pacote instalado para backend version, sondando o diretório do binário resolvido por symlink, o node_modules/joplin irmão no estilo Windows, o lib/node_modules/joplin pai no estilo Unix e, por fim, npm root -g.
  • O stdout/stderr do backend nos resultados dos comandos são literais; não presuma que avisos foram removidos dos corpos das notas ou exportações.
  • Em caso de falha, analise error usando o mesmo campo command que no sucesso (config.import_file, e2ee.decrypt_file). Subcomandos com várias palavras usam um único ponto entre o grupo e o subcomando.

Fluxo de teste

# Ciclo de feedback rápido
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 real (joplin deve estar no 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

# Suíte completa
python -m pytest -v --tb=no cli_anything/joplin/tests

# Verificar o ponto de entrada do script de console instalado
CLI_ANYTHING_FORCE_INSTALLED=1 python -m pytest -v -s cli_anything/joplin/tests/test_full_e2e.py

Linha de base de validação atual (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

>-

Habilidades Relacionadas