Skip to content

Pulse v0.2.0 — Plugin sandbox, security, benchmarks

Choose a tag to compare

@Alex663028 Alex663028 released this 14 Jul 15:08

Pulse v0.2.0 — Plugin sandbox, security, benchmarks, diagrams

Highlights

  • Plugin sandbox — import isolation + permission whitelist. Plugins run in a restricted execution context; they declare __permissions__ in source and cannot import dangerous modules (os, subprocess, socket, ctypes, etc.) or call open/eval/exec/compile.
  • .env chmod 600 — API key files now have 0o600 permissions by default. pulse doctor and load_env() warn on overly permissive files.
  • Benchmark suitescripts/benchmark.py measures orchestrator latency, token consumption, sub-agent throughput, skill evaluation speed, and memory recall latency.
  • Mermaid diagrams — README now includes architecture flowchart, skill evaluation state machine, and multi-agent team pipeline.
  • TUI demo — Rich-rendered terminal screenshot in README.

Changes since v0.1.0

Added

  • pulse/plugins/sandbox.pyPluginSandbox, SandboxImportHook (sys.meta_path-based), parse_permissions_declaration
  • 8 permission types: tools.register, memory.read/write, skills.install, scheduler.add, fs.read/write, network
  • scripts/benchmark.py — 5 benchmarks with --quick, --json, --bench flags
  • 11 new sandbox tests (96 → 107)
  • docs/tui_demo.txt — Rich TUI rendering sample
  • 3 Mermaid diagrams in README

Improved

  • Plugin loader now parses __permissions__ from source without execution
  • Bundled plugins get full permissions; user plugins get conservative defaults
  • load_env() detects and warns about overly permissive .env files
  • Lint and test pipeline green (ruff + 107 tests)

Statistics

  • 107 tests passing
  • ~5400 lines of Python across 56 modules
  • 73% test coverage
  • 75% docstring coverage
  • Apache 2.0 license, fully self-hosted default stack

Install / Upgrade

pip install --upgrade pulse-agent
# or
pip install -e .

Quick Start

pulse init --yes --provider ollama --model qwen2.5:7b
pulse chat "write a Python sorting function"
pulse doctor

Benchmark (mock provider)

Benchmark Metric Typical
Orchestrator latency mean ~100ms
Token consumption mean/task ~24 tokens
Sub-agent throughput tasks/sec (4 workers) ~7,000
Skill evaluation mean ~0.04ms
Memory recall (FTS5) mean ~0.37ms
python scripts/benchmark.py --quick

See the README for full documentation.