@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.
- package/README.md +89 -93
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,51 +1,48 @@
|
|
|
1
|
-
# local-router
|
|
1
|
+
# @lakphy/local-router
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
17
|
-
- `openai-responses`
|
|
18
|
-
- `anthropic-messages`
|
|
19
|
-
|
|
20
|
-
## 5 分钟上手
|
|
12
|
+
```sh
|
|
13
|
+
npm i -g @lakphy/local-router
|
|
14
|
+
```
|
|
21
15
|
|
|
22
|
-
|
|
16
|
+
或用 Bun 全局安装:
|
|
23
17
|
|
|
24
18
|
```sh
|
|
25
|
-
bun
|
|
19
|
+
bun add -g @lakphy/local-router
|
|
26
20
|
```
|
|
27
21
|
|
|
28
|
-
|
|
22
|
+
不全局安装,临时执行:
|
|
29
23
|
|
|
30
24
|
```sh
|
|
31
|
-
local-router
|
|
25
|
+
npx @lakphy/local-router --help
|
|
26
|
+
# 或
|
|
27
|
+
bunx @lakphy/local-router --help
|
|
32
28
|
```
|
|
33
29
|
|
|
34
|
-
|
|
30
|
+
## 快速开始
|
|
35
31
|
|
|
36
|
-
###
|
|
32
|
+
### 1) 初始化配置
|
|
37
33
|
|
|
38
34
|
```sh
|
|
39
|
-
local-router
|
|
35
|
+
local-router init
|
|
40
36
|
```
|
|
41
37
|
|
|
42
|
-
|
|
38
|
+
默认配置路径:
|
|
43
39
|
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
|
|
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
|
-
|
|
69
|
+
```sh
|
|
70
|
+
local-router start
|
|
71
|
+
```
|
|
78
72
|
|
|
79
|
-
|
|
73
|
+
默认地址:
|
|
80
74
|
|
|
81
|
-
|
|
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
|
-
|
|
79
|
+
## 常用命令
|
|
84
80
|
|
|
85
81
|
```sh
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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
|
-
|
|
95
|
+
常用参数:
|
|
95
96
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
110
|
+
示例(OpenAI Chat Completions):
|
|
106
111
|
|
|
107
112
|
```sh
|
|
108
|
-
curl -X POST "http://127.0.0.1:4099/
|
|
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": "
|
|
112
|
-
"max_tokens": 64,
|
|
116
|
+
"model": "gpt-4o-mini",
|
|
113
117
|
"messages": [{"role":"user","content":"请回复 ok"}]
|
|
114
118
|
}'
|
|
115
119
|
```
|
|
116
120
|
|
|
117
|
-
##
|
|
121
|
+
## 配置规则(必须知道)
|
|
118
122
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
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
|
-
-
|
|
133
|
+
- 面板地址:`/admin`
|
|
134
134
|
- 健康检查:`GET /api/health`
|
|
135
|
-
-
|
|
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
|
-
###
|
|
147
|
+
### 客户端还需要带上游 API Key 吗?
|
|
147
148
|
|
|
148
|
-
一般不需要。local-router
|
|
149
|
+
一般不需要。local-router 会使用你在配置文件 `providers.*.apiKey` 中设置的密钥转发。
|
|
149
150
|
|
|
150
|
-
###
|
|
151
|
+
### 启动失败怎么办?
|
|
151
152
|
|
|
152
|
-
|
|
153
|
+
先检查:
|
|
153
154
|
|
|
154
|
-
- 端口 `4099`
|
|
155
|
-
-
|
|
156
|
-
- `routes` 引用的 provider
|
|
155
|
+
- 端口 `4099` 是否已占用(可用 `--port` 修改)
|
|
156
|
+
- `routes.<type>` 是否缺少 `*` 规则
|
|
157
|
+
- `routes` 引用的 provider 是否存在
|
|
158
|
+
- 配置文件是否是合法 JSON5
|
|
157
159
|
|
|
158
|
-
###
|
|
159
|
-
|
|
160
|
-
如果是生产/本地打包后运行,先执行:
|
|
160
|
+
### 如何升级?
|
|
161
161
|
|
|
162
162
|
```sh
|
|
163
|
-
|
|
163
|
+
npm i -g @lakphy/local-router@latest
|
|
164
|
+
# 或
|
|
165
|
+
bun add -g @lakphy/local-router@latest
|
|
164
166
|
```
|
|
165
167
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
## 运行要求
|
|
168
|
+
### 如何卸载?
|
|
169
169
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
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
|
+
```
|