node-cf-worker
v0.1.0
Published
Cloudflare Worker compatible runtime, based on Node.js.
Readme
node-cf-worker
Cloudflare Worker 兼容运行时, 基于 Node.js.
动机
本项目使您能够在本地或任何 Node.js 兼容的基础设施上自托管服务, 解除 Cloudflare Workers 的供应商锁定.
快速开始
全局安装: npm install -g node-cf-worker
假设你的 worker 服务有以下结构:
- src/
- wrangler.toml你只需要执行 node-cf-worker ./wrangler.toml 即可启动服务.
选项: --port 指定监听端口 (默认: 8787)
支持特性
- R2
- D1
- KV
- AI (通过配置 OpenAI 兼容服务)
技术细节
D1 通过本地的 sqlite3 模拟
KV 只是一个名为 kv 的 sqlite3 数据表
AI
通过 OpenAI 兼容 API 模拟。在 wrangler.toml 中配置:
[ai]
binding = "AI"
base_url = "http://localhost:11434" # 可选,默认使用 OPENAI_BASE_URL 环境变量或 https://api.openai.com/v1
api_key = "sk-xxx" # 可选,默认使用 OPENAI_API_KEY 环境变量
# 可选:将 Cloudflare 模型 ID 映射为你的提供商模型名称
[ai.modelMapping]
"@cf/meta/llama-3.1-8b-instruct" = "llama3.1:8b"
"@cf/meta/llama-3.3-70b-instruct" = "llama3.3:70b"优先级:toml 中的 api_key/base_url > OPENAI_API_KEY/OPENAI_BASE_URL 环境变量 > 默认值。
modelMapping 将 Cloudflare 模型 ID 翻译为你的提供商模型名称。未映射的 ID 将原样转发。
R2 sqlite3 中名为 r2 的数据表结合本地文件系统
