ezllm 0.0.36 → 0.0.37
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 +16 -11
- package/dist/server.js +60 -54
- package/dist/web-ui/assets/DashboardView-BzKKC4LZ.js +1 -0
- package/dist/web-ui/assets/{LayoutView-DjpChErJ.js → LayoutView-BzBSYjz8.js} +1 -1
- package/dist/web-ui/assets/{LoginView-Dh-JvmGC.js → LoginView-Bzngu7qF.js} +1 -1
- package/dist/web-ui/assets/LogsView-C2cZgB5T.js +5 -0
- package/dist/web-ui/assets/LogsView-u-0B5Xpc.css +1 -0
- package/dist/web-ui/assets/{ManagedServicesView-C5ZROVtT.js → ManagedServicesView-5QT_g-5a.js} +2 -2
- package/dist/web-ui/assets/ProvidersView-BPOzev6x.js +14 -0
- package/dist/web-ui/assets/ServiceStatusView--D1wfNAZ.js +2 -0
- package/dist/web-ui/assets/{SettingsView-MrcC_nr9.js → SettingsView-XXHJh2h8.js} +1 -1
- package/dist/web-ui/assets/SetupView-CSBKlfcJ.css +1 -0
- package/dist/web-ui/assets/SetupView-DcThD5bd.js +1 -0
- package/dist/web-ui/assets/{config-DXHhKDw-.js → config-B8sfBKCc.js} +1 -1
- package/dist/web-ui/assets/format-CO5kjbrg.js +1 -0
- package/dist/web-ui/assets/{index-BKnCp9qM.js → index-CZeCUjra.js} +1 -1
- package/dist/web-ui/assets/{index-wQvjidwN.css → index-s_h6GEbv.css} +1 -1
- package/dist/web-ui/assets/{message-C1fkA9sE.js → message-sILMvZIb.js} +1 -1
- package/dist/web-ui/assets/{providers-BHK2eZZc.js → providers-dvoMyAle.js} +1 -1
- package/dist/web-ui/assets/{router-DI9ZLaCn.js → router-BUuAm5No.js} +2 -2
- package/dist/web-ui/assets/{useManagerApi-l9V9LoLa.js → useManagerApi-XPGaswMw.js} +1 -1
- package/dist/web-ui/assets/{useQuickRangeFilter-Crb6MDvU.js → useQuickRangeFilter-Bg2q_vMO.js} +1 -1
- package/dist/web-ui/assets/useToast-BscapoHF.js +1 -0
- package/dist/web-ui/index.html +4 -4
- package/package.json +1 -1
- package/dist/web-ui/assets/DashboardView-4pju0xUn.js +0 -1
- package/dist/web-ui/assets/LogsView-BLOCTdb6.js +0 -5
- package/dist/web-ui/assets/LogsView-D7FTeaYQ.css +0 -1
- package/dist/web-ui/assets/ProvidersView-Dwc7I6G0.js +0 -14
- package/dist/web-ui/assets/ServiceStatusView-fiaEQZNp.js +0 -2
- package/dist/web-ui/assets/SetupView-BLl-ZFOA.css +0 -1
- package/dist/web-ui/assets/SetupView-vTCaewVk.js +0 -1
- package/dist/web-ui/assets/format-DbT9vkcP.js +0 -1
- package/dist/web-ui/assets/useToast-PFDoTWpf.js +0 -1
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# ezllm
|
|
2
2
|
|
|
3
|
-
**轻量、安全的本地 LLM
|
|
3
|
+
**轻量、安全的本地 LLM 网关**——为个人本地使用设计:一条命令安装,一条命令启动,把你的 OpenAI / Anthropic 协议供应商和 API Key 统一收口为一个本地入口。
|
|
4
4
|
|
|
5
|
-
- **部署成本极低**:单进程、单端口(默认 29770
|
|
6
|
-
- **快速启动**:`
|
|
7
|
-
-
|
|
5
|
+
- **部署成本极低**:单进程、单端口(默认 29770),常驻内存约 50–60 MB,你的日常电脑就能跑,无需服务器
|
|
6
|
+
- **快速启动**:`npx ezllm install` 一条命令装好并自启动——自带托管 Node 运行时、自动注册 `ezllm` 命令,首次启动自动创建示例配置,网页向导两分钟完成接入
|
|
7
|
+
- **特别安全**:无遥测、无上报、无云端组件——详见「安全与隐私」
|
|
8
8
|
|
|
9
9
|
## 安全与隐私
|
|
10
10
|
|
|
@@ -15,16 +15,18 @@
|
|
|
15
15
|
## 功能特性
|
|
16
16
|
|
|
17
17
|
- **协议互转**:客户端与上游可各用各的协议(OpenAI / Anthropic),网关自动转换
|
|
18
|
-
- **多供应商路由**:多家供应商 / 多个 API Key 统一管理,按模型路由、网页在线切换;内置 deepseek、kimi、zhipu、ark、openai 等 10 个供应商模板
|
|
19
|
-
- **管理界面**:供应商管理、连通性测试、用量统计、请求日志,开箱即用零学习成本
|
|
18
|
+
- **多供应商路由**:多家供应商 / 多个 API Key 统一管理,按模型路由、网页在线切换;内置 deepseek、kimi、zhipu、ark、dashscope、openai 等 10 个供应商模板
|
|
20
19
|
- **一键接入 AI 客户端**:网页上点一下,把 Claude Code、Codex、DeepSeek Harness(dsh)的流量指向本机网关(自动备份原配置、可还原)
|
|
20
|
+
- **额度快照**:内置多家供应商的额度查询(DeepSeek、智谱、火山方舟、CPA 等),余量一目了然
|
|
21
|
+
- **管理界面**:供应商管理、连通性测试、用量统计、请求日志,开箱即用零学习成本
|
|
22
|
+
- **配置即文件**:所有功能设置(供应商、路由、密钥、端口、界面与安全)集中在一个可读的 `ezllm.config.json`(应用目录内)——管理界面就是它的编辑器,改动内存热更新、无需重启;CLI 只管进程生命周期,没有散落在命令行的隐藏开关。配置可备份、可整份迁移,排障时直接看文件即可
|
|
21
23
|
- **开机自启**:三平台支持,登录即启动,免管理员权限
|
|
22
|
-
-
|
|
24
|
+
- **自动更新**(可选):发现新版本一键更新(`ezllm update`);安装失败或安装后版本与目标不符时**不自动回退**——清掉待更新标记、把原因记入 `lastApply.error`,服务以旧版本继续运行(日志里会给出回退用的命令)。自建 registry / 镜像源可用 `ELLM_UPDATE_REGISTRY` 指定
|
|
23
25
|
|
|
24
26
|
## 安装
|
|
25
27
|
|
|
26
28
|
```bash
|
|
27
|
-
npx ezllm install # 推荐:装配自带 Node
|
|
29
|
+
npx ezllm install # 推荐:装配自带 Node 运行时的环境(装完自动启动;命令常驻可用,不受本机 node 版本影响)
|
|
28
30
|
```
|
|
29
31
|
|
|
30
32
|
也可以直接全局安装(命令可用性依赖本机 node 环境):
|
|
@@ -33,7 +35,9 @@ npx ezllm install # 推荐:装配自带 Node 运行时的环境(命令常
|
|
|
33
35
|
npm i -g ezllm
|
|
34
36
|
```
|
|
35
37
|
|
|
36
|
-
|
|
38
|
+
**为什么不用管 Node 版本**:服务启动**总是**用托管运行时(应用目录下的 `node/`,缺失时自动下载一次并缓存,之后复用),与本机已装的 node 无关;`ezllm install` 还会把包装配到用户目录(默认 `~/.ezllm`)并把 `ezllm` 命令注册进用户 PATH。
|
|
39
|
+
|
|
40
|
+
**国内网络友好**:运行时下载自带镜像回退(npmmirror → 官方源),装不上会自动换源重试;服务更新可用 `ELLM_UPDATE_REGISTRY` 指定自建 registry。
|
|
37
41
|
|
|
38
42
|
## 使用方法
|
|
39
43
|
|
|
@@ -43,7 +47,7 @@ ezllm start # 后台常驻启动(首次自动创建示例配置)
|
|
|
43
47
|
|
|
44
48
|
1. 打开管理界面 `http://127.0.0.1:29770/`,首次访问进入**首启向导**:选择部署形态(本机使用 / 局域网公开),设置主密钥与登录账号(本机使用可全部跳过)
|
|
45
49
|
2. 在「供应商」页添加你的供应商(选内置模板,填 API Key 即可)
|
|
46
|
-
3.
|
|
50
|
+
3. 接入客户端:推荐在「设置 → 代理开关」**一键接入**(Claude Code / Codex / dsh,自动备份原配置、可还原);手动接入则是 Claude Code 指向 `http://127.0.0.1:29770`、OpenAI SDK 指向 `http://127.0.0.1:29770/v1`
|
|
47
51
|
|
|
48
52
|
常用命令:
|
|
49
53
|
|
|
@@ -51,6 +55,7 @@ ezllm start # 后台常驻启动(首次自动创建示例配置)
|
|
|
51
55
|
ezllm # 显示当前运行状态(服务地址、pid;只读,不启动服务)
|
|
52
56
|
ezllm stop # 停止
|
|
53
57
|
ezllm restart # 重启
|
|
58
|
+
ezllm update # 检查并安装新版本
|
|
54
59
|
ezllm install # 装配/修复自带 Node 运行时的环境(幂等;自动迁移旧数据目录)
|
|
55
60
|
```
|
|
56
61
|
|
|
@@ -66,7 +71,7 @@ npx ezllm install --force # 重装(清理应用目录后重新装配)
|
|
|
66
71
|
|
|
67
72
|
如果某个客户端每轮都在请求里塞大量固定内容(工具描述里内嵌的 API 手册、注入的记忆索引等),可以在网关侧裁掉,从根上省 token。
|
|
68
73
|
|
|
69
|
-
把发布包里的
|
|
74
|
+
把发布包里的 **`hook.example.cjs`** 复制到应用目录(默认 `~/.ezllm`)即可,无需改名。按注释改里面的规则,然后 `ezllm restart`。
|
|
70
75
|
|
|
71
76
|
- **候选文件名**:`hook.cjs` → `hook.mjs` → `hook.js`,取第一个存在的。**推荐 `hook.cjs`**——`.js` 的解析模式(CJS 还是 ESM)取决于它祖先目录里最近的 `package.json`,不受你控制(比如家目录若有一份 `"type": "module"` 的 package.json,`hook.js` 里的 CJS 写法就会失效);`.cjs` 强制按 CJS 解析,任何环境都稳。
|
|
72
77
|
- **只有请求侧改写**一个钩子(`onModelRequest`):在发往上游前改请求体/请求头,**改不了响应**。
|