llmpt 1.1.2 → 1.1.4
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/.env.example +12 -0
- package/dist/index.js +54 -36
- package/dist/index.js.map +1 -1
- package/dist/server/config/loader.d.ts +4 -2
- package/dist/server/config/loader.d.ts.map +1 -1
- package/dist/server/config/loader.js +7 -5
- package/dist/server/config/loader.js.map +1 -1
- package/package.json +2 -1
package/.env.example
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# LPT 提供商配置 - 复制此文件为 .env 并填入真实值
|
|
2
|
+
|
|
3
|
+
# OpenAI / 兼容接口
|
|
4
|
+
OPENAI_BASE_URL=https://api.openai.com/v1
|
|
5
|
+
OPENAI_API_KEY=sk-...
|
|
6
|
+
|
|
7
|
+
# Anthropic
|
|
8
|
+
ANTHROPIC_BASE_URL=https://api.anthropic.com
|
|
9
|
+
ANTHROPIC_API_KEY=sk-ant-...
|
|
10
|
+
|
|
11
|
+
# Ollama 本地(无需 apiKey)
|
|
12
|
+
OLLAMA_BASE_URL=http://localhost:11434
|
package/dist/index.js
CHANGED
|
@@ -6,33 +6,67 @@ import { createApp } from './server/app.js';
|
|
|
6
6
|
import { loadConfig } from './server/config/loader.js';
|
|
7
7
|
import path from 'node:path';
|
|
8
8
|
import fs from 'node:fs';
|
|
9
|
+
import os from 'node:os';
|
|
9
10
|
import { fileURLToPath } from 'node:url';
|
|
10
11
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
11
12
|
/**
|
|
12
|
-
*
|
|
13
|
+
* 返回 AppData 目录:
|
|
14
|
+
* Windows : %APPDATA%\llmpt
|
|
15
|
+
* macOS : ~/Library/Application Support/llmpt
|
|
16
|
+
* Linux : ~/.config/llmpt
|
|
13
17
|
*/
|
|
14
|
-
function
|
|
15
|
-
if (
|
|
16
|
-
return;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
function getAppDataDir() {
|
|
19
|
+
if (process.platform === 'win32') {
|
|
20
|
+
return path.join(process.env.APPDATA ?? path.join(os.homedir(), 'AppData', 'Roaming'), 'llmpt');
|
|
21
|
+
}
|
|
22
|
+
if (process.platform === 'darwin') {
|
|
23
|
+
return path.join(os.homedir(), 'Library', 'Application Support', 'llmpt');
|
|
24
|
+
}
|
|
25
|
+
return path.join(os.homedir(), '.config', 'llmpt');
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 解析 .env 路径:优先 cwd,其次 appdata
|
|
29
|
+
* 若两处都不存在,则在 appdata 目录生成一份
|
|
30
|
+
* 返回实际使用的路径
|
|
31
|
+
*/
|
|
32
|
+
function resolveEnvPath(cwd) {
|
|
33
|
+
const cwdEnv = path.join(cwd, '.env');
|
|
34
|
+
if (fs.existsSync(cwdEnv))
|
|
35
|
+
return cwdEnv;
|
|
36
|
+
const appDataDir = getAppDataDir();
|
|
37
|
+
const appDataEnv = path.join(appDataDir, '.env');
|
|
38
|
+
if (fs.existsSync(appDataEnv))
|
|
39
|
+
return appDataEnv;
|
|
40
|
+
// 生成到 appdata
|
|
41
|
+
fs.mkdirSync(appDataDir, { recursive: true });
|
|
42
|
+
const examplePath = path.resolve(__dirname, '..', '.env.example');
|
|
43
|
+
if (fs.existsSync(examplePath)) {
|
|
44
|
+
fs.copyFileSync(examplePath, appDataEnv);
|
|
45
|
+
console.log(`📄 已生成配置文件:${appDataEnv}`);
|
|
46
|
+
console.log(' 请编辑该文件填入 API Key,修改后重启服务生效\n');
|
|
23
47
|
}
|
|
24
48
|
else {
|
|
25
|
-
console.log(`⚠️ 未找到
|
|
26
|
-
console.log(` 可手动创建 ${
|
|
49
|
+
console.log(`⚠️ 未找到 .env.example,将使用默认配置启动`);
|
|
50
|
+
console.log(` 可手动创建 ${appDataEnv} 填入 OPENAI_API_KEY 等变量\n`);
|
|
27
51
|
}
|
|
52
|
+
return appDataEnv;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* 解析 lpt.config.yaml 路径:优先 cwd,其次 appdata
|
|
56
|
+
*/
|
|
57
|
+
function resolveConfigPath(cwd) {
|
|
58
|
+
const cwdCfg = path.join(cwd, 'lpt.config.yaml');
|
|
59
|
+
if (fs.existsSync(cwdCfg))
|
|
60
|
+
return cwdCfg;
|
|
61
|
+
const appDataDir = getAppDataDir();
|
|
62
|
+
return path.join(appDataDir, 'lpt.config.yaml');
|
|
28
63
|
}
|
|
29
64
|
async function main() {
|
|
30
|
-
console.log('🚀 LPT
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
const config = loadConfig(configPath);
|
|
35
|
-
console.log(`📋 配置加载成功:端口 ${config.proxy.port}`);
|
|
65
|
+
console.log('🚀 LPT 启动中...');
|
|
66
|
+
const cwd = process.cwd();
|
|
67
|
+
const envPath = resolveEnvPath(cwd);
|
|
68
|
+
const configPath = resolveConfigPath(cwd);
|
|
69
|
+
const config = loadConfig(configPath, envPath);
|
|
36
70
|
// Create application
|
|
37
71
|
const { app, registry, collector, ws } = createApp(config, configPath);
|
|
38
72
|
// Create HTTP server with Hono handler
|
|
@@ -44,22 +78,7 @@ async function main() {
|
|
|
44
78
|
// Attach WebSocket to the same HTTP server
|
|
45
79
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
46
80
|
ws.attachToServer(server, '/ws');
|
|
47
|
-
console.log(
|
|
48
|
-
console.log(`🔌 WebSocket:ws://localhost:${config.proxy.port}/ws`);
|
|
49
|
-
console.log(`📁 Trace 目录:${config.trace.dir}`);
|
|
50
|
-
console.log('\n 代理路由:');
|
|
51
|
-
console.log(' POST /v1/chat/completions (OpenAI)');
|
|
52
|
-
console.log(' POST /v1/completions (OpenAI)');
|
|
53
|
-
console.log(' GET /v1/models');
|
|
54
|
-
console.log(' POST /v1/messages (Anthropic)');
|
|
55
|
-
console.log(' POST /api/chat (Ollama)');
|
|
56
|
-
console.log(' 管理 API:');
|
|
57
|
-
console.log(' GET /api/traces');
|
|
58
|
-
console.log(' GET /api/traces/:id');
|
|
59
|
-
console.log(' GET /api/providers');
|
|
60
|
-
console.log(' PUT /api/providers/:type');
|
|
61
|
-
console.log(' GET /api/stats');
|
|
62
|
-
console.log('\n ⌨️ Ctrl+C 停止\n');
|
|
81
|
+
console.log(`✅ 服务已启动:http://localhost:${config.proxy.port}`);
|
|
63
82
|
// Auto-open dashboard
|
|
64
83
|
if (config.dashboard.autoOpen) {
|
|
65
84
|
const url = `http://localhost:${config.proxy.port}`;
|
|
@@ -76,11 +95,10 @@ async function main() {
|
|
|
76
95
|
}
|
|
77
96
|
// Graceful shutdown
|
|
78
97
|
const shutdown = () => {
|
|
79
|
-
console.log('\n🛑
|
|
98
|
+
console.log('\n🛑 正在关闭...');
|
|
80
99
|
registry.stopRefreshTimers();
|
|
81
100
|
ws.stop();
|
|
82
101
|
server.close();
|
|
83
|
-
console.log('👋 已退出');
|
|
84
102
|
process.exit(0);
|
|
85
103
|
};
|
|
86
104
|
process.on('SIGINT', shutdown);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,+DAA+D;AAC/D,gEAAgE;AAChE,+DAA+D;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { AppConfig } from '../types.js';
|
|
2
2
|
declare const DEFAULT_CONFIG: AppConfig;
|
|
3
3
|
/**
|
|
4
|
-
* Load config from YAML file, falling back to defaults
|
|
4
|
+
* Load config from YAML file, falling back to defaults.
|
|
5
|
+
* @param configPath Path to lpt.config.yaml (optional, defaults to cwd)
|
|
6
|
+
* @param envPath Path to .env file to load (optional, defaults to cwd/.env)
|
|
5
7
|
*/
|
|
6
|
-
export declare function loadConfig(configPath?: string): AppConfig;
|
|
8
|
+
export declare function loadConfig(configPath?: string, envPath?: string): AppConfig;
|
|
7
9
|
/**
|
|
8
10
|
* Save config back to YAML file (encrypts API keys)
|
|
9
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/server/config/loader.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAmC,MAAM,aAAa,CAAC;AA4C9E,QAAA,MAAM,cAAc,EAAE,SAerB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/server/config/loader.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAmC,MAAM,aAAa,CAAC;AA4C9E,QAAA,MAAM,cAAc,EAAE,SAerB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAkC3E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAevE;AAmBD,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -68,13 +68,15 @@ const DEFAULT_CONFIG = {
|
|
|
68
68
|
},
|
|
69
69
|
};
|
|
70
70
|
/**
|
|
71
|
-
* Load config from YAML file, falling back to defaults
|
|
71
|
+
* Load config from YAML file, falling back to defaults.
|
|
72
|
+
* @param configPath Path to lpt.config.yaml (optional, defaults to cwd)
|
|
73
|
+
* @param envPath Path to .env file to load (optional, defaults to cwd/.env)
|
|
72
74
|
*/
|
|
73
|
-
export function loadConfig(configPath) {
|
|
75
|
+
export function loadConfig(configPath, envPath) {
|
|
74
76
|
const resolvedPath = configPath || path.resolve(process.cwd(), 'lpt.config.yaml');
|
|
75
|
-
//
|
|
76
|
-
const
|
|
77
|
-
loadDotEnv(
|
|
77
|
+
// 加载 .env(仅设置尚未存在的环境变量)
|
|
78
|
+
const resolvedEnvPath = envPath || path.resolve(process.cwd(), '.env');
|
|
79
|
+
loadDotEnv(resolvedEnvPath);
|
|
78
80
|
if (!fs.existsSync(resolvedPath)) {
|
|
79
81
|
const config = { ...DEFAULT_CONFIG, providers: {} };
|
|
80
82
|
applyEnvToProviders(config.providers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/server/config/loader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/server/config/loader.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "llmpt",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"description": "LLM Proxy Trace - local LLM proxy that captures full traces with real-time Web dashboard",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"files": [
|
|
12
12
|
"dist/",
|
|
13
13
|
"lpt.config.yaml",
|
|
14
|
+
".env.example",
|
|
14
15
|
"README.md",
|
|
15
16
|
"CHANGELOG.md",
|
|
16
17
|
"LICENSE"
|