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

pi-scheduled-router

v0.1.4

Published

Switch Pi's AI provider and model based on time of day via YAML time-slot configuration.

Readme

Pi Scheduled Router

CI Publish npm version npm downloads License: MIT Pi package Trusted Publishing

Switch Pi's AI provider and model based on time of day — YAML time-slot configuration, session-start selection.

What this is

pi-scheduled-router is a Pi extension that selects an AI provider and model at session start based on the current time. Define time slots in a YAML config file and Pi picks the matching model automatically — morning light models, afternoon heavy lifters, night deep thinkers. No weighted balancing, no daily counts: just time → model.

This router is mutually exclusive with pi-weighted-model-router. Install one or the other.

Features

  • Time-slot-based provider/model selection at session start
  • YAML configuration (scheduled-router.yaml) with project-local override
  • Day-spanning slots (e.g. 22:0002:00)
  • Required default model for uncovered time ranges
  • First-match-wins slot evaluation
  • Configurable timezone
  • Install in user agent dir or per-project

Install

pi install npm:pi-scheduled-router

Pin a specific version:

pi install npm:[email protected]

Install into the current project instead of your user Pi settings:

pi install npm:pi-scheduled-router -l

Or install from GitHub:

pi install git:github.com/eiei114/pi-scheduled-router

Try it without permanently installing:

pi -e npm:pi-scheduled-router

Quick start

  1. Install the package.
  2. Create ~/.pi/scheduled-router.yaml:
version: 1
timezone: "Asia/Tokyo"
default:
  provider: deepseek
  model: deepseek-v4-pro

slots:
  - from: "10:00"
    to: "15:00"
    provider: cursor
    model: composer-2.5

  - from: "15:00"
    to: "24:00"
    provider: openai-codex
    model: gpt-5.4
  1. Start a new Pi session — the model is selected based on the current time.
  2. Run /scheduled:status to see current selection.

Validation rules: Only version, timezone, default, and slots are allowed at the top level. Each slot must have a non-zero duration (from must differ from to). Times use HH:MM with minutes 0059 and hours 0024 (24:00 only).

Overlap warnings: Slots are evaluated in order and first match wins. If a later slot is fully covered by earlier slots (for example duplicate ranges, 09:0017:00 before 13:0015:00, or covered day-spanning slots such as 22:0002:00), the config is still valid but scheduled_router_config validate, scheduled_router_config save, and /scheduled:status/tool status show a Config warnings: summary so you can reorder or split slots.

Or use /scheduled:configure to set up time slots interactively with your agent.

Commands

/scheduled:status

Show current time, matched slot, and selected model. No arguments.

/scheduled:configure

Start a guided conversation with your agent to set up or modify the router's time slots. The agent will ask questions one at a time and save the configuration via the scheduled_router_config tool.

Tools

scheduled_router_config

AI-facing tool for programmatic config management.

| Parameter | Type | Description | |---|---|---| | action | "read" \| "status" \| "validate" \| "save" | Operation to perform | | configYaml | string (optional) | Full YAML content (required for validate/save) |

Actions:

  • read — return current YAML config content
  • status — show current time, matched slot, and model
  • validate — validate YAML config without saving
  • save — confirm with user, write to disk, reselect model

Package contents

| Path | Purpose | |---|---| | extensions/ | Pi TypeScript extension entrypoint | | lib/ | Shared TypeScript helpers (types, config, matcher) | | docs/ | Optional supporting docs |

Development

npm install
npm run ci

Development flow

Vault notes -> PRD -> Issues -> implement -> ci/check -> release -> save learnings

Release

This package is set up for npm Trusted Publishing, so no NPM_TOKEN is required.

npm version patch
git push

See docs/release.md for setup details.

Security

Pi packages can execute code with your local permissions. Review extensions before installing third-party packages.

For vulnerability reporting, see SECURITY.md.

Links

  • npm: https://www.npmjs.com/package/pi-scheduled-router
  • GitHub: https://github.com/eiei114/pi-scheduled-router
  • Issues: https://github.com/eiei114/pi-scheduled-router/issues

License

MIT