@cerefox/memory 1.0.0-rc.4 → 1.0.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/README.md
CHANGED
|
@@ -56,7 +56,7 @@ You deploy the server side with this package's CLI — `cerefox server deploy` s
|
|
|
56
56
|
| Prerequisite | Why | How |
|
|
57
57
|
|---|---|---|
|
|
58
58
|
| A **Supabase project** | Hosts Postgres + pgvector + Edge Functions. Free tier is enough for most personal use. | [supabase.com](https://supabase.com) → New project |
|
|
59
|
-
| An **embedding API key** | OpenAI `text-embedding-3-small` (the
|
|
59
|
+
| An **embedding API key** | OpenAI `text-embedding-3-small` (the cloud backend's embedder; Cerefox Local can instead run a fully-offline local model). Pennies/month for typical personal use (see [operational-cost.md](https://github.com/fstamatelopoulos/cerefox/blob/main/docs/guides/operational-cost.md)). | Get an [OpenAI API key](https://platform.openai.com/api-keys). |
|
|
60
60
|
| **Node ≥ 20** or **Bun ≥ 1.0** | Runtime for the `cerefox` bin (and the bundled `cerefox mcp` server). | [nodejs.org](https://nodejs.org) · [bun.sh](https://bun.sh). The one-line installer below bootstraps Bun if neither is present. |
|
|
61
61
|
|
|
62
62
|
### One-time server-side setup (~10 min — no clone needed)
|
package/dist/bin/cerefox.js
CHANGED
|
@@ -7184,7 +7184,7 @@ var exports_meta = {};
|
|
|
7184
7184
|
__export(exports_meta, {
|
|
7185
7185
|
PKG_VERSION: () => PKG_VERSION
|
|
7186
7186
|
});
|
|
7187
|
-
var PKG_VERSION = "1.0.0
|
|
7187
|
+
var PKG_VERSION = "1.0.0";
|
|
7188
7188
|
var init_meta = () => {};
|
|
7189
7189
|
|
|
7190
7190
|
// ../../node_modules/.bun/tslib@2.8.1/node_modules/tslib/tslib.js
|
|
@@ -118,7 +118,10 @@ This handles intermittent OpenAI API errors (500s) that would otherwise cause se
|
|
|
118
118
|
| Variable | Default | Description |
|
|
119
119
|
|----------|---------|-------------|
|
|
120
120
|
| `CEREFOX_MAX_RESPONSE_BYTES` | `200000` | Maximum bytes in a single search response (local MCP path). See explanation below. |
|
|
121
|
-
| `CEREFOX_MIN_SEARCH_SCORE` | `0.50` | Minimum cosine similarity for hybrid and semantic search results (0.0–1.0). In **hybrid search**, chunks that matched the FTS keyword operator (`@@`) always pass through regardless of their vector score — the threshold only filters vector-only results. In **semantic search**, all results are filtered. The pure **FTS search** mode is unaffected. Increase for stricter precision; decrease for wider recall. |
|
|
121
|
+
| `CEREFOX_MIN_SEARCH_SCORE` | `0.50` (`0.60` with the local embedder) | Minimum cosine similarity for hybrid and semantic search results (0.0–1.0). The default is embedder-aware: nomic scores unrelated text higher than OpenAI, so `CEREFOX_EMBEDDER=local` raises the floor to 0.60. In **hybrid search**, chunks that matched the FTS keyword operator (`@@`) always pass through regardless of their vector score — the threshold only filters vector-only results. In **semantic search**, all results are filtered. The pure **FTS search** mode is unaffected. Increase for stricter precision; decrease for wider recall. |
|
|
122
|
+
| `CEREFOX_EMBED_MAX_INPUT_CHARS` | `20000` | Safety cap on the characters sent to the embedding model per input. The full chunk content is always stored and reconstructed untouched; only the embedding uses the (rare) truncated prefix, so an oversized chunk can never fail an ingest. |
|
|
123
|
+
| `CEREFOX_MODELS_DIR` | `~/.cerefox/models` (in-container: inside the data volume) | Where the local embedder caches downloaded model weights (Cerefox Local; `CEREFOX_EMBEDDER=local`). |
|
|
124
|
+
| `CEREFOX_ONNX_BATCH` | `4` | Texts per local-embedder inference call. Peak memory scales with this; the small default keeps ingest/reindex safe on small Docker VMs. |
|
|
122
125
|
|
|
123
126
|
### Metadata filter
|
|
124
127
|
|
|
@@ -257,9 +260,9 @@ OPENAI_API_KEY=sk-...
|
|
|
257
260
|
# All other settings use defaults
|
|
258
261
|
```
|
|
259
262
|
|
|
260
|
-
> **Fireworks is not wired
|
|
261
|
-
>
|
|
262
|
-
>
|
|
263
|
+
> **Fireworks is not wired yet** — `CEREFOX_EMBEDDER=fireworks` / `CEREFOX_FIREWORKS_*`
|
|
264
|
+
> are documented but currently no-ops. The wired embedders are `openai` (default) and
|
|
265
|
+
> `local` (Cerefox Local only). Fireworks is tracked for a future release.
|
|
263
266
|
|
|
264
267
|
---
|
|
265
268
|
|
|
@@ -4,9 +4,6 @@ Cerefox 1.0.0 is the first stable release. Two changes need attention when you
|
|
|
4
4
|
upgrade an existing Supabase deployment; a third is automatic. **Nothing here
|
|
5
5
|
affects the local/self-hosted (World B) backend.**
|
|
6
6
|
|
|
7
|
-
Pre-releases are published on the `1.0.0-beta.N` line (breaking changes may still
|
|
8
|
-
occur between betas) leading up to `1.0.0`.
|
|
9
|
-
|
|
10
7
|
## 1. Edge Function auth: anon key → Cerefox access token (action required)
|
|
11
8
|
|
|
12
9
|
The legacy Supabase **anon JWT** is no longer accepted for calling Cerefox Edge
|
|
@@ -52,7 +49,7 @@ Claude uses OAuth).
|
|
|
52
49
|
Rotating the token later: `cerefox token rotate` (accepts new + old for zero-downtime),
|
|
53
50
|
then `cerefox token rotate --finalize` once every client is on the new token.
|
|
54
51
|
|
|
55
|
-
## 2. New schema (
|
|
52
|
+
## 2. New schema (→ 0.8.1): document reconstruction fix (redeploy required, no data action)
|
|
56
53
|
|
|
57
54
|
1.0.0 fixes a document-reconstruction bug that could corrupt documents containing large
|
|
58
55
|
tables or blank-line-free paragraphs. It adds a `content_format` column on
|
|
@@ -90,7 +87,7 @@ unaffected — they are not Python and remain the source of truth for the schema
|
|
|
90
87
|
```bash
|
|
91
88
|
cerefox self-update # or: npm install -g @cerefox/memory@latest
|
|
92
89
|
cerefox token generate # change #1: mint + set the access token
|
|
93
|
-
cerefox server deploy # changes #1 + #2: token-gated EFs + schema 0.8.
|
|
90
|
+
cerefox server deploy # changes #1 + #2: token-gated EFs + schema 0.8.1
|
|
94
91
|
cerefox doctor # verify (edge-functions green; content-format ℹ)
|
|
95
92
|
# then: update GPT Actions / remote MCP clients to the token; revoke the anon key
|
|
96
93
|
```
|
|
@@ -142,8 +142,11 @@ embedding costs" below.
|
|
|
142
142
|
|
|
143
143
|
If you want to keep costs as low as possible:
|
|
144
144
|
|
|
145
|
-
- **
|
|
146
|
-
|
|
145
|
+
- **Zero-cost embeddings (Cerefox Local)**: the self-hosted backend can run a local
|
|
146
|
+
embedding model in-container (`CEREFOX_EMBEDDER=local`) — no API key, no per-token
|
|
147
|
+
cost at all. See [setup-local.md](setup-local.md#choose-your-embedder-openai-vs-fully-local).
|
|
148
|
+
- **Cheaper cloud models**: a lower-cost OpenAI-compatible provider (e.g. Fireworks AI)
|
|
149
|
+
is on the roadmap — not yet wired.
|
|
147
150
|
- **Batch ingest, don't re-ingest**: Cerefox deduplicates by content hash — re-ingesting the
|
|
148
151
|
same file twice costs nothing. Only new or changed content triggers embedding calls.
|
|
149
152
|
- **`cerefox server reindex`**: Re-embeds all existing chunks if you switch embedders. Run this once
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cerefox/memory",
|
|
3
|
-
"version": "1.0.0
|
|
4
|
-
"description": "Cerefox — user-owned shared memory for AI agents.
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Cerefox — user-owned shared memory for AI agents. CLI + stdio MCP server + web UI + ingestion for a knowledge base on your own Supabase project (or fully self-hosted with Cerefox Local).",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://github.com/fstamatelopoulos/cerefox",
|
|
7
7
|
"repository": {
|