@lakphy/local-router 0.0.1 → 0.0.2

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.
Files changed (2) hide show
  1. package/README.md +89 -93
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,51 +1,48 @@
1
- # local-router
1
+ # @lakphy/local-router
2
2
 
3
- `local-router` 是一个面向本地使用的 AI 请求网关。
4
- 你把请求发给它,它会按你的配置自动转发到 OpenAI/Anthropic 兼容上游,并统一提供日志和管理界面。
3
+ `@lakphy/local-router` 是一个本地 AI CLI 网关工具。
4
+ 安装后通过 `local-router` 命令启动服务,把 OpenAI/Anthropic 风格请求统一转发到你配置的上游 provider。
5
5
 
6
- ## 这是什么
6
+ ## 安装(CLI 使用者)
7
7
 
8
- 适合这几类场景:
8
+ 运行要求:Bun `>=1.2.0`
9
9
 
10
- - 你希望统一一个本地入口来切换不同模型/供应商
11
- - 你不想在每个客户端里直接暴露上游 API Key
12
- - 你需要查看请求日志、会话轨迹和基础统计
10
+ 全局安装(推荐):
13
11
 
14
- 支持的协议入口:
15
-
16
- - `openai-completions`
17
- - `openai-responses`
18
- - `anthropic-messages`
19
-
20
- ## 5 分钟上手
12
+ ```sh
13
+ npm i -g @lakphy/local-router
14
+ ```
21
15
 
22
- ### 1) 安装依赖
16
+ 或用 Bun 全局安装:
23
17
 
24
18
  ```sh
25
- bun install
19
+ bun add -g @lakphy/local-router
26
20
  ```
27
21
 
28
- ### 2) 初始化配置
22
+ 不全局安装,临时执行:
29
23
 
30
24
  ```sh
31
- local-router init
25
+ npx @lakphy/local-router --help
26
+ # 或
27
+ bunx @lakphy/local-router --help
32
28
  ```
33
29
 
34
- 默认会创建配置文件(优先当前目录 `config.json5`,否则 `~/.local-router/config.json5`)。
30
+ ## 快速开始
35
31
 
36
- ### 3) 启动服务
32
+ ### 1) 初始化配置
37
33
 
38
34
  ```sh
39
- local-router start
35
+ local-router init
40
36
  ```
41
37
 
42
- 默认地址:
38
+ 默认配置路径:
43
39
 
44
- - 服务:`http://127.0.0.1:4099`
45
- - 管理面板:`http://127.0.0.1:4099/admin`
46
- - API 文档:`http://127.0.0.1:4099/api/docs`
40
+ - 优先当前目录:`./config.json5`
41
+ - 否则全局目录:`~/.local-router/config.json5`
42
+
43
+ ### 2) 编辑配置文件
47
44
 
48
- ## 配置示例(最小可用)
45
+ 最小可用配置示例:
49
46
 
50
47
  ```json5
51
48
  {
@@ -67,72 +64,76 @@ local-router start
67
64
  }
68
65
  ```
69
66
 
70
- 配置要点:
71
-
72
- - `providers` 定义上游地址、类型和密钥
73
- - `routes` 定义“你传入的 model”映射到“实际上游 model”
74
- - 每个入口必须有 `*` 兜底规则
75
- - `log` 是可选配置,不写就不记录日志
67
+ ### 3) 启动服务
76
68
 
77
- 完整 schema 见 `config.schema.json`。
69
+ ```sh
70
+ local-router start
71
+ ```
78
72
 
79
- ## 如何调用
73
+ 默认地址:
80
74
 
81
- 你只需要把客户端请求地址改到 local-router。
75
+ - 服务:`http://127.0.0.1:4099`
76
+ - 管理面板:`http://127.0.0.1:4099/admin`
77
+ - API 文档:`http://127.0.0.1:4099/api/docs`
82
78
 
83
- ### OpenAI Chat Completions
79
+ ## 常用命令
84
80
 
85
81
  ```sh
86
- curl -X POST "http://127.0.0.1:4099/openai-completions/v1/chat/completions" \
87
- -H "Content-Type: application/json" \
88
- -d '{
89
- "model": "gpt-4o-mini",
90
- "messages": [{"role":"user","content":"请回复 ok"}]
91
- }'
82
+ local-router --help
83
+ local-router init
84
+ local-router start
85
+ local-router start --daemon
86
+ local-router stop
87
+ local-router restart --daemon
88
+ local-router status
89
+ local-router status --json
90
+ local-router health
91
+ local-router logs --follow
92
+ local-router version
92
93
  ```
93
94
 
94
- ### OpenAI Responses
95
+ 常用参数:
95
96
 
