@anjieyang/uncommon-route 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -4
- package/openclaw.plugin.json +2 -2
- package/package.json +2 -2
- package/src/index.js +3 -3
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# @anjieyang/uncommon-route
|
|
2
2
|
|
|
3
|
-
**OpenClaw plugin for [UncommonRoute](https://github.com/anjieyang/UncommonRoute)
|
|
3
|
+
**OpenClaw plugin for [UncommonRoute](https://github.com/anjieyang/UncommonRoute)**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The local LLM router that cuts premium-model spend with smart routing.
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
@@ -15,7 +15,7 @@ That's it. The plugin auto-installs the Python package, starts the proxy, and re
|
|
|
15
15
|
|
|
16
16
|
## What It Does
|
|
17
17
|
|
|
18
|
-
Routes every LLM request to the **cheapest model that can handle it** — simple questions go to budget models, complex tasks go to frontier models.
|
|
18
|
+
Routes every LLM request to the **cheapest model that can handle it** — simple questions go to budget models, complex tasks go to frontier models. In the repo's real coding-session simulation, UncommonRoute cuts cost by **67%** vs always using Claude Opus while retaining **93.5%** quality.
|
|
19
19
|
|
|
20
20
|
- **39-feature cascade classifier** — structural, unicode, and keyword analysis
|
|
21
21
|
- **Step-aware agentic routing** — different models for different steps in a workflow
|
|
@@ -53,7 +53,6 @@ Works with any OpenAI-compatible API:
|
|
|
53
53
|
| Provider | URL |
|
|
54
54
|
|---|---|
|
|
55
55
|
| [Commonstack](https://commonstack.ai) | `https://api.commonstack.ai/v1` |
|
|
56
|
-
| [OpenRouter](https://openrouter.ai) | `https://openrouter.ai/api/v1` |
|
|
57
56
|
| OpenAI | `https://api.openai.com/v1` |
|
|
58
57
|
| Local (Ollama) | `http://127.0.0.1:11434/v1` |
|
|
59
58
|
|
package/openclaw.plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "uncommon-route",
|
|
3
3
|
"name": "UncommonRoute",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "Local LLM router that cuts premium-model spend with smart routing, sessions, and spend control",
|
|
5
5
|
"configSchema": {
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"upstream": {
|
|
38
38
|
"label": "Upstream API URL",
|
|
39
|
-
"placeholder": "https://
|
|
39
|
+
"placeholder": "https://api.commonstack.ai/v1"
|
|
40
40
|
},
|
|
41
41
|
"pythonPath": {
|
|
42
42
|
"label": "Python Path",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anjieyang/uncommon-route",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"description": "OpenClaw plugin
|
|
3
|
+
"version": "0.2.4",
|
|
4
|
+
"description": "OpenClaw plugin for UncommonRoute, the local LLM router that cuts premium-model spend",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
|
7
7
|
"openclaw": {
|
package/src/index.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { spawn, execSync } from "node:child_process";
|
|
17
17
|
import { setTimeout as sleep } from "node:timers/promises";
|
|
18
18
|
|
|
19
|
-
const VERSION = "0.2.
|
|
19
|
+
const VERSION = "0.2.4";
|
|
20
20
|
const DEFAULT_PORT = 8403;
|
|
21
21
|
const DEFAULT_UPSTREAM = "";
|
|
22
22
|
const HEALTH_TIMEOUT_MS = 15_000;
|
|
@@ -190,7 +190,7 @@ let pyProc = null;
|
|
|
190
190
|
const plugin = {
|
|
191
191
|
id: "uncommon-route",
|
|
192
192
|
name: "UncommonRoute",
|
|
193
|
-
description: "
|
|
193
|
+
description: "Local LLM router plugin that cuts premium-model spend with smart routing",
|
|
194
194
|
version: VERSION,
|
|
195
195
|
|
|
196
196
|
register(api) {
|
|
@@ -209,7 +209,7 @@ const plugin = {
|
|
|
209
209
|
|
|
210
210
|
if (!upstream) {
|
|
211
211
|
api.logger.warn("UncommonRoute: No upstream configured. Set UNCOMMON_ROUTE_UPSTREAM or configure 'upstream' in plugin config.");
|
|
212
|
-
api.logger.warn(" Example: UNCOMMON_ROUTE_UPSTREAM=https://
|
|
212
|
+
api.logger.warn(" Example: UNCOMMON_ROUTE_UPSTREAM=https://api.commonstack.ai/v1 UNCOMMON_ROUTE_API_KEY=csk-...");
|
|
213
213
|
}
|
|
214
214
|
|
|
215
215
|
// 1. Register provider immediately (sync, models available right away)
|