OpenPencil Interactive Vector Whiteboard & Canvas Bridge

@zseven-w/openpencil · v1.2.4

A bidirectional vector whiteboard and visual thinking bridge for DeepSeek Harness. Compiles prompts into native Excalidraw schemas with auto-layout and hand-drawn rendering.

Vector-CanvasExcalidrawWhiteboardDiagram-Gen
GitHub Stars
30 K+
+12.4% this month
Monthly Downloads
113 K+
Monthly registry pulls
Reach Score
98.1/ 100
Top Tier Ecosystem
Runtime
Cordis v3+
Node 18+ / Bun / Deno

Installation & Integration

CLI one-click launch, package managers, and Cordis integration

bash
manager:
$ pnpm add @zseven-w/openpencil

Architecture

OpenPencil Canvas provides DeepSeek Harness agents with an infinite visual thinking surface. Linear text is poorly suited for depicting non-linear brainstorming, complex entity relations, or branching workflow maps. This plugin implements native Excalidraw schema compilation inside Cordis. Using force-directed layout algorithms and ergonomic styling presets, agents compose charming hand-drawn diagrams, user journey maps, and technical system flows that remain fully editable in any modern vector canvas.

Architectural Principles & Constraints

01
Strict Type Isolation

Guaranteed by TypeScript compile-time contracts, inter-plugin event bus calls enjoy zero-drift safety.

02
Sub-Millisecond Hot Reload

Supports dynamic runtime mounting and graceful unloading without restarting the primary host process.

03
Deterministic State Machine

Embeds multi-phase execution lifecycle guards, preventing context loss during long-horizon reasoning.

04
Zero Native Build Dependencies

Designed for lightweight cross-platform environments, booting instantly across Node.js, Bun, and Deno.

Core Features

01
Native Excalidraw Compatibility: 100% compliant with standard Excalidraw schemas and editors
02
Collision-Free Auto-Layout: Automatically spaces nodes and routes non-intersecting curved arrows
03
Charming Hand-Drawn Aesthetic: Produces polished sketches with organic stroke roughness and palettes
04
High-DPI SVG/PNG Export: Automatically compiles vector graphics ready for documentation embeds

Core Workflow

01

Concept Graph Extraction

Decomposes business concepts into discrete canvas nodes, arrows, and groups.

02

Force-Directed Layout

Runs force-directed algorithms to ensure even spacing and avoid overlapping edges.

03

Vector Element Styling

Applies hand-drawn rough styling, harmonious color palettes, and arrowheads.

04

Canvas Export & Sync

Exports native `.excalidraw` files and vector SVGs for browser editing.

Configuration Parameters Reference (YAML / JSON)

ParameterTypeDefaultDescription
roughnessnumber1Hand-drawn stroke roughness (0-2)
defaultThemestringlightDefault canvas color theme
autoExportSvgbooleantrueAutomatically compile companion SVG file

Use Cases

Enterprise Production Agent

Relies on microkernel lifecycle guards and fault-tolerant state machines for continuous reliability.

SWE-bench Benchmark Evaluation

Native integration with SWE-bench workflows, automatically capturing diffs and verification metrics.

Autonomous Code Refactoring

Separates reasoning from tool actions to independently locate and refactor multi-file codebases.

Cross-Tool Workflow Automation

Safely orchestrates events across sandboxes to seamlessly link enterprise developer tooling.

Best Practices

01
Sandbox Permission Guard

Strictly isolate sub-process calls and network scope; deploy within Docker containers in production.

02
Exponential Backoff Retries

Configure adaptive exponential retries with strict timeouts to mitigate upstream model rate limits.

03
Session State Checkpointing

Persist state machine snapshots to survive hardware interruptions and resume instantly without loss.

04
Full Trajectory Audit Logs

Enable full trace logging, aggregating reasoning thought streams and tool I/O into your observability hub.

FAQ

Q1:How to handle timeouts in long-running autonomous tasks?

Increase the timeout parameter inside your YAML configuration and dispatch periodic heartbeat signals across the Cordis event bus. For long-running tool execution and model reasoning, configure persistent session snapshotting so suspended tasks can safely resume their exact context after interruptions, preventing the kernel from recycling active agent sessions prematurely.

Q2:How to capture and stream the model reasoning thought process?

The harness runtime natively provides end-to-end streaming hooks while its state machine automatically intercepts and strips <think> reasoning tags from model responses. Subscribe directly to the onThink event listener to consume live reasoning token streams in real-time, delivering typewriter animation to the user interface while persisting full trajectories for audit compliance.

Q3:How to resolve dependency conflicts across multiple plugins?

Cordis microkernel uses directed acyclic graph topological sorting to dynamically resolve plugin dependencies. When shared services or runtime versions conflict, assign distinct isolated namespaces at the application entrypoint. Leveraging context injection alongside lazy activation ensures dependencies load strictly on-demand when tools are triggered, maintaining system stability and preventing memory bloat.

Q4:How to enforce permissions and sandbox isolation in production?

Combine isolated container sandboxing with fine-grained capability checks to prevent plugins from accessing sensitive files or unauthorized external networks. Enforce explicit runtime system call whitelisting through the microkernel, executing all third-party tool scripts inside isolated ephemeral containers to block arbitrary code execution and eliminate security privilege escalation risks entirely.

Recommended Ecosystem Plugins

Explore related Cordis extensions designed to work synergistically