RubyGems Navigation menu

vsm 0.0.1

VSM is a small Ruby framework for building agentic systems using a Viable System Model–style architecture. It gives you Capsules: self‑contained components composed of five named systems (Operations, Coordination, Intelligence, Governance, Identity) plus an async runtime so many capsules can run concurrently. Highlights • Capsules & recursion: compose larger organisms from smaller capsules, each with its own Operations/Coordination/Intelligence/Governance/Identity. • Async runtime: fiber‑based (async gem) message bus and scheduler with “floor control” per session; great for streaming output and multi‑turn tool loops. • Tools as capsules: implement tools as first‑class capsules with JSON‑Schema descriptors, ready to expose to OpenAI‑compatible function calling; adapters for other providers (e.g., Anthropic/Gemini) fit the same interface. • Parallel execution: pluggable executors (fiber/thread today) so tool calls can run concurrently; swap in ractors/subprocess isolation later without API changes. • Observability: append‑only JSONL event ledger; simple hooks to add tracing/metrics so you can build a live “lens” UI or ship logs to your infra. • Ports (ingress/egress): clean adapters for TTY/HTTP/MCP/etc. so multiple interaction models can share the same organism. Use cases • CLI chat agents with streaming and native tool calling • Editor/CI sub‑agents (planner, tester, refactorer) composed as capsules • MCP tool hosts/clients and other integrator bots Status: early but practical. APIs may evolve as we add more provider drivers and ports, but the core Capsule/Systems abstractions should be stable.

Gemfile:
=

installieren:
=

Versionen:

  1. 0.2.0 September 17, 2025 (57,5 KB)
  2. 0.1.0 August 17, 2025 (35,5 KB)
  3. 0.0.1 August 14, 2025 (7,5 KB)

Runtime Abhängigkeiten (2):

async ~> 2.27
async-http ~> 0.90

Development Abhängigkeiten (2):

rspec ~> 3.13
rubocop ~> 1.79

Besitzer:

Pushed by:

Autoren:

  • Scott Werner

SHA 256-Prüfsumme:

=

Downloads insgesamt 729

Für diese Version 224

Version veröffentlicht:

Lizenz:

MIT

Erforderliche Ruby-Version: >= 3.2

Links: