← 返回 Skills 市场
austindixson

Friday Router

作者 austindixson · GitHub ↗ · v1.6.2
cross-platform ✓ 安全检测通过
796
总下载
0
收藏
0
当前安装
5
版本数
在 OpenClaw 中安装
/install friday-router
功能描述
Austin's intelligent model router with fixed scoring, his preferred models, and OpenClaw integration
使用说明 (SKILL.md)

IntentRouter

Your AI's Smart Traffic Director: Precisely Matching Your OpenClaw Tasks to the Perfect LLM.

v1.7.0 — Security-focused release. COMPLEX tier, absolute paths. Tested and working with OpenClaw TUI delegation. Removed gateway auth secret exposure and gateway management for improved security.

IntentRouter analyzes your tasks and directs them to the best LLM—MiniMax 2.5 for code, Kimi k2.5 for creative, Grok Fast for research. Eliminate guesswork; route with purpose.

Security improvements in v1.7.0: Removed gateway auth token/password from router output. Gateway management removed - use gateway-guard skill separately. FACEPALM integration removed - use FACEPALM skill separately.

Requirements: OpenRouter — All model IDs use the openrouter/... prefix. Configure OpenClaw with an OpenRouter API key so one auth profile covers every tier.

Config access: This skill reads ONLY its own config.json file (located in the skill directory) for model configuration and routing rules. It does NOT read openclaw.json, does NOT access gateway tokens/passwords, and does NOT perform any gateway management operations. Router output contains only: task, model, sessionTarget, and optional label — no secrets or credentials.

Default / orchestrator model: Gemini 2.5 Flash (openrouter/google/gemini-2.5-flash) — fast, cheap, reliable at tool-calling. The router delegates tasks to tier-specific sub-agents (Kimi for creative, MiniMax 2.5 for code, etc.).

Orchestrator flow (mandatory for task requests)

When you are the main agent (Gemini 2.5 Flash) and the user gives you a task (code, research, write, create, design, poem, story, fix, build, etc.), you must delegate it. You do not perform the task yourself; a sub-agent does.

Steps (all three required):

  1. Run IntentRouter to get spawn params:

    python3 workspace/skills/friday-router/scripts/router.py spawn --json "\x3Cuser message>"
    

    Example output: {"task":"write a poem about Mai","model":"openrouter/moonshotai/kimi-k2.5","sessionTarget":"isolated"}

  2. Immediately call sessions_spawn with the router's output. Use the exact model from the JSON. Example:

    sessions_spawn(task="write a poem about Mai", model="openrouter/moonshotai/kimi-k2.5", sessionTarget="isolated")
    

    Do not change the model value. If the router said openrouter/moonshotai/kimi-k2.5, pass exactly that.

  3. Forward the sub-agent's reply to the user. That reply IS the task output. Say "Using: Kimi k2.5" (the model that actually ran). Never say "Using: Claude Sonnet 4" or any model that didn't run. Output hygiene: If the sub-agent result contains internal text ("A subagent task … completed", "Findings:", "Stats:", "sessionKey", "Summarize this naturally"), strip that block and show only the final user-facing content to the user.

If sessions_spawn returns an error (e.g. device_token_mismatch): tell the user delegation failed and suggest checking gateway status or using the gateway-guard skill. Do not do the task yourself.

Hard-stop rule: If sessions_spawn fails or is skipped, return only the delegation error and next-step fix. Do not write the requested output directly.

No-classify execution rule: For real user tasks, do not execute via classify. classify is diagnostics only. Execution must use spawn --json -> sessions_spawn.

Label gate: Only print Using: \x3Cmodel> after successful spawn. If no successful spawn, do not print a Using: label.

Output hygiene: Never return internal orchestration metadata to the user (no session keys/IDs, transcript paths, runtime/token stats, or internal "summarize this" instructions). Forward only clean user-facing content.

Exception: Meta-questions ("what model are you?", "how does routing work?") you answer yourself.

Security note: This skill does NOT expose gateway auth secrets (tokens/passwords) in its output. Gateway management functionality has been removed. Use the separate gateway-guard skill if gateway auth management is needed.

