Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/deploy-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ jobs:
run: |
cd webui && npm ci && npm run build
cd ..
npx playwright test tests/e2e/pages-chat.spec.ts tests/e2e/failover-dual-endpoint.spec.ts tests/e2e/model-picker.spec.ts tests/e2e/message-actions.spec.ts tests/e2e/health-panel.spec.ts tests/e2e/turnstile-gate.spec.ts
npx playwright test tests/e2e/pages-chat.spec.ts tests/e2e/failover-dual-endpoint.spec.ts tests/e2e/model-picker.spec.ts tests/e2e/message-actions.spec.ts tests/e2e/health-panel.spec.ts tests/e2e/turnstile-gate.spec.ts tests/e2e/catalog-explorer.spec.ts tests/e2e/export-session.spec.ts tests/e2e/hash-routing.spec.ts

- name: Run live Pages chat e2e (real proxy)
env:
Expand Down
2 changes: 2 additions & 0 deletions CONCEPTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ Shared vocabulary for the static chat gateway and Python library.
| **Model selector** | Composer picker over `free_models.json`; separate from Failover endpoint settings |
| **Endpoint health probe** | Client-side GET to `/health` (or LiteLLM `/health/liveliness` on Render); ok / slow / fail |
| **Turnstile session** | Optional bot check at Worker; 1h KV pass per IP after successful siteverify |
| **Session export** | Sidebar menu download of current chat as Markdown or JSON (client-only; no server copy) |
| **Hash session link** | URL `#/chat/{sessionId}` restores a session from local IndexedDB on the same browser/profile |

## Learnings index

Expand Down
2 changes: 1 addition & 1 deletion configs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Free models sorted by `quality_score` (descending). Example entry:

Local-only providers (`ollama`, `vllm`, `lmstudio`, `xinference`) are excluded.

The [GitHub Pages chat UI](../docs/index.html) loads this file for the model browser.
The [GitHub Pages chat UI](../docs/index.html) loads this file for the model browser. The Models panel and composer picker show `quality_score`, formatted `context_length`, and capability badges (`vision`, `tools`, `schema`) derived from the fields above.

### `free_models_ids.txt`

Expand Down
1 change: 1 addition & 0 deletions docs/CAVEATS.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Honest limits for the public chat demo and the Python library.
| **Usage stats** | We count sessions and completions without storing message text. This is not full product analytics. |
| **Routing headers** | The routing chip reads `x-llm-fallbacks-endpoint` and LiteLLM headers from proxy responses. After edge changes, redeploy the Worker (`Deploy Proxies` workflow) for production to expose them. |
| **Turnstile** | Optional bot check when `TURNSTILE_SECRET` is set on the Worker and `turnstileSiteKey` is in `docs/config.js`. Skipped in local dev when secrets are absent. |
| **Hash session links** | `#/chat/{id}` only works when that session exists in your browser’s IndexedDB. Copy the link on another device or after clearing site data and you get a new empty chat — use **Export as Markdown/JSON** to share transcripts. |

## Library and CI

Expand Down
208 changes: 194 additions & 14 deletions docs/assets/chat.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading