{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"npm_npm-siyuan-sisyphus","slug":"npm-siyuan-sisyphus","name":"siyuan-sisyphus","type":"cli","url":"https://www.npmjs.com/package/siyuan-sisyphus","page_url":"https://unfragile.ai/npm-siyuan-sisyphus","categories":["automation"],"tags":["siyuan","siyuan-cli","mcp","cli","note-taking","obsidian-cli-alternative"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"npm_npm-siyuan-sisyphus__cap_0","uri":"capability://tool.use.integration.mcp.to.cli.command.translation.with.siyuan.api.bridging","name":"mcp-to-cli command translation with siyuan api bridging","description":"Translates Model Context Protocol (MCP) tool definitions into executable CLI subcommands that directly invoke SiYuan's HTTP API endpoints. The artifact wraps SiYuan's native MCP tools (block operations, document management, etc.) as shell-callable commands, parsing arguments into JSON payloads and routing them to the SiYuan kernel via HTTP requests. This enables programmatic note manipulation without GUI interaction.","intents":["Execute SiYuan operations from shell scripts and automation pipelines without opening the GUI","Integrate SiYuan note operations into CI/CD workflows and cron jobs","Build command-line workflows that chain multiple SiYuan operations together","Automate bulk note creation, modification, and organization tasks"],"best_for":["DevOps engineers and automation specialists using SiYuan as a backend knowledge store","Solo developers building CLI-first note automation workflows","Teams migrating from Obsidian CLI to SiYuan and needing equivalent command-line access"],"limitations":["Requires SiYuan kernel to be running and accessible via HTTP (typically localhost:6806)","No built-in authentication — relies on SiYuan's local-only network model or manual token management","Command-line argument parsing is positional/flag-based; complex nested JSON structures require shell escaping","Latency depends on SiYuan kernel responsiveness; no connection pooling or request batching"],"requires":["Node.js 14+ (npm package)","SiYuan 2.0+ with HTTP API enabled","SiYuan kernel running and listening on localhost:6806 (default) or configured endpoint","Bash/shell environment for CLI invocation"],"input_types":["CLI arguments (flags, positional parameters)","JSON strings (for block data, document content)","Block IDs, document paths, and other SiYuan identifiers"],"output_types":["JSON responses from SiYuan API","Plain text (formatted for terminal output)","Exit codes (0 for success, non-zero for errors)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-siyuan-sisyphus__cap_1","uri":"capability://automation.workflow.block.level.document.manipulation.via.cli","name":"block-level document manipulation via cli","description":"Provides granular control over SiYuan's block-based document structure through CLI commands (block append, insert, update, delete). Each command maps to SiYuan's block API endpoints, accepting parent block IDs and content payloads, then executing atomic operations on the note tree. Supports hierarchical block operations (nested lists, outlines) and preserves SiYuan's internal block metadata and relationships.","intents":["Append new blocks to existing notes from command-line scripts","Insert blocks at specific positions within a note's hierarchy","Update block content and attributes without loading the GUI","Delete blocks and manage note structure programmatically"],"best_for":["Automation engineers building data ingestion pipelines into SiYuan","Developers creating external tools that generate SiYuan notes","Users automating daily note templates and recurring block structures"],"limitations":["Block operations are atomic but not transactional — no rollback if multi-step operations fail mid-sequence","Parent block ID must be known in advance; no built-in path-based block lookup from CLI","Block content is treated as opaque strings; no validation of markdown or SiYuan-specific syntax before insertion","No batch operation support — each block operation requires a separate HTTP request"],"requires":["SiYuan 2.0+ with block API endpoints enabled","Valid parent block ID (obtainable via SiYuan's query API or UI)","JSON-formatted block data payload"],"input_types":["Parent block ID (UUID format)","Block content (markdown or plain text)","Block attributes (optional, JSON)"],"output_types":["Block ID of created/modified block","JSON metadata of the operation result","Error messages if operation fails"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-siyuan-sisyphus__cap_2","uri":"capability://automation.workflow.document.and.notebook.lifecycle.management.via.cli","name":"document and notebook lifecycle management via cli","description":"Provides commands to create, list, query, and manage SiYuan documents and notebooks from the command line. Maps to SiYuan's document API endpoints, allowing users to create new documents, organize them into notebooks, and retrieve document metadata and structure without GUI interaction. Supports querying document hierarchies and retrieving document IDs for downstream block operations.","intents":["Create new documents and notebooks programmatically as part of automation workflows","Query document structure and hierarchy to find target blocks for operations","List and organize documents across multiple notebooks from scripts","Retrieve document metadata (creation date, modification date, block count) for reporting"],"best_for":["Automation engineers setting up bulk document creation workflows","Developers building external tools that need to query SiYuan's document structure","Users automating notebook organization and document lifecycle"],"limitations":["Document queries return full metadata but no built-in filtering — complex queries require post-processing in shell","No support for document templates or bulk creation with variable substitution","Document paths are hierarchical but not directly queryable by path string — requires traversing the tree","No document versioning or history access through CLI"],"requires":["SiYuan 2.0+ with document API endpoints","Notebook ID or document ID (obtainable via list command)"],"input_types":["Notebook ID (UUID)","Document title and path","Query filters (optional, limited)"],"output_types":["Document ID and metadata (JSON)","Document tree structure (JSON)","List of documents in notebook (JSON)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-siyuan-sisyphus__cap_3","uri":"capability://search.retrieval.attribute.and.metadata.querying.via.cli","name":"attribute and metadata querying via cli","description":"Provides CLI commands to query and retrieve block and document attributes, including custom attributes, tags, and metadata stored in SiYuan's attribute system. Maps to SiYuan's attribute API endpoints, allowing users to search for blocks by attribute values, retrieve attribute definitions, and filter results based on metadata without loading the GUI. Supports both system attributes (creation date, block type) and user-defined attributes.","intents":["Find blocks matching specific attribute criteria (e.g., all blocks with tag 'urgent')","Retrieve custom attribute values for blocks to use in downstream processing","Query blocks by system attributes (type, creation date, modification date)","Build attribute-based filtering into automation workflows"],"best_for":["Developers building attribute-driven automation workflows","Users creating complex queries based on block metadata","Teams using SiYuan's attribute system for structured note organization"],"limitations":["Attribute queries return raw values; no built-in aggregation or grouping","Complex attribute filters require multiple CLI invocations or shell-based post-processing","Attribute value types are not strongly typed in CLI output — all returned as strings","No support for attribute-based sorting or ranking in the CLI layer"],"requires":["SiYuan 2.0+ with attribute API endpoints","Knowledge of attribute names and expected values"],"input_types":["Attribute name (string)","Attribute value or filter expression","Block or document ID (optional, for scoped queries)"],"output_types":["List of matching blocks with attributes (JSON)","Attribute definitions and metadata (JSON)","Raw attribute values (string or JSON)"],"categories":["search-retrieval","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-siyuan-sisyphus__cap_4","uri":"capability://search.retrieval.sql.based.block.and.document.querying.via.cli","name":"sql-based block and document querying via cli","description":"Provides a CLI interface to SiYuan's SQL query API, allowing users to execute SQL queries against SiYuan's internal database to retrieve blocks, documents, and relationships. Maps to SiYuan's SQL endpoint, accepting arbitrary SQL statements and returning structured results. Enables complex queries combining multiple tables (blocks, documents, attributes) without requiring multiple CLI invocations or shell-based post-processing.","intents":["Execute complex queries combining blocks, documents, and attributes in a single operation","Retrieve blocks matching complex criteria (e.g., blocks created in last 7 days with specific tag)","Generate reports on note structure, block counts, and metadata","Build data pipelines that extract and transform SiYuan data for external systems"],"best_for":["Data engineers building ETL pipelines from SiYuan","Developers creating analytics and reporting tools on top of SiYuan","Advanced users automating complex queries that span multiple note hierarchies"],"limitations":["SQL queries are read-only in most SiYuan configurations — no INSERT/UPDATE/DELETE support","Requires knowledge of SiYuan's internal database schema (table names, column names)","Complex queries can be slow on large note collections; no query optimization hints","SQL injection risk if user input is not properly escaped in shell invocations"],"requires":["SiYuan 2.0+ with SQL API endpoint enabled","Knowledge of SiYuan's internal database schema","Proper shell escaping for SQL statements containing special characters"],"input_types":["SQL SELECT statement (string)","Query parameters (optional, for parameterized queries)"],"output_types":["Query results as JSON array of objects","Raw SQL result set (CSV-like format)","Error messages if query is invalid"],"categories":["search-retrieval","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-siyuan-sisyphus__cap_5","uri":"capability://automation.workflow.template.based.note.generation.via.cli","name":"template-based note generation via cli","description":"Provides CLI commands to create new notes from templates, with variable substitution and dynamic content generation. Maps to SiYuan's template API endpoints, allowing users to specify a template document and provide variable values that are substituted into the template before creating the new note. Supports nested templates and conditional blocks based on variable values.","intents":["Generate daily notes, weekly reviews, or other recurring note structures from templates","Create notes with pre-populated metadata and structure based on templates","Automate note creation with dynamic content (dates, names, etc.) from scripts","Build template-driven workflows for consistent note organization"],"best_for":["Users automating daily/weekly/monthly note creation workflows","Teams using SiYuan with standardized note templates","Developers building note generation pipelines with dynamic content"],"limitations":["Template syntax is SiYuan-specific; no support for standard templating languages (Jinja2, Handlebars)","Variable substitution is simple string replacement; no complex logic or filters","No built-in support for conditional blocks or loops in templates","Template discovery requires knowing template document IDs in advance"],"requires":["SiYuan 2.0+ with template API endpoints","Existing template document in SiYuan","Template variable names and expected values"],"input_types":["Template document ID (UUID)","Variable name-value pairs (JSON or key=value format)","Target notebook and document path"],"output_types":["Created document ID and metadata","Rendered note content (markdown or SiYuan block format)","Error messages if template rendering fails"],"categories":["automation-workflow","text-generation-language"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-siyuan-sisyphus__cap_6","uri":"capability://automation.workflow.batch.block.operations.with.error.handling.and.rollback","name":"batch block operations with error handling and rollback","description":"Provides CLI commands to execute multiple block operations (create, update, delete) as a logical unit, with error handling and optional rollback on failure. Implements a transaction-like pattern where operations are queued, validated, and executed together, with the ability to roll back all changes if any operation fails. Supports dry-run mode to preview changes before committing.","intents":["Execute multiple block operations atomically without partial failures","Preview changes before committing them to the note database","Safely automate bulk note modifications with rollback capability","Build reliable data migration workflows that can recover from errors"],"best_for":["DevOps engineers automating bulk note migrations","Developers building data transformation pipelines","Users performing risky bulk operations that need rollback capability"],"limitations":["Rollback is implemented at the CLI layer, not at the SiYuan kernel level — may not be atomic if kernel crashes mid-operation","Dry-run mode requires re-executing operations; no persistent transaction log","Batch size is limited by available memory and HTTP request size limits","Rollback performance degrades with large batch sizes (O(n) rollback time)"],"requires":["SiYuan 2.0+ with block API endpoints","Batch operation definition (JSON file or CLI arguments)"],"input_types":["Batch operation definition (JSON array of block operations)","Dry-run flag (boolean)","Rollback-on-error flag (boolean)"],"output_types":["Operation results with success/failure status per operation","Rollback confirmation if rollback is executed","Detailed error messages for failed operations"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-siyuan-sisyphus__cap_7","uri":"capability://automation.workflow.webhook.and.event.driven.automation.triggers.via.cli","name":"webhook and event-driven automation triggers via cli","description":"Provides CLI commands to register webhooks and event listeners that trigger SiYuan operations in response to external events (file changes, API calls, scheduled tasks). Maps to SiYuan's webhook API, allowing users to define event handlers that execute block operations, document creation, or other SiYuan actions when events occur. Supports filtering events by type, source, and payload criteria.","intents":["Trigger SiYuan note creation or updates when external events occur (e.g., new email, GitHub issue)","Sync external data sources into SiYuan automatically via webhooks","Build event-driven automation workflows that respond to changes in other systems","Create bidirectional integrations between SiYuan and external tools"],"best_for":["DevOps engineers building event-driven automation workflows","Developers integrating SiYuan with external systems via webhooks","Users automating data ingestion from multiple sources"],"limitations":["Webhook delivery is not guaranteed — no built-in retry logic or delivery confirmation","Event filtering is limited to simple criteria; complex filtering requires custom logic","Webhook payloads are passed as-is to SiYuan operations; no payload transformation or mapping","No built-in authentication for incoming webhooks — relies on network isolation or manual token validation"],"requires":["SiYuan 2.0+ with webhook API endpoints","External event source that can send HTTP POST requests","Webhook URL and event type configuration"],"input_types":["Webhook URL (string)","Event type filter (string or regex)","Event payload (JSON)","SiYuan operation to execute (block operation, document creation, etc.)"],"output_types":["Webhook registration confirmation","Event delivery status (success/failure)","Operation results from triggered SiYuan actions"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":34,"verified":false,"data_access_risk":"high","permissions":["Node.js 14+ (npm package)","SiYuan 2.0+ with HTTP API enabled","SiYuan kernel running and listening on localhost:6806 (default) or configured endpoint","Bash/shell environment for CLI invocation","SiYuan 2.0+ with block API endpoints enabled","Valid parent block ID (obtainable via SiYuan's query API or UI)","JSON-formatted block data payload","SiYuan 2.0+ with document API endpoints","Notebook ID or document ID (obtainable via list command)","SiYuan 2.0+ with attribute API endpoints"],"failure_modes":["Requires SiYuan kernel to be running and accessible via HTTP (typically localhost:6806)","No built-in authentication — relies on SiYuan's local-only network model or manual token management","Command-line argument parsing is positional/flag-based; complex nested JSON structures require shell escaping","Latency depends on SiYuan kernel responsiveness; no connection pooling or request batching","Block operations are atomic but not transactional — no rollback if multi-step operations fail mid-sequence","Parent block ID must be known in advance; no built-in path-based block lookup from CLI","Block content is treated as opaque strings; no validation of markdown or SiYuan-specific syntax before insertion","No batch operation support — each block operation requires a separate HTTP request","Document queries return full metadata but no built-in filtering — complex queries require post-processing in shell","No support for document templates or bulk creation with variable substitution","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.41,"ecosystem":0.48000000000000004,"match_graph":0.25,"freshness":0.9,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.1,"match_graph":0.28,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:24.482Z","last_scraped_at":"2026-05-03T14:24:00.658Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=npm-siyuan-sisyphus","compare_url":"https://unfragile.ai/compare?artifact=npm-siyuan-sisyphus"}},"signature":"p8BJQhE+8JEcw2cqiZtMFxb0LVvFnPc4+x/+9TInXWG4CF6pDRXtoYEO68OuKA50rJ8iFREzZluJCS8ZPEY3DQ==","signedAt":"2026-06-16T04:51:04.809Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/npm-siyuan-sisyphus","artifact":"https://unfragile.ai/npm-siyuan-sisyphus","verify":"https://unfragile.ai/api/v1/verify?slug=npm-siyuan-sisyphus","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}