psyclaw 0.26.1 → 0.26.3

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/dist/src/setup.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import { getAgentDir } from "@earendil-works/pi-coding-agent";
2
- import { mkdir, readFile, writeFile } from "node:fs/promises";
3
- import { join } from "node:path";
2
+ import { execFile } from "node:child_process";
3
+ import { mkdir, readFile, rename, rm, stat, writeFile } from "node:fs/promises";
4
+ import { basename, join } from "node:path";
4
5
  import { dirname } from "node:path";
5
6
  import { fileURLToPath, pathToFileURL } from "node:url";
7
+ import { randomUUID } from "node:crypto";
6
8
  import { DEFAULT_PRICING, PROVIDER_PRICING } from "./core/pricing.js";
7
9
  /**
8
10
  * Generic, provider-neutral presets. None of these embed a literal API key:
@@ -10,6 +12,17 @@ import { DEFAULT_PRICING, PROVIDER_PRICING } from "./core/pricing.js";
10
12
  * the user supplies the secret in their shell environment, never on disk.
11
13
  */
12
14
  export const PROVIDER_PRESETS = [
15
+ {
16
+ id: "google",
17
+ name: "Google Gemini",
18
+ baseUrl: "https://generativelanguage.googleapis.com/v1beta/openai",
19
+ api: "openai-completions",
20
+ apiKeyEnv: "GEMINI_API_KEY",
21
+ models: [
22
+ { id: "gemini-2.5-pro", name: "Gemini 2.5 Pro", reasoning: true },
23
+ { id: "gemini-2.5-flash", name: "Gemini 2.5 Flash" },
24
+ ],
25
+ },
13
26
  {
14
27
  id: "deepseek",
15
28
  name: "DeepSeek",
@@ -113,6 +126,169 @@ function providerToJson(preset) {
113
126
  })),
114
127
  };
115
128
  }
