FishMem

运行时指南

在 Node、Bun、Deno、Cloudflare Workers 与 Vercel 使用同一 FishMem SDK。

默认 HTTP 入口不使用 Node 内置模块,各运行时只在环境变量和请求处理器写法上不同。@fishmem/sdk/desktop 是明确的 Node 专用子路径,因为它需要调用本地 CLI。

Node.js

import { FishMem } from "@fishmem/sdk";
const fishmem = new FishMem({ apiKey: process.env.FISHMEM_API_KEY! });

Bun

const fishmem = new FishMem({ apiKey: Bun.env.FISHMEM_API_KEY! });

Deno

import { FishMem } from "npm:@fishmem/sdk";
const fishmem = new FishMem({ apiKey: Deno.env.get("FISHMEM_API_KEY")! });

Cloudflare Workers

interface Env { FISHMEM_API_KEY: string }

export default {
  async fetch(request: Request, env: Env) {
    const fishmem = new FishMem({ apiKey: env.FISHMEM_API_KEY });
    return Response.json(await fishmem.health.get());
  },
};

Vercel Functions

export async function POST(request: Request) {
  const input = await request.json();
  const fishmem = new FishMem({ apiKey: process.env.FISHMEM_API_KEY! });
  return Response.json(await fishmem.memories.search(input));
}

所有环境都必须把 Key 留在服务端,支持标准 Fetch 与 AbortSignal,并使用相同 snake_case 传输结构。不要在 Edge 运行时导入 Desktop 子路径。

On this page