pi-freeflow 1.23.1 → 1.24.0
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/CHANGELOG.md +32 -0
- package/README.md +4 -4
- package/package.json +1 -1
- package/src/catalog.ts +417 -418
- package/src/cline-accounts.ts +891 -549
- package/src/index.ts +356 -356
- package/src/models.ts +555 -563
- package/src/proxy.ts +49 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.24.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Cline requests now identify as the Cline desktop app. That client identity is what makes Cline advertise its sixth free model, Kimi K3, so it joins the model list next to the four Cline models you already had.
|
|
8
|
+
|
|
9
|
+
Kimi K3 (`cline-free/kimi-k3`) has a 1M-token context window, reads images, and takes the same `low` / `high` / `max` thinking depths as the other flash-class Cline models. It uses the login you already saved with `/freeflow cline login` and the same daily free quota, so a request that hits the limit on one saved login rolls to the next exactly like every other Cline model. Nothing about the other providers changes.
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Cline logins are used more sensibly, and the message you get when they are all out matches what actually happened.
|
|
14
|
+
|
|
15
|
+
A saved login that has used up its daily free allowance for a model is now skipped instead of being retried on every request, so a turn goes straight to a login that still has allowance for that model. A login that starts working again is picked back up on its own.
|
|
16
|
+
|
|
17
|
+
When every saved login is out for that model, the answer now says so: it names how many logins were tried, when the nearest reset is, and that switching models or adding another login (`/freeflow cline login`) is what helps — instead of implying that a single login was at fault.
|
|
18
|
+
|
|
19
|
+
- Kilo models work again. Kilo's gateway now rejects the placeholder credential the proxy used to send and accepts the same request without one, which broke every Kilo-model turn with a 401 "invalid token" error. The proxy no longer sends a credential for Kilo, so its models answer again instead of failing with a 401.
|
|
20
|
+
- Model selection can no longer lose models the extension ships with. When the saved copy of the live catalog was newer than the built-in list and the live refresh could not run, the provider used to be re-registered from that saved copy alone, so a model added in a later update could drop out of model selection until the app was restarted. The saved copy is now always overlaid on the built-in list, so no update can lose models that way.
|
|
21
|
+
- Removed Union Alpha from the model list. It stopped being served upstream: every request is rejected as an unsupported model, on both the chat and the Anthropic Messages paths, so picking it only produced an error. It is gone from model selection and cannot come back through a stale catalog cache. The Anthropic Messages request path itself stays supported for future models.
|
|
22
|
+
|
|
23
|
+
## 1.23.3
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- Fix a test that failed intermittently on CI: it compared the whole response body of a chat request, including the timestamp each side stamps when it builds the body. When a request happened to cross a second boundary the two timestamps differed by one and the test went red even though nothing was wrong. The timestamp is no longer compared digit-for-digit, and the test now checks it is a real timestamp instead. No change to how the proxy behaves.
|
|
28
|
+
|
|
29
|
+
## 1.23.2
|
|
30
|
+
|
|
31
|
+
### Patch Changes
|
|
32
|
+
|
|
33
|
+
- Saved Cline logins are now recoverable. The pool keeps a backup copy beside it, so a pool that is missing or unreadable restores itself from the last good set of logins instead of silently coming back empty — losing every saved login to one bad write is no longer permanent. The backup also holds the largest set of logins ever seen, so it survives a run of smaller bad writes rather than being overwritten by the first one. Removing your last login still sticks: an intentionally empty pool is left alone rather than being repopulated from the backup.
|
|
34
|
+
|
|
3
35
|
## 1.23.1
|
|
4
36
|
|
|
5
37
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ Thin by design: a model list, a relay proxy, and a log. The host (`pi-ai`) handl
|
|
|
16
16
|
|
|
17
17
|
| Feature | What it does | Cost |
|
|
18
18
|
| :--- | :--- | :--- |
|
|
19
|
-
| **31 free models** |
|
|
19
|
+
| **31 free models** | 7 from OpenCode Zen, 19 from KiloCode Gateway, 5 from Cline, context windows up to 1M. Full list below. | **$0** |
|
|
20
20
|
| **Relay pool** | Route requests through your own Cloudflare Workers and Vercel Edge relays. Requests rotate across the pool. A relay that rate-limits, times out, or drops the connection cools down while healthy ones take its traffic. | **$0** beyond your platforms' free tiers |
|
|
21
21
|
| **Automatic fallback** | When every relay is cooling down, requests go direct to upstream instead of failing. | **$0** |
|
|
22
22
|
| **Short model names** | Every model has a slash-free, colon-free alias, plus an optional `:effort` suffix for thinking depth. You type `freeflow/<name>`. | **$0** |
|
|
@@ -190,7 +190,7 @@ The same command set works identically in OMP and Pi:
|
|
|
190
190
|
/model → freeflow → pick
|
|
191
191
|
```
|
|
192
192
|
|
|
193
|
-
#### OpenCode Zen (
|
|
193
|
+
#### OpenCode Zen (7 models), Responses and Chat API
|
|
194
194
|
|
|
195
195
|
Good defaults for long coding sessions and agentic work.
|
|
196
196
|
|
|
@@ -203,7 +203,6 @@ Good defaults for long coding sessions and agentic work.
|
|
|
203
203
|
| `nemotron-3-ultra-free` | NVIDIA | **1M** (1.000.000) | **128K** (128.000) | `minimal … xhigh` | ❌ |
|
|
204
204
|
| `big-pickle` | Big Pickle | **200K** (200.000) | **32K** (32.000) | `high / max` | ❌ |
|
|
205
205
|
| `ling-3.0-flash-fin-free` | Inclusion AI | **262K** (262.144) | **131K** (131.072) | `minimal … xhigh` | ❌ |
|
|
206
|
-
| `union-alpha` | Union | **262K** (262.144) | **131K** (131.072) | — *(no effort levels)* | ✅ |
|
|
207
206
|
|
|
208
207
|
#### KiloCode Gateway (19 models), OpenRouter compatible
|
|
209
208
|
|
|
@@ -233,7 +232,7 @@ Keyless access. Short aliases work for every row (the full ID is in parentheses)
|
|
|
233
232
|
|
|
234
233
|
\* Levels are forwarded as-is through the OpenRouter-style nested `reasoning` parameter; effort mapping is decided by each model. MiMo collapses `minimal→low` and `xhigh→high` upstream, so its selector shows 5 labels but only 3 distinct effort values.
|
|
235
234
|
|
|
236
|
-
#### Cline (
|
|
235
|
+
#### Cline (5 models), OpenAI compatible
|
|
237
236
|
|
|
238
237
|
Rotating per-account promo, direct only (never through the relay pool). Sign in through your browser with `/freeflow cline login`, manage with `/freeflow cline accounts` and `/freeflow cline logout`. Requests roll across saved logins when one hits its daily free limit.
|
|
239
238
|
|
|
@@ -246,6 +245,7 @@ Each account can only be saved once: an extra login for an account you already h
|
|
|
246
245
|
| `cline-free/deepseek-v4.1-flash` | DeepSeek | **1M** (1.000.000) | **384K** (384.000) | `low/high/max` | ✅ |
|
|
247
246
|
| `cline-free/muse-spark-1.3-contributor` | Meta Superintelligence Labs | **1M** (1.048.576) | **131K** (131.072) | `minimal…xhigh`\* | ✅ |
|
|
248
247
|
| `z-ai/glm-5.3-flash` | Zhipu AI | **1M** (1.000.000) | **131K** (131.072) | `low/high/max` | ✅ |
|
|
248
|
+
| `cline-free/kimi-k3` | Moonshot AI | **1M** (1.048.576) | **131K** (131.072) | `low/high/max` | ✅ |
|
|
249
249
|
| `cline-free/solar-pro4` | Upstage | **512K** (524.288) | **131K** (131.072) | `minimal…max`\* | ❌ |
|
|
250
250
|
|
|
251
251
|
---
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-freeflow",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.24.0",
|
|
5
5
|
"description": "Thin provider for OMP/Pi — model list + dumb relay proxy + log; host pi-ai owns thinking/normalization",
|
|
6
6
|
"main": "extensions/index.ts",
|
|
7
7
|
"types": "src/index.ts",
|