129
+ function execFileText(file, args) {
130
+ return new Promise((resolve) => {
131
+ execFile(file, [...args], { encoding: "utf8", timeout: 3_000, maxBuffer: 64 * 1024, windowsHide: true }, (error, stdout) => {
132
+ const value = error ? "" : stdout.trim();
133
+ resolve(value || undefined);
134
+ });
135
+ });
136
+ }
137
+ function assertApiKeyEnv(apiKeyEnv) {
138
+ if (!/^[A-Z][A-Z0-9_]{0,127}$/.test(apiKeyEnv))
139
+ throw new Error("Invalid API key environment name");
140
+ }
141
+ export async function readMacOsLaunchctlCredential(apiKeyEnv) {
142
+ assertApiKeyEnv(apiKeyEnv);
143
+ if (process.platform !== "darwin")
144
+ return undefined;
145
+ return execFileText("/bin/launchctl", ["getenv", apiKeyEnv]);
146
+ }
147
+ /** Explicit import only: a login shell may execute user-controlled profile code. */
148
+ export async function readMacOsLoginShellCredential(apiKeyEnv) {
149
+ assertApiKeyEnv(apiKeyEnv);
150
+ if (process.platform !== "darwin")
151
+ return undefined;
152
+ const shell = process.env.SHELL?.trim() || "/bin/zsh";
153
+ if (shell !== "/bin/zsh" && shell !== "/bin/bash")
154
+ throw new Error("Only /bin/zsh and /bin/bash login shells are supported");
155
+ const nonce = randomUUID().replaceAll("-", "");
156
+ const start = `__PSYCLAW_KEY_${nonce}__`;
157
+ const end = `__PSYCLAW_END_${nonce}__`;
158
+ const output = await execFileText(shell, ["-lc", `command printf '${start}%s${end}' "\${${apiKeyEnv}-}"`]);
159
+ if (!output)
160
+ return undefined;
161
+ if (!output.startsWith(start) || !output.endsWith(end)
162
+ || output.indexOf(start, start.length) >= 0 || output.indexOf(end) !== output.length - end.length) {
163
+ throw new Error("Login shell produced unexpected output; import was refused");
164
+ }
165
+ const value = output.slice(start.length, -end.length);
166
+ if (!value || /[\u0000-\u001f\u007f]/u.test(value))
167
+ throw new Error("Login shell credential is empty or contains control characters");
168
+ return value;
169
+ }
170
+ async function hasStoredCredential(providerId, agentDir) {
171
+ try {
172
+ const entry = fileURLToPath(import.meta.resolve("@earendil-works/pi-coding-agent"));
173
+ const { readStoredCredential } = await import(pathToFileURL(join(dirname(entry), "core", "auth-storage.js")).href);
174
+ return readStoredCredential(providerId, join(agentDir, "auth.json")) !== undefined;
175
+ }
176
+ catch {
177
+ return false;
178
+ }
179
+ }
180
+ /** Detect a provider credential without returning or logging its value. */
181
+ export async function providerCredentialSource(preset, options = {}) {
182
+ assertApiKeyEnv(preset.apiKeyEnv);
183
+ if (!/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(preset.id))
184
+ throw new Error("Invalid provider id");
185
+ const processValue = process.env[preset.apiKeyEnv]?.trim();
186
+ if (processValue)
187
+ return "process-env";
188
+ const platform = options.platform ?? process.platform;
189
+ if (platform === "darwin") {
190
+ const launchctlValue = await execFileText("/bin/launchctl", ["getenv", preset.apiKeyEnv]);
191
+ if (launchctlValue)
192
+ return "macos-launchctl";
193
+ }
194
+ return await hasStoredCredential(preset.id, options.agentDir ?? getAgentDir()) ? "auth-store" : "missing";
195
+ }
196
+ const modelWriteQueues = new Map();
197
+ const STALE_MODELS_LOCK_MS = 30_000;
198
+ async function withModelsLock(modelsPath, operation) {
199
+ const previous = modelWriteQueues.get(modelsPath) ?? Promise.resolve();
200
+ const queued = previous.catch(() => undefined).then(async () => {
201
+ const lockPath = `${modelsPath}.psyclaw.lock`;
202
+ const deadline = Date.now() + 10_000;
203
+ while (true) {
204
+ try {
205
+ await mkdir(lockPath);
206
+ break;
207
+ }
208
+ catch (error) {
209
+ if (error.code !== "EEXIST")
210
+ throw error;
211
+ const ageMs = await stat(lockPath).then((value) => Date.now() - value.mtimeMs).catch(() => 0);
212
+ if (ageMs > STALE_MODELS_LOCK_MS) {
213
+ const stalePath = `${lockPath}.stale.${process.pid}.${randomUUID()}`;
214
+ try {
215
+ await rename(lockPath, stalePath);
216
+ await rm(stalePath, { recursive: true, force: true });
217
+ }
218
+ catch (staleError) {
219
+ if (staleError.code !== "ENOENT")
220
+ throw staleError;
221
+ }
222
+ continue;
223
+ }
224
+ if (Date.now() >= deadline)
225
+ throw new Error(`Provider catalog is locked: ${modelsPath}`);
226
+ await new Promise((resolve) => setTimeout(resolve, 50));
227
+ }
228
+ }
229
+ try {
230
+ await writeFile(join(lockPath, "owner.json"), `${JSON.stringify({ pid: process.pid, createdAt: new Date().toISOString() })}\n`, { encoding: "utf8", flag: "wx" });
231
+ return await operation();
232
+ }
233
+ finally {
234
+ await rm(lockPath, { recursive: true, force: true });
235
+ }
236
+ });
237
+ modelWriteQueues.set(modelsPath, queued);
238
+ try {
239
+ return await queued;
240
+ }
241
+ finally {
242
+ if (modelWriteQueues.get(modelsPath) === queued)
243
+ modelWriteQueues.delete(modelsPath);
244
+ }
245
+ }
246
+ async function atomicJsonWrite(path, value) {
247
+ const suffix = `${process.pid}.${randomUUID()}`;
248
+ const temporary = join(dirname(path), `.${basename(path)}.${suffix}.tmp`);
249
+ const backup = join(dirname(path), `.${basename(path)}.${suffix}.bak`);
250
+ await writeFile(temporary, `${JSON.stringify(value, null, 2)}\n`, { encoding: "utf8", flag: "wx" });
251
+ let backedUp = false;
252
+ try {
253
+ try {
254
+ await rename(temporary, path);
255
+ }
256
+ catch (error) {
257
+ if (!["EEXIST", "EPERM", "EACCES"].includes(error.code))
258
+ throw error;
259
+ await rename(path, backup);
260
+ backedUp = true;
261
+ try {
262
+ await rename(temporary, path);
263
+ }
264
+ catch (replaceError) {
265
+ await rename(backup, path).catch(() => undefined);
266
+ throw replaceError;
267
+ }
268
+ }
269
+ }
270
+ finally {
271
+ await rm(temporary, { force: true }).catch(() => undefined);
272
+ if (backedUp)
273
+ await rm(backup, { force: true }).catch(() => undefined);
274
+ }
275
+ }
276
+ async function readProviderCatalog(modelsPath) {
277
+ try {
278
+ const parsed = JSON.parse(await readFile(modelsPath, "utf8"));
279
+ if (parsed.providers === undefined)
280
+ return {};
281
+ if (!parsed.providers || typeof parsed.providers !== "object" || Array.isArray(parsed.providers)) {
282
+ throw new Error(`Invalid provider catalog: ${modelsPath}`);
283
+ }
284
+ return parsed.providers;
285
+ }
286
+ catch (error) {
287
+ if (error.code === "ENOENT")
288
+ return {};
289
+ throw error;
290
+ }
291
+ }
116
292
  function providerConfig(input) {
117
293
  if (!/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(input.id))
118
294
  throw new Error("Invalid provider id");
@@ -144,24 +320,21 @@ function providerConfig(input) {
144
320
  export async function saveProviderConfig(input, options = {}) {
145
321
  const agentDir = options.agentDir ?? getAgentDir();
146
322
  const modelsPath = join(agentDir, "models.json");
147
- let existing = {};
148
- try {
149
- const parsed = JSON.parse(await readFile(modelsPath, "utf8"));
150
- if (parsed.providers && typeof parsed.providers === "object" && !Array.isArray(parsed.providers)) {
151
- existing.providers = parsed.providers;
152
- }
153
- }
154
- catch { /* start with a new catalog */ }
323
+ assertApiKeyEnv(input.apiKeyEnv);
155
324
  await mkdir(agentDir, { recursive: true });
156
- await writeFile(modelsPath, `${JSON.stringify({ providers: { ...existing.providers, [input.id]: providerConfig(input) } }, null, 2)}\n`, "utf8");
157
- if (input.apiKey?.trim()) {
325
+ const apiKey = input.apiKey?.trim();
326
+ if (apiKey) {
158
327
  // AuthStorage is intentionally not part of Pi's public root export. Resolve
159
328
  // the locked runtime's implementation without reading or logging secrets.
160
329
  const entry = fileURLToPath(import.meta.resolve("@earendil-works/pi-coding-agent"));
161
330
  const { AuthStorage } = await import(pathToFileURL(join(dirname(entry), "core", "auth-storage.js")).href);
162
331
  const auth = AuthStorage.create(join(agentDir, "auth.json"));
163
- await auth.modify(input.id, async () => ({ type: "api_key", key: input.apiKey.trim() }));
332
+ await auth.modify(input.id, async () => ({ type: "api_key", key: apiKey }));
164
333
  }
334
+ await withModelsLock(modelsPath, async () => {
335
+ const existing = await readProviderCatalog(modelsPath);
336
+ await atomicJsonWrite(modelsPath, { providers: { ...existing, [input.id]: providerConfig(input) } });
337
+ });
165
338
  return { path: modelsPath, providers: [input.id] };
166
339
  }
167
340
  /**
@@ -182,22 +355,11 @@ export async function setupProviders(options = {}) {
182
355
  throw new Error(`Unknown provider: ${id}`);
183
356
  providers[id] = providerToJson(preset);
184
357
  }
185
- let existing = {};
186
- try {
187
- const parsed = JSON.parse(await readFile(modelsPath, "utf8"));
188
- if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
189
- const candidate = parsed.providers;
190
- if (candidate && typeof candidate === "object" && !Array.isArray(candidate)) {
191
- existing = { providers: candidate };
192
- }
193
- }
194
- }
195
- catch {
196
- // Missing or malformed file: start from the presets.
197
- }
198
358
  await mkdir(agentDir, { recursive: true });
199
- const merged = { ...existing.providers, ...providers };
200
- await writeFile(modelsPath, `${JSON.stringify({ providers: merged }, null, 2)}\n`, "utf8");
359
+ await withModelsLock(modelsPath, async () => {
360
+ const existing = await readProviderCatalog(modelsPath);
361
+ await atomicJsonWrite(modelsPath, { providers: { ...existing, ...providers } });
362
+ });
201
363
  return { path: modelsPath, providers: Object.keys(providers) };
202
364
  }
203
365
  /** Whether any provider has been written to `models.json` yet. */
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/setup.ts"],"names":[],"mappings":"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"}
@@ -61,8 +61,8 @@ export function formatCliUsage() {
61
61
  "",
62
62
  ` ${c.bold(c.cyan("🚀 核心交互 (Interactive & Chat)"))}`,
63
63
  cmd("psyclaw [chat]", "[pi args...]", c.white("启动交互研究智能体 (默认入口)")),
64
- cmd("psyclaw wizard", "", c.white("首次使用提供商配置向导")),
65
- cmd("psyclaw setup", "[--provider deepseek|...]", c.white("配置模型提供商与 API Key")),
64
+ cmd("psyclaw wizard", "", c.white("配置 Provider、模型与 API Key")),
65
+ cmd("psyclaw setup", "[--provider deepseek|...]", c.white("写入 Provider 环境变量引用")),
66
66
  "",
67
67
  ` ${c.bold(c.cyan("🎯 课题生命周期 (Project Lifecycle)"))}`,
68
68
  cmd("psyclaw init", "<goal> [--paradigm <id>]", c.white("创建社科研究课题项目")),
@@ -1 +1 @@
1
- {"version":3,"file":"cli-ui.js","sourceRoot":"","sources":["../../../src/style/cli-ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-ui.js","sourceRoot":"","sources":["../../../src/style/cli-ui.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type WizardStep = "welcome" | "provider" | "model" | "confirm" | "done";
1
+ export type WizardStep = "welcome" | "provider" | "model" | "credential" | "confirm" | "done";
2
2
  export interface WizardResult {
3
3
  completed: boolean;
4
4
  provider?: string;
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from "react";
2
+ import { useEffect, useState } from "react";
3
3
  import { Box, Text, render, useInput } from "ink";
4
- import { PROVIDER_PRESETS, setupProviders } from "./setup.js";
4
+ import { PROVIDER_PRESETS, providerCredentialSource, readMacOsLoginShellCredential, saveProviderConfig } from "./setup.js";
5
5
  import { PSYCLAW_ACCENT, PSYCLAW_ERROR, PSYCLAW_OK, PSYCLAW_VERSION } from "./branding.js";
6
6
  function Banner() {
7
7
  return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { gap: 1, alignItems: "center", children: [_jsx(Text, { color: PSYCLAW_ACCENT, bold: true, children: "\u03C8 PsyClaw" }), _jsxs(Text, { color: "black", backgroundColor: PSYCLAW_ACCENT, bold: true, children: [" v", PSYCLAW_VERSION, " "] }), _jsx(Text, { dimColor: true, children: "\u793E\u79D1\u79D1\u7814\u667A\u80FD\u4F53 \u00B7 \u9996\u6B21\u914D\u7F6E\u5411\u5BFC" })] }), _jsx(Text, { dimColor: true, children: "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500" })] }));
@@ -16,21 +16,36 @@ function Selectable({ lines, selected }) {
16
16
  }) }));
