pi-freeflow 1.20.0 → 1.22.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 +12 -0
- package/README.md +19 -5
- package/package.json +1 -1
- package/src/catalog.ts +410 -405
- package/src/client.ts +916 -916
- package/src/cline-accounts.ts +506 -0
- package/src/cline-device-auth.ts +335 -0
- package/src/commands.ts +131 -2
- package/src/config.ts +6 -0
- package/src/index.ts +361 -355
- package/src/models.ts +548 -452
- package/src/opencode-fingerprint.ts +743 -743
- package/src/proxy.ts +156 -6
- package/src/tool-translation.ts +159 -0
- package/src/types.ts +99 -98
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.22.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Sign in to Cline right inside the extension: `/freeflow cline login` shows a browser link and code, approves your own Cline account, and saves it to a per-user pool on your machine — no pasting keys. Extra logins auto-name themselves (`default`, `slot-2`, …), saved logins refresh on their own, and requests roll across them when one hits its daily free limit. Pasting a key stays available behind `login --key`. Model selection labels every free model with its source ([OpenCode], [Kilo], [Cline]).
|
|
8
|
+
|
|
9
|
+
## 1.21.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- Use Cline free models with your own Cline login: `/freeflow cline login` signs in through your browser and saves it to a per-user pool on your machine, `/freeflow cline accounts` lists saved logins, and `/freeflow cline logout` removes one. Adds DeepSeek V4.1 Flash, Muse Spark 1.3, GLM 5.3 Flash, and Solar Pro 4 from Cline's free rotation, and labels every free model with its source ([OpenCode], [Kilo], [Cline]) in model selection. Requests roll across saved logins when one hits its daily free limit or fails.
|
|
14
|
+
|
|
3
15
|
## 1.20.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# pi-freeflow
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> 31 free models with up to 1M context. No API keys to manage. Add your own relays to spread requests across more IPs.
|
|
4
4
|
|
|
5
5
|
Thin by design: a model list, a relay proxy, and a log. The host (`pi-ai`) handles thinking, normalization, and provider behavior.
|
|
6
6
|
|
|
@@ -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
|
-
| **
|
|
19
|
+
| **31 free models** | 8 from OpenCode Zen, 19 from KiloCode Gateway, 4 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** |
|
|
@@ -174,13 +174,16 @@ The same command set works identically in OMP and Pi:
|
|
|
174
174
|
/freeflow update # Check for and install a package update
|
|
175
175
|
/freeflow debug on | off # Toggle full HTTP lifecycle debug logging
|
|
176
176
|
/freeflow kill # Stop the shared proxy daemon now (restarts on next use)
|
|
177
|
+
/freeflow cline login # Sign in through the browser, save to the per-user pool
|
|
178
|
+
/freeflow cline accounts # List saved Cline logins
|
|
179
|
+
/freeflow cline logout # Remove a saved Cline login
|
|
177
180
|
/freeflow export [path] [--include-secrets] # Save the relay pool to a file (default freeflow-relays.json; passwords left out unless asked)
|
|
178
181
|
/freeflow import <path> [--merge|--replace] [--dry-run] # Load a relay pool from a file (merge is default; replace asks first; dry-run previews only)
|
|
179
182
|
```
|
|
180
183
|
|
|
181
184
|
---
|
|
182
185
|
|
|
183
|
-
###
|
|
186
|
+
### 31 models, one command
|
|
184
187
|
|
|
185
188
|
```bash
|
|
186
189
|
/model → freeflow → pick
|
|
@@ -229,6 +232,17 @@ Keyless access. Short aliases work for every row (the full ID is in parentheses)
|
|
|
229
232
|
|
|
230
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.
|
|
231
234
|
|
|
235
|
+
#### Cline (4 models), OpenAI compatible
|
|
236
|
+
|
|
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.
|
|
238
|
+
|
|
239
|
+
| Model ID | Creator / Lab | Context | Max Output | Thinking | Vision |
|
|
240
|
+
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
241
|
+
| `cline-free/deepseek-v4.1-flash` | DeepSeek | **262K** (262.144) | **32K** (32.768) | `minimal…xhigh`\* | ❌ |
|
|
242
|
+
| `cline-free/muse-spark-1.3-contributor` | Meta Superintelligence Labs | **1M** (1.048.576) | **131K** (131.072) | `minimal…xhigh`\* | ✅ |
|
|
243
|
+
| `z-ai/glm-5.3-flash` | Zhipu AI | **262K** (262.144) | **64K** (65.536) | `minimal…xhigh`\* | ❌ |
|
|
244
|
+
| `cline-free/solar-pro4` | Upstage | **131K** (131.072) | **32K** (32.768) | `minimal…xhigh`\* | ❌ |
|
|
245
|
+
|
|
232
246
|
---
|
|
233
247
|
|
|
234
248
|
### Logs and debugging
|
|
@@ -254,7 +268,7 @@ About 19k lines including tests. The full suite (sandboxed, network-mocked) and
|
|
|
254
268
|
### FAQ
|
|
255
269
|
|
|
256
270
|
**Do I need API keys?**
|
|
257
|
-
No. Kilo uses a shared free credential and OpenCode free models need no header. You never paste a key.
|
|
271
|
+
No. Kilo uses a shared free credential and OpenCode free models need no header. You never paste a key. Cline free models need a browser login instead: `/freeflow cline login` saves it to a per-user pool on your machine.
|
|
258
272
|
|
|
259
273
|
**What if all relays hit rate limits?**
|
|
260
274
|
The proxy tries direct upstream. If that is also rate-limited, the host shows the limit. That number is the shared upstream cap; without relays you would hit the same wall sooner.
|
|
@@ -322,7 +336,7 @@ pnpm smoke # verifies extensions/index.ts loads without crashing
|
|
|
322
336
|
```
|
|
323
337
|
src/
|
|
324
338
|
├── index.ts # extension entry, lifecycle hooks
|
|
325
|
-
├── models.ts #
|
|
339
|
+
├── models.ts # 31-model catalog definitions
|
|
326
340
|
├── catalog.ts # model catalog cache (24h disk)
|
|
327
341
|
├── proxy.ts # local proxy server (127.0.0.1:28180)
|
|
328
342
|
├── relay.ts # relay selection and round-robin
|
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.22.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",
|