Skip to content

v0.1.0 - initial public release

Choose a tag to compare

@Boenxia Boenxia released this 14 Oct 11:22
· 7 commits to main since this release

First release: a DSH port of OpenClaw's openclaw-notebook-tools (MIT).

Nine cell-aware Jupyter notebook tools, zero runtime dependencies, node: builtins only.

Tools

Tool Writes Purpose
notebook_create yes Create a notebook from structured cells
notebook_read no Structured read, optionally with outputs
notebook_list_cells no Cheap index: id, type, preview, counts
notebook_search no Find cells by text or regex
notebook_validate no Validate structure and report facts
notebook_edit_cell yes Replace a cell's source / type
notebook_insert_cell yes Insert a new cell at a position
notebook_delete_cell yes Delete a cell by id or index
notebook_clear_outputs yes Clear outputs (all or one cell)

Semantics

  • Atomic saves — 1-space indent, sibling temp file, fsync, rename. A killed process cannot leave a half-written notebook, and temp files never land in the system temp directory.
  • Cell ids over indexes — reads always return an id; missing ids are backfilled in memory and persisted on the next save (bumping nbformat_minor to 5).
  • Editing a code cell clears its outputs and execution_count.
  • Stale-edit guards — expected_source_sha256 / expected_file_mtime_ms fail before any write; mtime comparison tolerates sub-millisecond jitter.
  • Source on disk is a string array (one element per line, trailing newline preserved).
  • nbformat 4 only. No kernel execution, ever.

Install

dsh plugin --profile desktop add --config.minimumReleaseAge=0 <path-or-tarball>

Then restart DSH: the cordis.patch.yml row is composed at boot. The companion skill lives at skill/notebook-tools/SKILL.md — copy it into <DSH_HOME>\skills\ and DSH hot-reloads it.

Verification

61 node:test assertions plus an end-to-end pass in a live DSH session covering all nine tools, both stale guards, and output clearing on disk.

Credits

Upstream tool surface, behavioral spec, and companion skill by Kittipos Sirivongrungson (Lightbridge-KS/openclaw-notebook-tools, MIT). This port re-implements the behavior for the DSH plugin host. LICENSE carries both copyright notices.