拥有记忆引擎,也拥有数据路径。
FishMem 的 TypeScript 引擎、SDK 契约、控制面、控制台与适配器采用 Apache-2.0 许可。你可以嵌入库,也可以自行运行经过验证的 Node + libSQL 应用。
- 01嵌入在一个 Node 服务中直接使用 fishmem 包。
- 02自托管运行 REST API、控制台、libSQL、资产目录与持久任务。
- 03扩展在明确接口处实现存储与模型供应商。
- 01Apache-2.0 核心
- 02Node 20+
- 03SQLite 与 Postgres 适配器
- 04Cloudflare 适配器
开源不是代码展示,而是可部署的产品边界;记忆权威可迁移,托管专属运维能力保持显式。
用一个深模块承载记忆行为。
引擎拥有规范写入、检索、时间状态、命名空间、文档、快照和投影。存储与模型供应商实现接口,而不是分叉记忆语义。
- 内存、SQLite/libSQL、Postgres、D1、pgvector、Vectorize 与 Qdrant 适配器保持显式。
- 嵌入引擎不需要托管账户或 FishMem API 密钥。
- 集成测试独立验证适配器契约。
自行运营 API 与控制台。
发布的 Docker 路径使用 Node、持久 libSQL、耐久资产目录、固定提取容器和任务轮询器。Compose 配置对缺失密钥采取失败关闭。
- 项目、API 密钥、记忆、来源、Webhook 与操作使用同一公开契约。
- 数据库与资产目录必须作为一个保留单元备份。
- Postgres 引擎适配器已发布;Postgres 控制面表尚未发布。
选择云端前先看清它增加什么。
Cloud 增加组织、托管密钥、持久任务、托管对象和向量资源、计量、账单与运营保障,不会替换核心记忆语义。
- 开源命名空间导出保持迁移路径。
- 托管运维与开源能力在文档中分别说明。
- 没有把尚未发布的企业承诺包装成现有能力。
从一个具体请求开始。
import { createFishMem } from "fishmem";
const memory = await createFishMem({
storage: { type: "sqlite", url: "file:./fishmem.db" }
});
await memory.memories.add({
content: "用户偏好深色模式。",
user_id: "alex",
infer: false
});这个产品范围包含什么
- Apache-2.0 记忆引擎、共享契约、SDK 与控制台。
- Node + libSQL 自托管路径与可持久资产目录。
- 清楚的存储、向量、模型与提取适配接口。
明确边界
- 自托管团队负责凭据、备份、迁移、监控与事故响应。
- 开源发行不包含 FishMem Cloud 的组织、计费与托管基础设施。
- 生产部署前仍需在自己的工作负载与存储适配器上验证。
