OpenNotebook

v1.0.0

OpenNotebook 知识管理平台客户端。支持笔记本、源文件、笔记、AI搜索、转换管道等操作。首次使用请配置 OPENNOTEBOOK_BASE_URL 和 OPENNOTEBOOK_API_KEY。

0· 142·1 current·1 all-time
byazrael@iazrael

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for iazrael/opennotebook.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "OpenNotebook" (iazrael/opennotebook) from ClawHub.
Skill page: https://clawhub.ai/iazrael/opennotebook
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: OPENNOTEBOOK_BASE_URL, OPENNOTEBOOK_API_KEY
Required binaries: python3
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install opennotebook

ClawHub CLI

Package manager switcher

npx clawhub@latest install opennotebook
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description (OpenNotebook client) matches the code and required env vars (OPENNOTEBOOK_BASE_URL, OPENNOTEBOOK_API_KEY). The CLI and client code implement notebooks, sources, notes, search, transformations, models, chat, podcasts etc. Requesting an API key and base URL is proportional to that functionality.
Instruction Scope
SKILL.md instructs writing/reading a config file at ~/.openclaw/opennotebook.env and shows CLI usage that can upload arbitrary files you point it at. It also suggests adding a skill path (example: /root/.openclaw/skills/opennotebook) to sys.path and importing the client — that is an explicit instruction to execute local skill code in the agent environment, which is expected for a local client but worth noting. There are no instructions to read unrelated system files or exfiltrate data to unexpected endpoints; all network calls target the user-supplied base URL.
Install Mechanism
There is no install spec (instruction-only), so nothing is automatically downloaded. However, the code depends on the Python 'requests' package; the requirement list only names python3. opennotebook.py prints a message prompting pip install requests if missing, but the skill metadata does not declare this dependency — an operational omission rather than a covert install.
Credentials
The two required environment values (OPENNOTEBOOK_BASE_URL, OPENNOTEBOOK_API_KEY) are appropriate for an API client. Minor inconsistency: registry metadata lists no primary credential even though OPENNOTEBOOK_API_KEY is functionally the primary secret. The code reads only those env vars (and an optional timeout), not unrelated secrets.
Persistence & Privilege
always:false and no special system-wide modifications. The skill writes/reads its own config file under ~/.openclaw and does not request OS-level privileges. Autonomous invocation of the skill is allowed by default (normal for skills) but not excessive here.
Assessment
This skill is coherent with its stated purpose (an OpenNotebook client) but check a few practical items before installing: - Ensure you trust the OpenNotebook server URL you supply; the client will send the API key and any files you upload to that server. Treat OPENNOTEBOOK_API_KEY as a secret. - The skill relies on the Python requests library but the registry metadata doesn't declare that dependency; install requests (pip install requests) or ensure your environment includes it before running. - The SKILL.md example shows adding a skill folder to sys.path (example uses /root/.openclaw/skills/opennotebook). Only add the actual trusted skill path and avoid running or importing unreviewed code as root. - The CLI saves config to ~/.openclaw/opennotebook.env. If you run the CLI, it may create/modify that file — review its contents to avoid accidental credential exposure. - If you need higher assurance, review the full code in opennotebook.py and opennotebook_client.py for any behavior you don't expect (they appear straightforward), and run tests in a non-production environment first. If these notes are acceptable, the skill looks consistent and implementationally reasonable.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

📘 Clawdis
Binspython3
EnvOPENNOTEBOOK_BASE_URL, OPENNOTEBOOK_API_KEY
latestvk977p64mcgfk3tp9p64pcc2cq983fmyt
142downloads
0stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

OpenNotebook

OpenNotebook 知识管理平台客户端,支持完整的 API 操作。

所有 API 调用已封装到 opennotebook.py 脚本中。

配置

配置文件:~/.openclaw/opennotebook.env

OPENNOTEBOOK_BASE_URL=http://localhost:8000
OPENNOTEBOOK_API_KEY=your-api-key

快速开始

# 检查连接状态
python3 opennotebook.py health

# 列出笔记本
python3 opennotebook.py notebooks list

# 创建笔记本
python3 opennotebook.py notebooks create --name "我的笔记本" --description "描述"

# 上传文件作为源
python3 opennotebook.py sources upload --file /path/to/file.pdf --notebook <id>

# 搜索知识库
python3 opennotebook.py search query "机器学习" --limit 10

# 创建笔记
python3 opennotebook.py notes create --content "内容" --title "标题" --notebook <id>

可用命令

笔记本 (notebooks)

python3 opennotebook.py notebooks list [--archived] [--order-by <field>]
python3 opennotebook.py notebooks get --id <notebook_id>
python3 opennotebook.py notebooks create --name <name> [--description <desc>]
python3 opennotebook.py notebooks update --id <id> [--name <name>] [--archived]
python3 opennotebook.py notebooks delete --id <id> [--delete-sources]

源文件 (sources)

python3 opennotebook.py sources list [--notebook <id>] [--limit 50] [--offset 0]
python3 opennotebook.py sources get --id <source_id>
python3 opennotebook.py sources upload --file <path> [--notebook <id>] [--title <title>]
python3 opennotebook.py sources create-url --url <url> --notebook <id>
python3 opennotebook.py sources create-text --content <text> --notebook <id>
python3 opennotebook.py sources status --id <source_id>
python3 opennotebook.py sources retry --id <source_id>
python3 opennotebook.py sources delete --id <id>

笔记 (notes)

python3 opennotebook.py notes list [--notebook <id>]
python3 opennotebook.py notes get --id <note_id>
python3 opennotebook.py notes create --content <content> [--title <title>] [--notebook <id>]
python3 opennotebook.py notes update --id <id> [--content <content>] [--title <title>]
python3 opennotebook.py notes delete --id <id>

搜索 (search)

python3 opennotebook.py search query <query> [--limit 10] [--sources] [--notes]
python3 opennotebook.py search ask --question <question> --strategy-model <id> --answer-model <id> --final-model <id>

转换 (transformations)

python3 opennotebook.py transformations list
python3 opennotebook.py transformations get --id <id>
python3 opennotebook.py transformations execute --id <id> --input <text> --model <model_id>

模型 (models)

python3 opennotebook.py models list [--type <type>]
python3 opennotebook.py models defaults
python3 opennotebook.py models providers
python3 opennotebook.py models sync [--provider <name>]
python3 opennotebook.py models test --id <model_id>

嵌入 (embeddings)

python3 opennotebook.py embeddings embed --id <item_id> --type <source|note|insight>
python3 opennotebook.py embeddings rebuild --mode <full|incremental>
python3 opennotebook.py embeddings status --command-id <id>

聊天 (chat)

python3 opennotebook.py chat sessions
python3 opennotebook.py chat create-session
python3 opennotebook.py chat execute --session <id> --message <message>

播客 (podcasts)

python3 opennotebook.py podcasts episodes
python3 opennotebook.py podcasts get --id <episode_id>
python3 opennotebook.py podcasts audio --id <episode_id> --output <file>

在 Agent 中使用

推荐在 Python 代码中直接导入使用:

import sys
sys.path.insert(0, '/root/.openclaw/skills/opennotebook')
from opennotebook_client import OpenNotebookClient

client = OpenNotebookClient()

# 列出笔记本
notebooks = client.notebooks.list()

# 搜索
results = client.search.query("关键词")

# 上传文件
source = client.sources.upload("/path/to/file.pdf", notebook_id=notebooks[0]["id"])

API 参考

详细 API 文档请参考 api_reference.md

Comments

Loading comments...