17
17
  }
18
18
  function Wizard({ onDone }) {
19
+ const wizardProviders = PROVIDER_PRESETS.filter((preset) => preset.models.length > 0);
19
20
  const [step, setStep] = useState("welcome");
20
21
  const [providerIndex, setProviderIndex] = useState(0);
21
22
  const [modelIndex, setModelIndex] = useState(0);
22
- const provider = PROVIDER_PRESETS[providerIndex];
23
+ const [apiKey, setApiKey] = useState("");
24
+ const [credentialSource, setCredentialSource] = useState("checking");
25
+ const [credentialError, setCredentialError] = useState("");
26
+ const provider = wizardProviders[providerIndex];
23
27
  const model = provider?.models[modelIndex];
24
28
  const apiKeyEnv = provider?.apiKeyEnv ?? "";
25
- const keyConfigured = process.env[apiKeyEnv] !== undefined && process.env[apiKeyEnv] !== "";
29
+ const keyConfigured = credentialSource !== "missing" && credentialSource !== "checking";
30
+ useEffect(() => {
31
+ let active = true;
32
+ setCredentialSource("checking");
33
+ if (provider)
34
+ void providerCredentialSource(provider).then((source) => { if (active)
35
+ setCredentialSource(source); });
36
+ return () => { active = false; };
37
+ }, [provider]);
38
+ useEffect(() => {
39
+ setApiKey("");
40
+ }, [providerIndex]);
26
41
  const writeConfig = async () => {
27
42
  if (!provider)
28
43
  return;
29
- await setupProviders({ providers: [provider.id] });
44
+ await saveProviderConfig({ ...provider, ...(apiKey.trim() ? { apiKey: apiKey.trim() } : {}) });
30
45
  setStep("done");
31
46
  };
32
47
  useInput((input, key) => {
33
- if (input === "q" && step !== "done") {
48
+ if (input === "q" && step !== "done" && step !== "credential") {
34
49
  onDone({ completed: false });
35
50
  return;
36
51
  }
@@ -43,7 +58,7 @@ function Wizard({ onDone }) {
43
58
  if (key.upArrow)
44
59
  setProviderIndex((value) => Math.max(0, value - 1));
45
60
  if (key.downArrow)
46
- setProviderIndex((value) => Math.min(PROVIDER_PRESETS.length - 1, value + 1));
61
+ setProviderIndex((value) => Math.min(wizardProviders.length - 1, value + 1));
47
62
  if (key.return) {
48
63
  setModelIndex(0);
49
64
  setStep("model");
@@ -55,7 +70,23 @@ function Wizard({ onDone }) {
55
70
  if (key.downArrow)
56
71
  setModelIndex((value) => Math.min((provider?.models.length ?? 1) - 1, value + 1));
57
72
  if (key.return)
73
+ setStep("credential");
74
+ break;
75
+ case "credential":
76
+ if (key.escape)
77
+ setStep("model");
78
+ else if (key.return && (keyConfigured || apiKey.trim()))
58
79
  setStep("confirm");
80
+ else if (key.ctrl && input.toLowerCase() === "i" && process.platform === "darwin") {
81
+ setCredentialError("");
82
+ void readMacOsLoginShellCredential(apiKeyEnv)
83
+ .then((value) => value ? setApiKey(value) : setCredentialError(`登录 shell 中未找到 ${apiKeyEnv}`))
84
+ .catch((error) => setCredentialError(error instanceof Error ? error.message : "登录 shell 导入失败"));
85
+ }
86
+ else if (key.backspace || key.delete)
87
+ setApiKey((value) => value.slice(0, -1));
88
+ else if (input && !key.ctrl && !key.meta)
89
+ setApiKey((value) => value + input.replace(/[\r\n]/g, ""));
59
90
  break;
60
91
  case "confirm":
61
92
  if (key.return)
@@ -74,9 +105,9 @@ function Wizard({ onDone }) {
74
105
  break;
75
106
  }
76
107
  });
77
- const providerLines = PROVIDER_PRESETS.map((preset) => `${preset.name.padEnd(20)} (环境变量: $${preset.apiKeyEnv})`);
108
+ const providerLines = wizardProviders.map((preset) => `${preset.name.padEnd(20)} (环境变量: $${preset.apiKeyEnv})`);
78
109
  const modelLines = provider ? provider.models.map((entry) => `${entry.name.padEnd(26)} [${entry.id}]`) : [];
79
- return (_jsxs(Box, { borderStyle: "round", borderColor: PSYCLAW_ACCENT, paddingX: 2, paddingY: 1, flexDirection: "column", children: [_jsx(Banner, {}), step === "welcome" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, children: "\u6B22\u8FCE\u4F7F\u7528 PsyClaw\uFF01" }), _jsx(Text, { dimColor: true, children: "\u9996\u6B21\u8FD0\u884C\u9700\u914D\u7F6E\u4E00\u4E2A\u6A21\u578B\u63D0\u4F9B\u5546\uFF08API Key \u7531\u672C\u5730\u73AF\u5883\u53D8\u91CF\u5B89\u5168\u7BA1\u7406\uFF0C\u7EDD\u4E0D\u4E0A\u62A5\uFF09\u3002" }), _jsx(Hint, { children: "[Enter] \u5F00\u59CB\u914D\u7F6E \u00B7 [Q] \u9000\u51FA" })] })), step === "provider" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: PSYCLAW_ACCENT, children: "[1/3] \u9009\u62E9\u6A21\u578B\u63D0\u4F9B\u5546 (Provider)" }), _jsx(Selectable, { lines: providerLines, selected: providerIndex }), _jsx(Hint, { children: "[\u2191/\u2193] \u79FB\u52A8\u5149\u6807 \u00B7 [Enter] \u786E\u8BA4\u9009\u62E9 \u00B7 [Q] \u9000\u51FA" })] })), step === "model" && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { bold: true, color: PSYCLAW_ACCENT, children: ["[2/3] \u9009\u62E9\u9ED8\u8BA4\u6A21\u578B (", provider?.name, ")"] }), _jsx(Selectable, { lines: modelLines, selected: modelIndex }), _jsx(Hint, { children: "[\u2191/\u2193] \u79FB\u52A8\u5149\u6807 \u00B7 [Enter] \u786E\u8BA4\u9009\u62E9 \u00B7 [Q] \u9000\u51FA" })] })), step === "confirm" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: PSYCLAW_ACCENT, children: "[3/3] \u786E\u8BA4\u914D\u7F6E\u5E76\u5199\u5165" }), _jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsxs(Text, { children: ["\u2022 \u63D0\u4F9B\u5546: ", _jsx(Text, { color: PSYCLAW_ACCENT, bold: true, children: provider?.name })] }), _jsxs(Text, { children: ["\u2022 \u6A21 \u578B: ", _jsx(Text, { color: PSYCLAW_ACCENT, bold: true, children: model?.name }), " ", _jsxs(Text, { dimColor: true, children: ["(", model?.id, ")"] })] }), _jsxs(Text, { color: keyConfigured ? PSYCLAW_OK : PSYCLAW_ERROR, bold: true, children: ["\u2022 API Key: ", keyConfigured ? `✔ 已就绪 ($${apiKeyEnv})` : `✗ 未检测到 $${apiKeyEnv}(请先在环境设置)`] })] }), _jsx(Hint, { children: "[Enter] \u4FDD\u5B58\u5E76\u542F\u52A8\u5BF9\u8BDD \u00B7 [Esc] \u8FD4\u56DE\u4E0A\u4E00\u6B65 \u00B7 [Q] \u9000\u51FA" })] })), step === "done" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: PSYCLAW_OK, bold: true, children: "\u2714 \u914D\u7F6E\u5DF2\u6210\u529F\u5199\u5165 models.json \u4E0E\u73AF\u5883\u7F13\u5B58\uFF01" }), _jsx(Text, { dimColor: true, children: "\u9A6C\u4E0A\u542F\u52A8 PsyClaw \u667A\u80FD\u7814\u7A76\u52A9\u624B\u2026" }), _jsx(Hint, { children: "[Enter] \u7ACB\u5373\u8FDB\u5165\u5BF9\u8BDD \u00B7 [Q] \u9000\u51FA" })] }))] }));
110
+ return (_jsxs(Box, { borderStyle: "round", borderColor: PSYCLAW_ACCENT, paddingX: 2, paddingY: 1, flexDirection: "column", children: [_jsx(Banner, {}), step === "welcome" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, children: "\u6B22\u8FCE\u4F7F\u7528 PsyClaw\uFF01" }), _jsx(Text, { dimColor: true, children: "\u9996\u6B21\u8FD0\u884C\u9700\u914D\u7F6E\u4E00\u4E2A\u6A21\u578B\u63D0\u4F9B\u5546\uFF08API Key \u7531\u672C\u5730\u73AF\u5883\u53D8\u91CF\u5B89\u5168\u7BA1\u7406\uFF0C\u7EDD\u4E0D\u4E0A\u62A5\uFF09\u3002" }), _jsx(Hint, { children: "[Enter] \u5F00\u59CB\u914D\u7F6E \u00B7 [Q] \u9000\u51FA" })] })), step === "provider" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: PSYCLAW_ACCENT, children: "[1/4] \u9009\u62E9\u6A21\u578B\u63D0\u4F9B\u5546 (Provider)" }), _jsx(Selectable, { lines: providerLines, selected: providerIndex }), _jsx(Hint, { children: "[\u2191/\u2193] \u79FB\u52A8\u5149\u6807 \u00B7 [Enter] \u786E\u8BA4\u9009\u62E9 \u00B7 [Q] \u9000\u51FA" })] })), step === "model" && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { bold: true, color: PSYCLAW_ACCENT, children: ["[2/4] \u9009\u62E9\u9ED8\u8BA4\u6A21\u578B (", provider?.name, ")"] }), _jsx(Selectable, { lines: modelLines, selected: modelIndex }), _jsx(Hint, { children: "[\u2191/\u2193] \u79FB\u52A8\u5149\u6807 \u00B7 [Enter] \u786E\u8BA4\u9009\u62E9 \u00B7 [Q] \u9000\u51FA" })] })), step === "confirm" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: PSYCLAW_ACCENT, children: "[4/4] \u786E\u8BA4\u914D\u7F6E\u5E76\u5199\u5165" }), _jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsxs(Text, { children: ["\u2022 \u63D0\u4F9B\u5546: ", _jsx(Text, { color: PSYCLAW_ACCENT, bold: true, children: provider?.name })] }), _jsxs(Text, { children: ["\u2022 \u6A21 \u578B: ", _jsx(Text, { color: PSYCLAW_ACCENT, bold: true, children: model?.name }), " ", _jsxs(Text, { dimColor: true, children: ["(", model?.id, ")"] })] }), _jsxs(Text, { color: keyConfigured || apiKey.trim() ? PSYCLAW_OK : PSYCLAW_ERROR, bold: true, children: ["\u2022 API Key: ", apiKey.trim() ? "✔ 将保存到用户级凭据文件 auth.json" : `✔ 已检测到 (${credentialSource})`] })] }), _jsx(Hint, { children: "[Enter] \u4FDD\u5B58\u5E76\u542F\u52A8\u5BF9\u8BDD \u00B7 [Esc] \u8FD4\u56DE\u4E0A\u4E00\u6B65 \u00B7 [Q] \u9000\u51FA" })] })), step === "credential" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: PSYCLAW_ACCENT, children: "[3/4] \u914D\u7F6E API Key" }), _jsx(Text, { dimColor: true, children: "\u5DF2\u68C0\u67E5\u5F53\u524D\u8FDB\u7A0B\u3001macOS launchctl \u4E0E\u7528\u6237\u51ED\u636E\u5B58\u50A8\u3002" }), _jsxs(Box, { marginY: 1, children: [_jsx(Text, { children: "Key: " }), _jsx(Text, { color: PSYCLAW_ACCENT, children: apiKey ? "•".repeat(Math.min(apiKey.length, 48)) : keyConfigured ? "已检测到,可直接继续" : "请输入 API Key" })] }), !keyConfigured && !apiKey.trim() && _jsxs(Text, { color: PSYCLAW_ERROR, children: ["\u672A\u68C0\u6D4B\u5230 $", apiKeyEnv] }), credentialError && _jsx(Text, { color: PSYCLAW_ERROR, children: credentialError }), _jsxs(Hint, { children: ["\u76F4\u63A5\u8F93\u5165 Key\uFF08\u5185\u5BB9\u4E0D\u56DE\u663E\uFF09", process.platform === "darwin" ? " · [Ctrl+I] 明确从 login shell 导入并保存" : "", " \u00B7 [Enter] \u7EE7\u7EED \u00B7 [Esc] \u8FD4\u56DE"] })] })), step === "done" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: PSYCLAW_OK, bold: true, children: "\u2714 Provider \u4E0E\u51ED\u636E\u914D\u7F6E\u5DF2\u4FDD\u5B58\uFF01" }), _jsx(Text, { dimColor: true, children: "\u9A6C\u4E0A\u542F\u52A8 PsyClaw \u667A\u80FD\u7814\u7A76\u52A9\u624B\u2026" }), _jsx(Hint, { children: "[Enter] \u7ACB\u5373\u8FDB\u5165\u5BF9\u8BDD \u00B7 [Q] \u9000\u51FA" })] }))] }));
80
111
  }
81
112
  export function runWizard() {
82
113
  return new Promise((resolve) => {
@@ -1 +1 @@
1
- {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/wizard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/wizard.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "psyclaw",
3
- "version": "0.26.1",
3
+ "version": "0.26.3",
4
4
  "description": "A standalone, evidence-grounded social-science research agent — a conversation-driven agent that bundles the Pi runtime with psyclaw's research contracts, evidence gates, and workflows",
5
5
  "type": "module",
6
6
  "license": "MIT",