pi-scheduled-router
Switch Pi's AI provider and model based on time of day via YAML time-slot configuration.
Package details
Install pi-scheduled-router from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-scheduled-router- Package
pi-scheduled-router- Version
0.1.0- Published
- Jun 6, 2026
- Downloads
- not available
- Author
- eiei114
- License
- MIT
- Types
- extension
- Size
- 27.6 KB
- Dependencies
- 1 dependency · 4 peers
Pi manifest JSON
{
"extensions": [
"./extensions"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Pi Scheduled Router
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:00→02: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:pi-scheduled-router@0.1.0
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
- Install the package.
- 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
- Start a new Pi session — the model is selected based on the current time.
- Run
/scheduled:statusto see current selection.
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 contentstatus— show current time, matched slot, and modelvalidate— validate YAML config without savingsave— 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