npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

rightorchestrator

v1.0.2

Published

Zero-dependency right-click floating HUD and LLM tool calling agent console for local MLX models

Readme

RightOrchestrator

An unintrusive, private, and context-aware floating HUD and client console for agentic web applications.

RightOrchestrator intercepts right-click gestures on non-editable viewport space to summon a movable, glassmorphic control console. It tracks user focus across normal and Shadow DOM elements (e.g., LitElement, custom web components) and routes contextually optimized inputs to local MLX models or any OpenAI-compatible API gateway.


Key Features

  • Unintrusive HUD Console: Summoned dynamically via right-click. Designed to stay out of the way of standard browser inputs, copy-paste workflows, and default context menus.
  • Privacy First & Local Inference: Connects directly to local MLX services, local gateways, or private model nodes, ensuring all prompt engineering and agent commands remain entirely client-side/local.
  • Shadow-DOM Focus Tracker: Automatically preserves target element focus (inputs, textareas, and contenteditables) across shadow-roots, allowing seamless prompt injection into custom elements.
  • Draggable Glassmorphic UI: High-contrast, minimalist brutalist aesthetics with hard 0px corners, HSL tailored variables, and canvas wave visualizers.
  • Custom Case Presets & Rules: Fully configurable preset banks, custom prompt instructions, and injection target mapping to adapt to the active app workspace or path.
  • Client-Side Tool Call Loop (onToolCall): Wire local JS actions or browser capabilities to your agentic flow. If the backend model returns a structured JSON tool call, RightOrchestrator executes it on the client and feeds the output back into the generation loop.

Installation

npm install rightorchestrator

Quick Start

Import and initialize the orchestrator:

import { initRightOrchestration } from 'rightorchestrator';

initRightOrchestration({
  gatewayUrl: 'http://127.0.0.1:8090',
  model: 'text/qwen2.5-coder-7b-instruct-4bit',
  theme: 'brutalist-light',
  
  // Custom case resolution
  detectCase: () => {
    return window.location.pathname.includes('/editor') ? 'editor' : 'general';
  },

  // Custom presets per case
  presets: {
    editor: [
      { label: "Refine Code", prompt: "Optimize this javascript snippet for efficiency." },
      { label: "Add Types", prompt: "Convert this plain object to a typescript interface." }
    ],
    general: [
      { label: "Summary", prompt: "Summarize this page in three key points." }
    ]
  },

  // Callback to execute client-side tools requested by the model
  onToolCall: async (name, args) => {
    if (name === 'fetch_document') {
      const doc = await fetch(`/api/docs/${args.id}`);
      return doc.text();
    }
    return null;
  }
});

Configuration API

The initRightOrchestration function accepts an OrchestratorOptions configuration object:

export interface Preset {
  label: string;
  prompt: string;
}

export interface OrchestratorOptions {
  // Upstream Gateway configuration
  gatewayUrl?: string; // Default: 'http://127.0.0.1:8090'
  model?: string;       // Default: 'text/qwen2.5-coder-7b-instruct-4bit'
  theme?: 'dark' | 'brutalist-light' | 'custom'; // Default: 'brutalist-light'

  // Presets mapping per case
  presets?: Record<string, Preset[]>;

  // System instructions mapping per case (or dynamic callback)
  systemInstructions?: Record<string, string> | ((caseName: string) => string);

  // Targets to apply responses to. Supports custom mappings or callbacks returning HTML Elements
  applyTargets?: Record<string, string | string[]> | ((caseName: string, content: string) => HTMLElement | HTMLElement[] | null);

  // Callback to determine the current case name
  detectCase?: () => string;

  // Intercept tool outputs and return data to resume generation
  onToolCall?: (name: string, args: any) => Promise<any>;
}

Styling Integration

RightOrchestrator uses zero external stylesheet dependencies. CSS styling rules are automatically injected into the document head at runtime, ensuring a frictionless setup. You can customize the look and feel by targeting class variables or overriding the theme selector.


License

MIT License. Free for open source and private deployments.