@whispering233/ai-editor-server 0.0.30 → 0.0.32
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/client-dist/assets/index-BlZjI169.js +523 -0
- package/client-dist/assets/{index-BBkKfUUn.css → index-DUmFZL7d.css} +1 -1
- package/client-dist/index.html +3 -3
- package/dist/backup.d.ts +8 -7
- package/dist/backup.d.ts.map +1 -1
- package/dist/backup.js +61 -45
- package/dist/backup.js.map +1 -1
- package/dist/chat-runtime.d.ts +44 -0
- package/dist/chat-runtime.d.ts.map +1 -0
- package/dist/chat-runtime.js +102 -0
- package/dist/chat-runtime.js.map +1 -0
- package/dist/debug.d.ts +1 -1
- package/dist/debug.d.ts.map +1 -1
- package/dist/debug.js +3 -3
- package/dist/debug.js.map +1 -1
- package/dist/http-dispatcher.d.ts +30 -0
- package/dist/http-dispatcher.d.ts.map +1 -0
- package/dist/http-dispatcher.js +101 -0
- package/dist/http-dispatcher.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/middleware/project.d.ts.map +1 -1
- package/dist/middleware/project.js +4 -0
- package/dist/middleware/project.js.map +1 -1
- package/dist/model-runtime.d.ts +41 -0
- package/dist/model-runtime.d.ts.map +1 -0
- package/dist/model-runtime.js +81 -0
- package/dist/model-runtime.js.map +1 -0
- package/dist/routes/chat.d.ts +35 -72
- package/dist/routes/chat.d.ts.map +1 -1
- package/dist/routes/chat.js +390 -373
- package/dist/routes/chat.js.map +1 -1
- package/dist/routes/names.js +2 -2
- package/dist/routes/settings.d.ts +0 -53
- package/dist/routes/settings.d.ts.map +1 -1
- package/dist/routes/settings.js +159 -194
- package/dist/routes/settings.js.map +1 -1
- package/package.json +8 -6
- package/client-dist/assets/index-ygCEt46m.js +0 -523
package/dist/routes/chat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/names.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// char-/set-/loc-/hook-/ev-/tp-/ref- → entities 表(getEntity 已过滤软删)
|
|
6
6
|
// vol-/ch-/sc- → outline.json 节点(findOutlineNode 读侧不过滤软删——deleted: true 返回 null)
|
|
7
7
|
// rel- → null(关系无名称语义)
|
|
8
|
-
// 其余前缀(proj-/prop_/
|
|
8
|
+
// 其余前缀(proj-/prop_/call_/会话 id/未知)→ null
|
|
9
9
|
// 响应 names 键集 = 请求 ids 去重后全集(每个 id 必有条目,未命中 = null)
|
|
10
10
|
import { Hono } from "hono";
|
|
11
11
|
import { getEntity, findOutlineNode, readOutlineFile } from "@whispering233/ai-editor-db";
|
|
@@ -38,7 +38,7 @@ function resolveOne(id, project) {
|
|
|
38
38
|
return { label: OUTLINE_NODE_TYPE_LABELS[node.type], name: node.title };
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
// rel- 与其他前缀(proj-/prop_/
|
|
41
|
+
// rel- 与其他前缀(proj-/prop_/call_/会话 id/未知):无名称语义 → null
|
|
42
42
|
return null;
|
|
43
43
|
}
|
|
44
44
|
// POST /api/v1/names/resolve —— 批量名称解析
|
|
@@ -1,57 +1,4 @@
|
|
|
1
1
|
import { Hono } from "hono";
|
|
2
|
-
import type { UserConfigFile } from "@whispering233/ai-editor-shared";
|
|
3
|
-
import { type ThinkingLevel } from "@whispering233/ai-editor-shared/schemas";
|
|
4
|
-
/** 默认模型名(settings 端点;两 provider 目录均含该模型——兜底/初始态稳定) */
|
|
5
|
-
export declare const DEFAULT_MODEL = "deepseek-v4-flash";
|
|
6
|
-
/** 环境变量(各 provider 解析链第 ① 级;测试经 process.env 注入) */
|
|
7
|
-
export declare const DEEPSEEK_API_KEY_ENV = "DEEPSEEK_API_KEY";
|
|
8
|
-
export declare const OPENCODE_API_KEY_ENV = "OPENCODE_API_KEY";
|
|
9
|
-
/** 用户级配置文件相对 HOME 的路径(不入项目文件) */
|
|
10
|
-
export declare const USER_CONFIG_RELATIVE_PATH: string;
|
|
11
|
-
/** pi-agent 凭据文件相对 HOME 的路径(只读兜底;opencode-go 订阅 key 通常在此) */
|
|
12
|
-
export declare const PI_AGENT_AUTH_RELATIVE_PATH: string;
|
|
13
|
-
/** 缺省思考强度(与 SharedConfig 缺省一致,读侧兜底) */
|
|
14
|
-
export declare const DEFAULT_THINKING_LEVEL: ThinkingLevel;
|
|
15
|
-
/** 用户级配置文件绝对路径(os.homedir() 读 $HOME,测试设 HOME 即可隔离) */
|
|
16
|
-
export declare function userConfigPath(): string;
|
|
17
|
-
/** pi-agent auth.json 绝对路径(只读;测试设 HOME 即可隔离) */
|
|
18
|
-
export declare function piAgentAuthPath(): string;
|
|
19
|
-
/**
|
|
20
|
-
* 读取用户级配置;文件不存在 / JSON 损坏 / schema 不合法 → 返回空配置(默认值语义,不抛错)。
|
|
21
|
-
* schema 正式化(shared userConfigFileSchema,非 strict 宽松读取——用户自有文件,
|
|
22
|
-
* 未来版本追加字段不使整份配置失效);v0/v1 旧格式与 v2 同读侧兼容,不迁移不写回
|
|
23
|
-
* (用户下次在设置页保存时自然落新格式)。
|
|
24
|
-
*/
|
|
25
|
-
export declare function getUserConfig(): UserConfigFile;
|
|
26
|
-
/** 激活 provider:config.provider 已注册才采用;否则缺省 deepseek(配置漂移兜底) */
|
|
27
|
-
export declare function effectiveProvider(): string;
|
|
28
|
-
/** provider 展示名(错误文案/调试用);未知 provider → 原 id */
|
|
29
|
-
export declare function providerDisplayName(provider: string): string;
|
|
30
|
-
/** provider 环境变量名(错误文案用) */
|
|
31
|
-
export declare function providerEnvVar(provider: string): string | undefined;
|
|
32
|
-
/**
|
|
33
|
-
* 计算某 provider 的有效 key 与掩码:环境变量 > config.json > pi-agent auth.json(只读兜底)
|
|
34
|
-
* 三级都无 → null(apiKeySet=false,无掩码)。缺省 provider = deepseek(旧单 provider 语义)。
|
|
35
|
-
*/
|
|
36
|
-
export declare function effectiveApiKey(provider?: string): {
|
|
37
|
-
key: string | null;
|
|
38
|
-
masked: string | undefined;
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* 写入用户级配置(v2 合并语义:显式 undefined 字段不覆盖已有值)。
|
|
42
|
-
* - provider/model/thinking_level 顶层覆盖
|
|
43
|
-
* - api_keys 按键合并:提供即覆盖,空字符串 = 删除该键(清空 map 时整个字段移除)
|
|
44
|
-
* - 落盘 schema_version=2;v1 旧 api_key 字段保留不迁移(读侧兼容已覆盖)
|
|
45
|
-
* 原子写:复用 @whispering233/ai-editor-db 的 writeJsonAtomic(临时文件 wx 独占 +
|
|
46
|
-
* 文件 fsync + rename + 目录 fsync)。目标在 $HOME/.ai-editor/ 下,目录 fsync 在部分
|
|
47
|
-
* 平台/文件系统受限时由 db 实现静默忽略(主链路已保证文件内容完整)
|
|
48
|
-
*/
|
|
49
|
-
export declare function saveUserConfig(partial: {
|
|
50
|
-
provider?: string;
|
|
51
|
-
model?: string;
|
|
52
|
-
thinking_level?: ThinkingLevel;
|
|
53
|
-
api_keys?: Record<string, string>;
|
|
54
|
-
}): UserConfigFile;
|
|
55
2
|
/** 设置路由(挂载于 /api/v1/settings) */
|
|
56
3
|
export declare const settingsRoutes: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
57
4
|
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAa5B,iCAAiC;AACjC,eAAO,MAAM,cAAc,4EAAa,CAAC"}
|
package/dist/routes/settings.js
CHANGED
|
@@ -1,218 +1,183 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
// 设置路由:GET/PUT /api/v1/settings/llm(pi 数据源)
|
|
2
|
+
//
|
|
3
|
+
// 契约 = docs/api/90-api-settings.md;配置载体与读写边界 = docs/design/config.md。
|
|
4
|
+
//
|
|
5
|
+
// **本模块不持有任何配置**:模型目录 / 凭据 / 运行参数全部来自 pi(`ModelRuntime` +
|
|
6
|
+
// `~/.pi/agent` 的 auth.json / models.json / settings.json),本端点只做「读快照 + 写 pi」。
|
|
7
|
+
// 环境变量(`DEEPSEEK_API_KEY` 等)由 pi 的凭据解析链优先消费。
|
|
8
|
+
//
|
|
9
|
+
// 写入语义(两个入口互不影响):
|
|
10
|
+
// - provider/model/thinking_level → pi settings(`~/.pi/agent/settings.json`)
|
|
11
|
+
// - api_key(单家)→ pi credential store(`~/.pi/agent/auth.json`);空串 = 清除该家存量的 API key 凭据
|
|
12
|
+
//
|
|
13
|
+
// 绝不写入项目文件(项目目录内的 `.pi/` 同样不参与:settings 实例 projectTrusted=false)。
|
|
13
14
|
import { Hono } from "hono";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { settingsLlmGetResSchema, settingsLlmPutReqSchema, userConfigFileSchema, } from "@whispering233/ai-editor-shared/schemas";
|
|
17
|
-
import { DEFAULT_PROVIDER, getAvailableModels, REGISTERED_PROVIDERS } from "@whispering233/ai-editor-llm";
|
|
15
|
+
import { CredentialSynchronizationError } from "@earendil-works/pi-coding-agent";
|
|
16
|
+
import { settingsLlmGetResSchema, settingsLlmPutReqSchema } from "@whispering233/ai-editor-shared/schemas";
|
|
18
17
|
import { HttpError, ok } from "../middleware/error.js";
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const ENV_VAR_OF = {
|
|
26
|
-
deepseek: DEEPSEEK_API_KEY_ENV,
|
|
27
|
-
"opencode-go": OPENCODE_API_KEY_ENV,
|
|
28
|
-
};
|
|
29
|
-
/** 用户级配置文件相对 HOME 的路径(不入项目文件) */
|
|
30
|
-
export const USER_CONFIG_RELATIVE_PATH = join(".ai-editor", "config.json");
|
|
31
|
-
/** pi-agent 凭据文件相对 HOME 的路径(只读兜底;opencode-go 订阅 key 通常在此) */
|
|
32
|
-
export const PI_AGENT_AUTH_RELATIVE_PATH = join(".pi", "agent", "auth.json");
|
|
33
|
-
/** 缺省思考强度(与 SharedConfig 缺省一致,读侧兜底) */
|
|
34
|
-
export const DEFAULT_THINKING_LEVEL = "high";
|
|
35
|
-
/** 用户级配置文件绝对路径(os.homedir() 读 $HOME,测试设 HOME 即可隔离) */
|
|
36
|
-
export function userConfigPath() {
|
|
37
|
-
return join(homedir(), USER_CONFIG_RELATIVE_PATH);
|
|
38
|
-
}
|
|
39
|
-
/** pi-agent auth.json 绝对路径(只读;测试设 HOME 即可隔离) */
|
|
40
|
-
export function piAgentAuthPath() {
|
|
41
|
-
return join(homedir(), PI_AGENT_AUTH_RELATIVE_PATH);
|
|
18
|
+
import { PI_DEFAULT_THINKING_LEVEL, getModelRuntime, getSettingsManager, reloadModelRuntime, resolveActiveSelection, } from "../model-runtime.js";
|
|
19
|
+
/** 设置路由(挂载于 /api/v1/settings) */
|
|
20
|
+
export const settingsRoutes = new Hono();
|
|
21
|
+
/** 错误信息文本(不泄露凭据内容:pi 的错误只含 provider id/原因) */
|
|
22
|
+
function messageOf(err) {
|
|
23
|
+
return err instanceof Error ? err.message : String(err);
|
|
42
24
|
}
|
|
25
|
+
// GET /api/v1/settings/llm —— provider 目录 + 认证状态 + 激活模型(凭据明文永不回传)
|
|
26
|
+
settingsRoutes.get("/llm", async (c) => {
|
|
27
|
+
const modelRuntime = await getModelRuntime();
|
|
28
|
+
const settings = getSettingsManager();
|
|
29
|
+
// 本地重载(不联网):外部编辑 models.json / 环境变量变化在下次读取即可见
|
|
30
|
+
await reloadModelRuntime(modelRuntime);
|
|
31
|
+
const selection = await resolveActiveSelection(modelRuntime, settings);
|
|
32
|
+
const payload = settingsLlmGetResSchema.parse({
|
|
33
|
+
// 未配置任何模型 → 空串(前端展示「未配置」引导)
|
|
34
|
+
provider: selection?.provider ?? "",
|
|
35
|
+
model: selection?.modelId ?? "",
|
|
36
|
+
thinkingLevel: settings.getDefaultThinkingLevel() ?? PI_DEFAULT_THINKING_LEVEL,
|
|
37
|
+
// 全量 provider(含未配置认证者):设置页需要展示并引导录入 key
|
|
38
|
+
providers: modelRuntime.getProviders().map((provider) => {
|
|
39
|
+
const status = modelRuntime.getProviderAuthStatus(provider.id);
|
|
40
|
+
return {
|
|
41
|
+
id: provider.id,
|
|
42
|
+
displayName: provider.name,
|
|
43
|
+
authConfigured: status.configured,
|
|
44
|
+
...(status.source === undefined ? {} : { authSource: status.source }),
|
|
45
|
+
models: modelRuntime.getModels(provider.id).map((model) => ({
|
|
46
|
+
id: model.id,
|
|
47
|
+
provider: model.provider,
|
|
48
|
+
displayName: model.name,
|
|
49
|
+
contextWindow: model.contextWindow,
|
|
50
|
+
maxTokens: model.maxTokens,
|
|
51
|
+
reasoning: model.reasoning,
|
|
52
|
+
})),
|
|
53
|
+
};
|
|
54
|
+
}),
|
|
55
|
+
});
|
|
56
|
+
return c.json(ok(payload));
|
|
57
|
+
});
|
|
43
58
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
59
|
+
* 解析 PUT 的目标 (provider, model) 对(不变式:model 必须属于目标 provider 目录)。
|
|
60
|
+
* - provider+model 同传:跨 provider 激活(前端恒成对发送)
|
|
61
|
+
* - 只给 model:唯一归属自动定 provider;无归属 / 撞名歧义 → 400
|
|
62
|
+
* - 只给 provider:当前模型必须仍在其目录(防静默改用户选择)
|
|
48
63
|
*/
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return parsed.success ? parsed.data : {};
|
|
64
|
+
function resolveTargetModel(modelRuntime, input) {
|
|
65
|
+
const { provider, model, currentModelId } = input;
|
|
66
|
+
if (provider !== undefined && modelRuntime.getProvider(provider) === undefined) {
|
|
67
|
+
throw new HttpError(400, "VALIDATION_ERROR", `未知 provider: ${provider}`);
|
|
54
68
|
}
|
|
55
|
-
|
|
56
|
-
|
|
69
|
+
const modelIdsOf = (providerId) => new Set(modelRuntime.getModels(providerId).map((m) => m.id));
|
|
70
|
+
if (model !== undefined) {
|
|
71
|
+
let targetProvider = provider;
|
|
72
|
+
if (targetProvider === undefined) {
|
|
73
|
+
const owners = modelRuntime.getProviders().filter((p) => modelIdsOf(p.id).has(model));
|
|
74
|
+
if (owners.length === 0) {
|
|
75
|
+
throw new HttpError(400, "VALIDATION_ERROR", `模型不在任何 provider 目录: ${model}`);
|
|
76
|
+
}
|
|
77
|
+
if (owners.length > 1) {
|
|
78
|
+
throw new HttpError(400, "VALIDATION_ERROR", `模型在多 provider 目录中存在(撞名),请显式指定 provider: ${owners.map((p) => p.id).join("/")}`);
|
|
79
|
+
}
|
|
80
|
+
targetProvider = owners[0].id;
|
|
81
|
+
}
|
|
82
|
+
if (!modelIdsOf(targetProvider).has(model)) {
|
|
83
|
+
const displayName = modelRuntime.getProvider(targetProvider)?.name ?? targetProvider;
|
|
84
|
+
throw new HttpError(400, "VALIDATION_ERROR", `模型 ${model} 不在 provider ${displayName} 目录`);
|
|
85
|
+
}
|
|
86
|
+
return { provider: targetProvider, modelId: model };
|
|
57
87
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
return
|
|
88
|
+
if (provider !== undefined) {
|
|
89
|
+
const current = currentModelId;
|
|
90
|
+
if (current === undefined || current === "") {
|
|
91
|
+
throw new HttpError(400, "VALIDATION_ERROR", `切换 provider 需显式指定 model(当前无激活模型)`);
|
|
92
|
+
}
|
|
93
|
+
if (!modelIdsOf(provider).has(current)) {
|
|
94
|
+
const displayName = modelRuntime.getProvider(provider)?.name ?? provider;
|
|
95
|
+
throw new HttpError(400, "VALIDATION_ERROR", `当前模型 ${current} 不在 provider ${displayName} 目录,请显式选择模型`);
|
|
96
|
+
}
|
|
97
|
+
return { provider, modelId: current };
|
|
68
98
|
}
|
|
69
|
-
if (provider === "deepseek" && typeof cfg.api_key === "string" && cfg.api_key !== "")
|
|
70
|
-
return cfg.api_key;
|
|
71
99
|
return null;
|
|
72
100
|
}
|
|
73
|
-
/** pi-agent auth.json 只读兜底:条目 type=api_key 且 key 非空才生效;任何异常 → null */
|
|
74
|
-
function piAgentKeyOf(provider) {
|
|
75
|
-
try {
|
|
76
|
-
const obj = JSON.parse(readFileSync(piAgentAuthPath(), "utf8"));
|
|
77
|
-
const entry = obj?.[provider];
|
|
78
|
-
if (typeof entry !== "object" || entry === null)
|
|
79
|
-
return null;
|
|
80
|
-
const e = entry;
|
|
81
|
-
if (e.type === "api_key" && typeof e.key === "string" && e.key !== "")
|
|
82
|
-
return e.key;
|
|
83
|
-
return null;
|
|
84
|
-
}
|
|
85
|
-
catch {
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
/** provider 展示名(错误文案/调试用);未知 provider → 原 id */
|
|
90
|
-
export function providerDisplayName(provider) {
|
|
91
|
-
return REGISTERED_PROVIDERS.find((p) => p.id === provider)?.displayName ?? provider;
|
|
92
|
-
}
|
|
93
|
-
/** provider 环境变量名(错误文案用) */
|
|
94
|
-
export function providerEnvVar(provider) {
|
|
95
|
-
return ENV_VAR_OF[provider];
|
|
96
|
-
}
|
|
97
101
|
/**
|
|
98
|
-
*
|
|
99
|
-
*
|
|
102
|
+
* 写入 / 清除单家 API key 凭据(pi credential store)。
|
|
103
|
+
* - 非空 key:走 pi 的 `login("api_key")`——交互式提示由我们不变量地回填本次输入
|
|
104
|
+
* (pi 会把凭据落盘到 auth.json 并做**本地**凭据同步,不联网)
|
|
105
|
+
* - 空 key:删除该家存量的 api_key 凭据(回到 env 解析);OAuth 凭据不在此入口删除
|
|
106
|
+
* (设置页只写 API key,误删会让用户的订阅登录失效)
|
|
100
107
|
*/
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
* - provider/model/thinking_level 顶层覆盖
|
|
111
|
-
* - api_keys 按键合并:提供即覆盖,空字符串 = 删除该键(清空 map 时整个字段移除)
|
|
112
|
-
* - 落盘 schema_version=2;v1 旧 api_key 字段保留不迁移(读侧兼容已覆盖)
|
|
113
|
-
* 原子写:复用 @whispering233/ai-editor-db 的 writeJsonAtomic(临时文件 wx 独占 +
|
|
114
|
-
* 文件 fsync + rename + 目录 fsync)。目标在 $HOME/.ai-editor/ 下,目录 fsync 在部分
|
|
115
|
-
* 平台/文件系统受限时由 db 实现静默忽略(主链路已保证文件内容完整)
|
|
116
|
-
*/
|
|
117
|
-
export function saveUserConfig(partial) {
|
|
118
|
-
const file = userConfigPath();
|
|
119
|
-
const next = { ...getUserConfig() };
|
|
120
|
-
if (partial.provider !== undefined)
|
|
121
|
-
next.provider = partial.provider;
|
|
122
|
-
if (partial.model !== undefined)
|
|
123
|
-
next.model = partial.model;
|
|
124
|
-
if (partial.thinking_level !== undefined)
|
|
125
|
-
next.thinking_level = partial.thinking_level;
|
|
126
|
-
if (partial.api_keys !== undefined) {
|
|
127
|
-
const map = { ...(next.api_keys ?? {}) };
|
|
128
|
-
for (const [k, v] of Object.entries(partial.api_keys)) {
|
|
129
|
-
if (v === "")
|
|
130
|
-
delete map[k]; // 空字符串 = 清除该家已保存 key
|
|
131
|
-
else
|
|
132
|
-
map[k] = v;
|
|
108
|
+
async function applyApiKey(modelRuntime, providerId, key) {
|
|
109
|
+
if (modelRuntime.getProvider(providerId) === undefined) {
|
|
110
|
+
throw new HttpError(400, "VALIDATION_ERROR", `未知 provider: ${providerId}`);
|
|
111
|
+
}
|
|
112
|
+
const trimmed = key.trim();
|
|
113
|
+
if (trimmed === "") {
|
|
114
|
+
const stored = (await modelRuntime.listCredentials()).find((entry) => entry.providerId === providerId);
|
|
115
|
+
if (stored?.type === "oauth") {
|
|
116
|
+
throw new HttpError(400, "VALIDATION_ERROR", `${providerId} 当前使用 OAuth 凭据登录,本入口只能清除 API key(请用 pi CLI 管理订阅登录)`);
|
|
133
117
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
118
|
+
await modelRuntime.logout(providerId);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
// 与清除路径对称:存量 OAuth(订阅登录)不得被一次 API key 写入静默覆盖
|
|
122
|
+
// (pi 每 provider 只存一条凭据;覆盖后用户需用 pi CLI 重新登录才能恢复)
|
|
123
|
+
const existing = (await modelRuntime.listCredentials()).find((entry) => entry.providerId === providerId);
|
|
124
|
+
if (existing?.type === "oauth") {
|
|
125
|
+
throw new HttpError(400, "VALIDATION_ERROR", `${providerId} 当前使用 OAuth 凭据登录,本入口不覆盖订阅登录(请用 pi CLI 管理订阅登录)`);
|
|
126
|
+
}
|
|
127
|
+
const interaction = {
|
|
128
|
+
notify: () => {
|
|
129
|
+
// pi 的登录进度提示(终端向);本入口无 UI,忽略
|
|
130
|
+
},
|
|
131
|
+
prompt: async (prompt) => {
|
|
132
|
+
if (prompt.type === "secret")
|
|
133
|
+
return trimmed;
|
|
134
|
+
if (prompt.type === "select") {
|
|
135
|
+
const option = prompt.options.find((o) => o.id === "api-key" || o.id === "bearer-token");
|
|
136
|
+
if (option !== undefined)
|
|
137
|
+
return option.id;
|
|
138
|
+
}
|
|
139
|
+
throw new Error(`${providerId} 需要交互式认证配置,本入口只支持 API key`);
|
|
140
|
+
},
|
|
141
|
+
};
|
|
142
|
+
try {
|
|
143
|
+
await modelRuntime.login(providerId, "api_key", interaction);
|
|
144
|
+
}
|
|
145
|
+
catch (err) {
|
|
146
|
+
// 凭据已落盘、仅本地状态同步失败:按服务端错误呈现(让用户重试而不是怀疑输入)
|
|
147
|
+
if (err instanceof CredentialSynchronizationError) {
|
|
148
|
+
throw new HttpError(500, "INTERNAL_ERROR", `${providerId} 的凭据已写入,但模型状态同步失败:${messageOf(err)}`);
|
|
149
|
+
}
|
|
150
|
+
throw new HttpError(400, "VALIDATION_ERROR", `保存 ${providerId} 的 API key 失败:${messageOf(err)}`);
|
|
138
151
|
}
|
|
139
|
-
// 保存时落新格式:schema_version=2(读侧兼容已保证 v0/v1 文件零破坏)
|
|
140
|
-
next.schema_version = 2;
|
|
141
|
-
mkdirSync(dirname(file), { recursive: true }); // writeJsonAtomic 不负责建目录
|
|
142
|
-
writeJsonAtomic(file, next);
|
|
143
|
-
return next;
|
|
144
152
|
}
|
|
145
|
-
|
|
146
|
-
export const settingsRoutes = new Hono();
|
|
147
|
-
// GET /api/v1/settings/llm —— 读取 LLM 配置(key 不回传明文,仅掩码;全量 provider 目录 + 各家 key 状态)
|
|
148
|
-
settingsRoutes.get("/llm", (c) => {
|
|
149
|
-
const cfg = getUserConfig();
|
|
150
|
-
const provider = effectiveProvider();
|
|
151
|
-
const payload = settingsLlmGetResSchema.parse({
|
|
152
|
-
provider,
|
|
153
|
-
model: cfg.model ?? DEFAULT_MODEL,
|
|
154
|
-
thinkingLevel: cfg.thinking_level ?? DEFAULT_THINKING_LEVEL,
|
|
155
|
-
// 全量注册 provider:各家目录 + 有效 key 状态(前端下拉分组 + key 缺失整组禁用的依据)
|
|
156
|
-
providers: REGISTERED_PROVIDERS.map((p) => {
|
|
157
|
-
const { key, masked } = effectiveApiKey(p.id);
|
|
158
|
-
return {
|
|
159
|
-
id: p.id,
|
|
160
|
-
displayName: p.displayName,
|
|
161
|
-
apiKeySet: key !== null,
|
|
162
|
-
...(masked !== undefined ? { apiKeyMasked: masked } : {}),
|
|
163
|
-
models: getAvailableModels(p.id).map((m) => ({
|
|
164
|
-
id: m.id,
|
|
165
|
-
provider: m.provider,
|
|
166
|
-
displayName: m.displayName,
|
|
167
|
-
contextWindow: m.contextWindow,
|
|
168
|
-
maxTokens: m.maxTokens,
|
|
169
|
-
reasoning: m.reasoning,
|
|
170
|
-
})),
|
|
171
|
-
};
|
|
172
|
-
}),
|
|
173
|
-
});
|
|
174
|
-
return c.json(ok(payload));
|
|
175
|
-
});
|
|
176
|
-
// PUT /api/v1/settings/llm —— 更新 LLM 配置(写入 ~/.ai-editor/config.json,绝不入项目文件)
|
|
177
|
-
// 校验不变式:最终 (provider, model) 必须满足 model ∈ provider 目录
|
|
178
|
-
// - provider+model 成对(跨 provider 激活,前端恒成对发送);model 不在该目录 → 400
|
|
179
|
-
// - 只给 model:唯一归属自动定 provider;撞名(deepseek-v4-flash/pro 两目录都有)歧义 → 400(须显式 provider)
|
|
180
|
-
// - 只给 provider:当前 model 不在新目录 → 400(须显式 model;防静默改用户选择)
|
|
153
|
+
// PUT /api/v1/settings/llm —— 写 pi settings(模型/思考强度)+ pi credential store(key)
|
|
181
154
|
settingsRoutes.put("/llm", async (c) => {
|
|
182
155
|
const raw = await c.req.json().catch(() => null); // 空 body / 非法 JSON → 校验失败
|
|
183
156
|
const parsed = settingsLlmPutReqSchema.safeParse(raw);
|
|
184
|
-
if (!parsed.success)
|
|
157
|
+
if (!parsed.success)
|
|
185
158
|
throw parsed.error; // → app.onError → 400 VALIDATION_ERROR(含 fields)
|
|
159
|
+
const { provider, model, thinking_level, api_key } = parsed.data;
|
|
160
|
+
const modelRuntime = await getModelRuntime();
|
|
161
|
+
const settings = getSettingsManager();
|
|
162
|
+
// 本地重载(不联网):PUT 与 GET 看到同一份目录(外部编辑 models.json 后直接 PUT 模型也能校验通过)
|
|
163
|
+
await reloadModelRuntime(modelRuntime);
|
|
164
|
+
// ---- 凭据(独立于模型切换:只保存 key 不改激活模型) ----
|
|
165
|
+
if (api_key !== undefined) {
|
|
166
|
+
await applyApiKey(modelRuntime, api_key.provider, api_key.key);
|
|
186
167
|
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
else if (owners.length === 0)
|
|
198
|
-
throw new HttpError(400, "VALIDATION_ERROR", `模型不在任何已注册 provider 目录: ${model}`);
|
|
199
|
-
else
|
|
200
|
-
throw new HttpError(400, "VALIDATION_ERROR", `模型在多 provider 目录中存在(撞名),请显式指定 provider: ${owners.map((p) => p.id).join("/")}`);
|
|
201
|
-
}
|
|
202
|
-
if (!getAvailableModels(targetProvider).some((m) => m.id === model)) {
|
|
203
|
-
throw new HttpError(400, "VALIDATION_ERROR", `模型 ${model} 不在 provider ${providerDisplayName(targetProvider)} 目录`);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
else if (provider !== undefined && !getAvailableModels(provider).some((m) => m.id === currentModel)) {
|
|
207
|
-
// 只给 provider:当前 model 必须仍在新目录(默认模型两目录都有,正常路径恒过)
|
|
208
|
-
throw new HttpError(400, "VALIDATION_ERROR", `当前模型 ${currentModel} 不在 provider ${providerDisplayName(provider)} 目录,请显式选择模型`);
|
|
168
|
+
// ---- 激活模型(provider + model 成对;缺省按当前激活模型消歧) ----
|
|
169
|
+
if (provider !== undefined || model !== undefined) {
|
|
170
|
+
const selection = await resolveActiveSelection(modelRuntime, settings);
|
|
171
|
+
const target = resolveTargetModel(modelRuntime, {
|
|
172
|
+
provider,
|
|
173
|
+
model,
|
|
174
|
+
currentModelId: selection?.modelId,
|
|
175
|
+
});
|
|
176
|
+
if (target !== null)
|
|
177
|
+
settings.setDefaultModelAndProvider(target.provider, target.modelId);
|
|
209
178
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
model,
|
|
213
|
-
thinking_level,
|
|
214
|
-
api_keys,
|
|
215
|
-
});
|
|
179
|
+
if (thinking_level !== undefined)
|
|
180
|
+
settings.setDefaultThinkingLevel(thinking_level);
|
|
216
181
|
return c.json(ok({ saved: true })); // settingsLlmPutResSchema 形状
|
|
217
182
|
});
|
|
218
183
|
//# sourceMappingURL=settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":"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"}
|