← Back to Skills Marketplace
eloklam

Siyuan Agent

by Yi Lok Enoch Lam · GitHub ↗ · v2.0.6 · MIT-0
cross-platform ⚠ suspicious
141
Downloads
0
Stars
0
Active Installs
10
Versions
Install in OpenClaw
/install siyuan-agent
Description
Interact with SiYuan notes via direct HTTP API. Use when reading, writing, searching, or managing SiYuan blocks, documents, notebooks, attributes, assets, or...
Usage Guidance
This skill appears to implement exactly what it claims (a SiYuan HTTP API CLI) and enforces reasonable write and SQL restrictions, but the package metadata omitted the required SIYUAN_TOKEN. Before installing: (1) Confirm you set SIYUAN_TOKEN — the tool will exit without it; (2) Keep SIYUAN_BASE at the default localhost unless you intentionally want to point it elsewhere (setting it to a remote URL will send your token and data to that host); (3) Inspect the small JS files (they're included and readable) to verify no unexpected network targets; (4) Prefer minimizing agent autonomy or restricting the skill's use until you trust the publisher; and (5) Verify the publisher/slug/source — the registry metadata inconsistency could be a packaging error, but treat it as a warning.
Capability Analysis
Type: OpenClaw Skill Name: siyuan-agent Version: 2.0.6 The siyuan-agent skill is a legitimate tool for interacting with the SiYuan note-taking application via its HTTP API. It implements several safety features, including a mandatory 'write=true' flag for destructive operations, a blocklist of sensitive notebook management endpoints (FORBIDDEN_PATHS in siyuan.js), and basic SQL validation to restrict queries to SELECT statements. The code is transparent, uses native fetch without external dependencies, and only communicates with the user-configured SIYUAN_BASE endpoint.
Capability Assessment
Purpose & Capability
Name/description (SiYuan HTTP API client) matches the code and SKILL.md: the tool needs a SiYuan API token and optionally a base URL. However the registry metadata lists no required env vars while SKILL.md and lib/api.js require SIYUAN_TOKEN (primaryCredential). This metadata omission is an incoherence that could mislead users about credential requirements.
Instruction Scope
SKILL.md instructions are specific and align with the implemented commands. The skill enforces SELECT-only for sql, requires write=true for write operations, and hard-blocks certain notebook-management paths. The runtime instructions do not request unrelated files or credentials.
Install Mechanism
No install spec (instruction-only plus small JS files included). There are no external downloads or package installs — low install risk.
Credentials
The only credential used is SIYUAN_TOKEN (appropriate for a SiYuan API client). But the registry metadata failing to declare this required env var is a red flag. Additionally SIYUAN_BASE (default localhost) is user-configurable; if set to a remote host it would cause the skill to send the token and data to that host, enabling token exfiltration if misconfigured or maliciously set.
Persistence & Privilege
Skill does not request always:true and does not modify other skills or system configs. Autonomous invocation is allowed (platform default) but not combined with elevated privileges in this package.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install siyuan-agent
  3. After installation, invoke the skill by name or use /siyuan-agent
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v2.0.6
- Added author field ("eloklam") to skill metadata. - No functional or command changes; documentation improvement only.
v2.0.5
- Documentation reformatted in SKILL.md for improved clarity and consistency. - No changes to functionality or commands—behavior remains the same.
v2.0.4
- Removed SIYUAN_BASE from the required environment variables. - Only SIYUAN_TOKEN is now required for setup and authentication.
v2.0.3
- Added a metadata section to SKILL.md, declaring required environment variables (SIYUAN_TOKEN, SIYUAN_BASE) and primary credential. - No changes to commands, usage, or behavior; documentation update only.
v2.0.2
**Major simplification and refactor: direct HTTP API, no dependencies** - Dropped opencli dependency and adapter layer; now uses only direct HTTP API. - New CLI (`siyuan.js`) with clear `read`, `write`, and `call` commands. - All write commands require `write=true` flag for protection. - SQL command limited strictly to SELECT statements for safety. - Notebook management API paths are hard-blocked for safety. - Updated documentation for setup, commands, and usage examples.
v2.0.1
Version 2.0.1 - Internal changes in `siyuan.js` (see repo for details) - No changes to user-facing features, commands, or documentation - All usage instructions, command references, and operational notes remain the same
v2.0.0
README improvements — install guide, CLI usage, agent-first
v1.0.2
fix: util/client.js respects SIYUAN_BASE; isWritePath covers all read-only endpoints; package.json declares SIYUAN_TOKEN + SIYUAN_BASE as required env vars
v1.0.1
fix: README — opencli adapter, not MCP server
v1.0.0
Initial release
Metadata
Slug siyuan-agent
Version 2.0.6
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 10
Frequently Asked Questions

What is Siyuan Agent?

Interact with SiYuan notes via direct HTTP API. Use when reading, writing, searching, or managing SiYuan blocks, documents, notebooks, attributes, assets, or... It is an AI Agent Skill for Claude Code / OpenClaw, with 141 downloads so far.

How do I install Siyuan Agent?

Run "/install siyuan-agent" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Siyuan Agent free?

Yes, Siyuan Agent is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Siyuan Agent support?

Siyuan Agent is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Siyuan Agent?

It is built and maintained by Yi Lok Enoch Lam (@eloklam); the current version is v2.0.6.

💬 Comments