96
- ```sh
97
- curl -X POST "http://127.0.0.1:4099/openai-responses/v1/responses" \
98
- -H "Content-Type: application/json" \
99
- -d '{
100
- "model": "gpt-4o-mini",
101
- "input": "请回复 ok"
102
- }'
103
- ```
97
+ - `--config <path>`:指定配置文件路径
98
+ - `--host <host>`:指定监听地址
99
+ - `--port <port>`:指定监听端口
100
+ - `--daemon`:后台运行
101
+
102
+ ## 请求入口(给你的应用调用)
103
+
104
+ 把应用的 base URL 指向 local-router 后,使用以下入口:
105
+
106
+ - `POST /openai-completions/v1/chat/completions`
107
+ - `POST /openai-responses/v1/responses`
108
+ - `POST /anthropic-messages/v1/messages`
104
109
 
105
- ### Anthropic Messages
110
+ 示例(OpenAI Chat Completions):
106
111
 
107
112
  ```sh
108
- curl -X POST "http://127.0.0.1:4099/anthropic-messages/v1/messages" \
113
+ curl -X POST "http://127.0.0.1:4099/openai-completions/v1/chat/completions" \
109
114
  -H "Content-Type: application/json" \
110
115
  -d '{
111
- "model": "sonnet",
112
- "max_tokens": 64,
116
+ "model": "gpt-4o-mini",
113
117
  "messages": [{"role":"user","content":"请回复 ok"}]
114
118
  }'
115
119
  ```
116
120
 
117
- ## 常用 CLI 命令
121
+ ## 配置规则(必须知道)
118
122
 
119
- ```sh
120
- local-router init
121
- local-router start
122
- local-router start --daemon
123
- local-router status --json
124
- local-router logs --follow
125
- local-router stop
126
- local-router restart --daemon
127
- local-router health
128
- local-router version
129
- ```
123
+ - `providers`:定义上游服务(类型、地址、密钥、模型)
124
+ - `routes`:定义路由映射(传入 model -> 目标 provider/model)
125
+ - 每个入口都必须有 `*` 兜底规则
126
+ - `routes` 里引用的 `provider` 必须在 `providers` 中存在
127
+ - `log` 是可选,不配置就不记录日志
128
+
129
+ 完整 schema:`config.schema.json`
130
130
 
131
131
  ## 日志与管理面板
132
132
 
133
- - 管理面板:`/admin`
133
+ - 面板地址:`/admin`
134
134
  - 健康检查:`GET /api/health`
135
- - 日志查询:`GET /api/logs/events`
135
+ - 日志列表:`GET /api/logs/events`
136
+ - 日志详情:`GET /api/logs/events/:id`
136
137
  - 日志导出:`GET /api/logs/export?format=json|csv`
137
138
  - 实时 tail:`GET /api/logs/tail`(SSE)
138
139
 
@@ -143,36 +144,31 @@ local-router version
143
144
 
144
145
  ## 常见问题
145
146
 
146
- ### Q1: 客户端还需要带上游 API Key 吗?
147
+ ### 客户端还需要带上游 API Key 吗?
147
148
 
148
- 一般不需要。local-router 会按你在 `providers.*.apiKey` 配置的密钥进行转发鉴权。
149
+ 一般不需要。local-router 会使用你在配置文件 `providers.*.apiKey` 中设置的密钥转发。
149
150
 
150
- ### Q2: 为什么启动失败?
151
+ ### 启动失败怎么办?
151
152
 
152
- 优先检查:
153
+ 先检查:
153
154
 
154
- - 端口 `4099` 是否被占用(可改 `--port`)
155
- - 配置中是否缺少 `routes.<type>."*"` 兜底
156
- - `routes` 引用的 provider 是否在 `providers` 中存在
155
+ - 端口 `4099` 是否已占用(可用 `--port` 修改)
156
+ - `routes.<type>` 是否缺少 `*` 规则
157
+ - `routes` 引用的 provider 是否存在
158
+ - 配置文件是否是合法 JSON5
157
159
 
158
- ### Q3: 管理面板打不开?
159
-
160
- 如果是生产/本地打包后运行,先执行:
160
+ ### 如何升级?
161
161
 
162
162
  ```sh
163
- bun run build
163
+ npm i -g @lakphy/local-router@latest
164
+ # 或
165
+ bun add -g @lakphy/local-router@latest
164
166
  ```
165
167
 
166
- 开发态可通过 `bun run dev` 启动(包含 Web 开发服务器)。
167
-
168
- ## 运行要求
168
+ ### 如何卸载?
169
169
 
170
- - Bun `>=1.2.0`
171
-
172
- ## 进阶文档
173
-
174
- - `docs/cli-development-and-release.md`
175
- - `docs/logging-architecture.md`
176
- - `docs/react-csr-integration.md`
177
- - `docs/application-performance-analysis.md`
178
- - `docs/application-performance-high-risk-remediation.md`
170
+ ```sh
171
+ npm rm -g @lakphy/local-router
172
+ #
173
+ bun remove -g @lakphy/local-router
174
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lakphy/local-router",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "packageManager": "bun@1.2.0",
5
5
  "workspaces": [
6
6
  "web"