Model Selection (Austin's Prefs)

Use Case Primary (OpenRouter) Fallback
Default / orchestrator Gemini 2.5 Flash
Fast/cheap Gemini 2.5 Flash Gemini 1.5 Flash, Haiku
Reasoning GLM-5 Minimax 2.5
Creative/Frontend Kimi k2.5
Research Grok Fast
Code/Engineering MiniMax 2.5 Qwen2.5-Coder
Quality/Complex GLM 4.7 Flash GLM 4.7, Sonnet 4, GPT-4o
Vision/Images GPT-4o

All model IDs use openrouter/ prefix (e.g. openrouter/moonshotai/kimi-k2.5).

Usage

CLI

python scripts/router.py default                          # Show default model
python scripts/router.py classify "fix lint errors"        # Classify → tier + model
python scripts/router.py spawn --json "write a poem"       # JSON for sessions_spawn (no gateway secrets)
python scripts/router.py models                            # List all models

Note: Gateway auth management is not included. Use gateway-guard skill separately if needed.

sessions_spawn examples

Creative task (poem):

router output: {"task":"write a poem","model":"openrouter/moonshotai/kimi-k2.5","sessionTarget":"isolated"}
→ sessions_spawn(task="write a poem", model="openrouter/moonshotai/kimi-k2.5", sessionTarget="isolated")

Code task (bug fix):

router output: {"task":"fix the login bug","model":"openrouter/minimax/minimax-m2.5","sessionTarget":"isolated"}
→ sessions_spawn(task="fix the login bug", model="openrouter/minimax/minimax-m2.5", sessionTarget="isolated")

Research task:

router output: {"task":"research best LLMs","model":"openrouter/x-ai/grok-4.1-fast","sessionTarget":"isolated"}
→ sessions_spawn(task="research best LLMs", model="openrouter/x-ai/grok-4.1-fast", sessionTarget="isolated")

Tier Detection

  • FAST: check, get, list, show, status, monitor, fetch, simple
  • REASONING: prove, logic, analyze, derive, math, step by step
  • CREATIVE: creative, write, story, design, UI, UX, frontend, website (website/frontend/landing projects → Kimi k2.5 only; do not use CODE tier)
  • RESEARCH: research, find, search, lookup, web, information
  • CODE: code, function, debug, fix, implement, refactor, test, React, JWT (code/API only; not website builds)
  • QUALITY: complex, architecture, design, system, comprehensive
  • VISION: image, picture, photo, screenshot, visual

What Changed from Original

Bug Fix
Simple indicators inverted (high match = complex) Now correctly: high simple keyword match = FAST tier
Agentic tasks not bumping tier Multi-step tasks now properly bump to CODE tier
Vision tasks misclassified Vision keywords now take priority over other classifications
Code keywords not detected Added React, JWT, API, and other common code terms
Confidence always low Now varies appropriately based on keyword match strength
安全使用建议
This skill appears to do only model routing and is internally consistent, but before installing you should: (1) inspect the complete scripts/router.py (the provided listing was truncated) to confirm it truly only reads its own config.json and makes no unexpected network calls, shell execs, or reads of global OpenClaw config files; (2) review config.json to ensure model IDs point to trusted providers (OpenRouter entries are expected); (3) confirm your OpenClaw environment already has the OpenRouter API key configured (the skill relies on platform-level credentials rather than asking for them); and (4) note the SKILL.md enforces strict delegation (the main agent must call sessions_spawn and not answer directly), so be comfortable with that runtime behavior. If you want absolute assurance, request a full untruncated copy of router.py and grep for any reads of files outside the skill directory or calls that could leak data.
功能分析
Type: OpenClaw Skill Name: friday-router Version: 1.6.2 The skill bundle is designed for intelligent LLM routing and explicitly prioritizes security. The `SKILL.md` instructions guide the AI agent to delegate tasks and enforce strict output hygiene, preventing direct task execution or exposure of internal metadata. The `scripts/router.py` code confirms the removal of gateway authentication secret handling and other management functionalities, as claimed in the documentation. User input is safely processed internally for classification and then embedded as a string within a JSON object, preventing shell or JSON injection from the script itself. No evidence of data exfiltration, malicious execution, persistence, or obfuscation was found. Version inconsistencies across files are minor and not security-related.
能力评估
Purpose & Capability
Name/description (model router/orchestrator) aligns with what is present: a routing CLI/library and a local config.json containing model IDs and routing rules. The skill declares it uses OpenRouter model IDs and expects an OpenRouter API key to be configured at the platform level (OpenClaw) — this is consistent with a router that delegates to models via the platform's sessions_spawn API. There are some cosmetic name variants in files (Friday Router, IntentRouter, OpenRouterRouter / Codename: Centipede) but these are presentation differences and do not affect capability.
Instruction Scope
SKILL.md strictly instructs the agent to call the included router script to produce JSON spawn parameters and then to call sessions_spawn with the exact model ID; it also enforces not doing the task itself and not exposing gateway secrets. That scope is narrow and consistent with a router. Minor inconsistencies in example paths (python scripts/router.py vs python workspace/skills/friday-router/scripts/router.py) and truncated code in the provided listing prevent a full line-by-line confirmation; you should review the complete router.py to ensure no hidden file reads, network endpoints, or credential accesses beyond the claimed config.json. The SKILL.md’s hard stop on doing the task locally is unusual (behavioral constraint) but coherent with orchestration.
Install Mechanism
No install spec; instruction-only plus a local script file. No downloads, package installs, or archive extraction are present in the manifest — lowest install risk.
Credentials
The skill declares no required environment variables or credentials. It expects the broader OpenClaw environment to have an OpenRouter API key configured (reasonable for a router that delegates to OpenRouter model IDs). The skill also documents that it reads only its own config.json. There are no unrelated secret/env demands in metadata or SKILL.md.
Persistence & Privilege
always is false and disable-model-invocation is false (normal). The skill does not request persistent system-wide privileges or to modify other skills. It appears self-contained and not privileged.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install friday-router
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /friday-router 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.6.2
**v1.7.0 — Security-focused major update.** - Removes all gateway authentication secret exposure from router output. - Removes in-skill gateway management and gateway_guard integration; refer users to the separate gateway-guard skill. - No longer handles or exposes gateway tokens/passwords; router outputs only safe parameters. - Standalone routing: Reads only its own config, not openclaw.json or global secrets. - Minor: Adds REVIEW-name-conformity.md; removes old scripts/gateway_guard.py. - Updates documentation and branding for improved clarity and security.
v1.6.1
friday-router 1.6.1 - No file changes detected in this release. - No updates to documentation or behavior; all functionality remains as in version 1.4.0.
v1.6.0
v1.6.0: Added troubleshooting loop detection and FACEPALM integration
v1.0.1
friday-router 1.2.0 - Default model is now OpenRouter Claude Sonnet 4 (capable by default); only down-routes to cheaper models for clearly simple tasks. - Introduced mandatory orchestrator flow: main agent must delegate user task requests to the router and sub-agents, not perform the work directly. - Added clear CLI and JSON interface for obtaining model spawn parameters. - Updated model mapping: fast tier uses Gemini 2.5 Flash, with detailed model tiers and fallback options. - Clarified that meta-questions are answered by the main agent, other tasks are delegated.
v1.0.0
friday-router v1.0.0 - Initial release, customized for Austin's preferences and fixed key bugs from the original intelligent-router. - Fixes bug where simple/complex task indicators were inverted; simple now maps to FAST tier correctly. - Multi-step/agentic tasks now properly bump classification to CODE tier. - Vision tasks are prioritized and correctly classified, taking precedence over other types. - Expanded code keyword detection (added React, JWT, API, etc.). - Confidence scores now vary appropriately by keyword match strength. - Model recommendations are customized for Austin's use cases, with new primary and fallback selections. - Includes CLI and code usage instructions and detailed tier criteria.
元数据
Slug friday-router
版本 1.6.2
许可证
累计安装 0
当前安装数 0
历史版本数 5
常见问题

Friday Router 是什么?

Austin's intelligent model router with fixed scoring, his preferred models, and OpenClaw integration. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 796 次。

如何安装 Friday Router?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install friday-router」即可一键安装,无需额外配置。

Friday Router 是免费的吗?

是的,Friday Router 完全免费(开源免费),可自由下载、安装和使用。

Friday Router 支持哪些平台?

Friday Router 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Friday Router?

由 austindixson(@austindixson)开发并维护,当前版本 v1.6.2。

💬 留言讨论