psyclaw 0.27.0 → 0.27.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/README.md CHANGED
@@ -2,20 +2,20 @@
2
2
 
3
3
  PsyClaw 是面向社会科学研究的 Pi 工作台。它把研究项目、证据来源、Claim-Evidence 账本、完整性门禁、人工裁决、可恢复工作流和本地面板接到官方 Pi runtime 上;它不替代统计软件,也不会把未经核验的引用、结果或审稿意见写成事实。
4
4
 
5
- 当前版本:`0.27.0`。本仓库以 `psypi v0.4.1` 的完整工作台为功能基线完成改名;`psypi` 仓库保留为历史仓库,正式命令和后续发布均使用 `psyclaw`。
5
+ 当前版本:`0.27.4`。本仓库以 `psypi v0.4.1` 的完整工作台为功能基线完成改名;`psypi` 仓库保留为历史仓库,正式命令和后续发布均使用 `psyclaw`。
6
6
 
7
7
  ## 安装
8
8
 
9
9
  需要 Node.js `>=22.19.0`。官方 npm 源:
10
10
 
11
11
  ```powershell
12
- npm install -g psyclaw@0.27.0
12
+ npm install -g psyclaw@0.27.4
13
13
  ```
14
14
 
15
15
  中国大陆网络较慢或无法访问官方源时:
16
16
 
17
17
  ```powershell
18
- npm install -g psyclaw@0.27.0 --registry=https://registry.npmmirror.com
18
+ npm install -g psyclaw@0.27.4 --registry=https://registry.npmmirror.com
19
19
  ```
20
20
 
21
21
  确认命令入口:
@@ -99,7 +99,7 @@ where.exe psyclaw
99
99
 
100
100
  ```powershell
101
101
  npm uninstall -g psyclaw
102
- npm install -g psyclaw@0.27.0
102
+ npm install -g psyclaw@0.27.4
103
103
  psyclaw --help
104
104
  ```
105
105
 
@@ -1610,6 +1610,11 @@
1610
1610
  <div id="recommended-mcps-shelf" class="capability-grid"><p class="detail-key">读取中…</p></div>
1611
1611
  </div>
1612
1612
 
1613
+ <div style="margin-bottom:1.5rem;">
1614
+ <h3 style="font-size:1.1rem;margin-bottom:0.8rem;">外部工具</h3>
1615
+ <div id="external-tools-shelf" class="capability-grid"><p class="detail-key">读取中…</p></div>
1616
+ </div>
1617
+
1613
1618
  <div>
1614
1619
  <h3 style="font-size:1.1rem;margin-bottom:0.8rem;">⚙️ 已启用能力管理</h3>
1615
1620
  <div id="enabled-shelf" class="overview-grid"><p class="detail-key">读取中…</p></div>
@@ -2157,16 +2162,23 @@ document.getElementById("decision-form").addEventListener("submit", async (e) =>
2157
2162
  });
2158
2163
 
2159
2164
  const DEFAULT_RECOMMENDED_SKILLS = [
2160
- { id: "markitdown", name: "MarkItDown", stage: "统一", description: "把 PDF、Word、PPT、Excel、HTML 等转换为结构化 Markdown。", sourceRef: "https://github.com/microsoft/markitdown" },
2161
- { id: "markitdown-pro", name: "MarkItDown Pro", stage: "统一", description: "字幕优先、转录回退,把 B 站课程和讲座转成带来源状态的 Markdown。", sourceRef: "https://github.com/LHT666-hub/markItdown-pro" },
2162
- { id: "session-handoff", name: "Session Handoff", stage: "接力", description: "把长任务的目标、进度、阻塞和下一步写成可核验的交接状态。", sourceRef: "https://github.com/LHT666-hub/session-handoff" },
2165
+ { id: "markitdown-bilibili", name: "MarkItDown + Bilibili", stage: "材料转换", description: "字幕优先、转录回退,把 B 站课程和讲座转成带来源状态的 Markdown。", sourceRef: "https://github.com/LHT666-hub/markItdown-pro" },
2166
+ { id: "session-handoff", name: "Session Handoff", stage: "任务接力", description: "把长任务的目标、进度、阻塞和下一步写成可核验的交接状态。", sourceRef: "https://github.com/LHT666-hub/session-handoff" },
2163
2167
  { id: "zotero-translators", name: "Zotero Translators", stage: "题录", description: "从出版社和数据库页面提取规范题录、DOI、PDF 和补充材料。", sourceRef: "https://github.com/zotero/translators" },
2164
- { id: "scansci-pdf", name: "ScanSci PDF", stage: "获取", description: "按开放来源、官方接口和用户授权会话尝试获取论文全文。", sourceRef: "https://github.com/Rimagination/scansci-pdf" },
2165
- { id: "scholarbridge", name: "ScholarBridge", stage: "质控", description: "连接文献清单、PDF 完整性校验、哈希去重和 Zotero 交接。", sourceRef: "https://github.com/LHT666-hub/ScholarBridge" },
2166
- { id: "mentorforge", name: "MentorForge", stage: "蒸馏", description: "从学者主页、论文和全文信号卡中提炼可追问的科研方法论。", sourceRef: "https://github.com/qwqalice/MentorForge" },
2167
- { id: "supervisor-skills", name: "Supervisor-Skills", stage: "写作", description: "覆盖 idea、调研、写作、图表、评审和投稿前检查的科研规范。", sourceRef: "https://github.com/HKUSTDial/Supervisor-Skills" },
2168
- { id: "openkb", name: "OpenKB", stage: "知识库", description: "把异构资料编译成可链接、可检索、可持续更新的 Wiki。", sourceRef: "https://github.com/VectifyAI/OpenKB" },
2169
- { id: "smartplot", name: "SmartPlot", stage: "绘图", description: "科研绘图、样式统一、多面板组图和可见确认的 MCP 控制。", sourceRef: "https://smartplot.app" }
2168
+ { id: "scansci-pdf", name: "ScanSci PDF", stage: "全文获取", description: "按开放来源、官方接口和用户授权会话尝试获取论文全文。", sourceRef: "https://github.com/Rimagination/scansci-pdf" },
2169
+ { id: "scholarbridge", name: "ScholarBridge", stage: "文献质控", description: "连接文献清单、PDF 完整性校验、哈希去重和 Zotero 交接。", sourceRef: "https://github.com/LHT666-hub/ScholarBridge" },
2170
+ { id: "mentorforge", name: "MentorForge", stage: "方法蒸馏", description: "从学者主页、论文和全文信号卡中提炼可追问的科研方法论。", sourceRef: "https://github.com/qwqalice/MentorForge" },
2171
+ { id: "supervisor-skills", name: "Supervisor-Skills", stage: "研究写作", description: "覆盖研究构思、调研、写作、图表、评审和投稿前检查的科研工作流。", sourceRef: "https://github.com/HKUSTDial/Supervisor-Skills" },
2172
+ { id: "openkb", name: "OpenKB", stage: "知识库", description: "把异构资料编译成可链接、可检索、可持续更新的知识库。", sourceRef: "https://github.com/VectifyAI/OpenKB" },
2173
+ { id: "corpus2skill", name: "Corpus2Skill", stage: "知识库", description: "将大规模语料编译成可导航的 Skill 树和文档索引。", sourceRef: "https://github.com/dukesun99/Corpus2Skill" },
2174
+ { id: "academic-reference-matcher", name: "Academic Reference Matcher", stage: "引用核验", description: "逐条拆分 Claim、检索来源并输出 Claim–Reference 对照表。", sourceRef: "https://github.com/keros68/academic-reference-matcher" }
2175
+ ,{ id: "pskoett-ai-skills", name: "pskoett AI Skills", stage: "经验沉淀", description: "把失败和纠正沉淀为候选经验,经过验证后晋升为规则或回归测试。", sourceRef: "https://github.com/pskoett/pskoett-ai-skills" }
2176
+ ,{ id: "omnidistill", name: "OmniDistill", stage: "知识蒸馏", description: "以证据账本统一知识、启发式规则、工作流、反模式和边界。", sourceRef: "https://github.com/LHT666-hub/OmniDistill" }
2177
+ ];
2178
+
2179
+ const DEFAULT_EXTERNAL_TOOLS = [
2180
+ { id: "markitdown", name: "MarkItDown", stage: "材料转换", description: "把 PDF、Word、PPT、Excel、HTML 等转换为结构化 Markdown。它是独立 Python 工具,不作为 PsyClaw Skill 安装。", sourceRef: "https://github.com/microsoft/markitdown" },
2181
+ { id: "smartplot", name: "SmartPlot", stage: "科研绘图", description: "科研绘图、样式统一、多面板组图和可见确认工具。它不是 PsyClaw Skill。", sourceRef: "https://smartplot.app" }
2170
2182
  ];
2171
2183
 
2172
2184
  const DEFAULT_RECOMMENDED_MCPS = [
@@ -2183,7 +2195,8 @@ async function loadSkillsAndEcosystem() {
2183
2195
  fetchJson("/api/enabled-capabilities").catch(() => ({ skills: [], mcp: [] }))
2184
2196
  ]);
2185
2197
 
2186
- const skillItems = (skills && skills.items && skills.items.length) ? skills.items : DEFAULT_RECOMMENDED_SKILLS;
2198
+ const skillItems = (skills && Array.isArray(skills.items)) ? skills.items : DEFAULT_RECOMMENDED_SKILLS;
2199
+ const externalTools = (skills && Array.isArray(skills.externalTools)) ? skills.externalTools : DEFAULT_EXTERNAL_TOOLS;
2187
2200
  const mcpItems = (mcps && mcps.items && mcps.items.length) ? mcps.items : DEFAULT_RECOMMENDED_MCPS;
2188
2201
 
2189
2202
  recommendCache = { skill: skillItems, mcp: mcpItems };
@@ -2191,14 +2204,35 @@ async function loadSkillsAndEcosystem() {
2191
2204
 
2192
2205
  renderCapabilityShelf("recommended-skills-shelf", "skill", recommendCache.skill);
2193
2206
  renderCapabilityShelf("recommended-mcps-shelf", "mcp", recommendCache.mcp);
2207
+ renderExternalTools(externalTools);
2194
2208
  renderEnabledList(enabled || { skills: [], mcp: [] });
2195
2209
  } catch (err) {
2196
2210
  recommendCache = { skill: DEFAULT_RECOMMENDED_SKILLS, mcp: DEFAULT_RECOMMENDED_MCPS };
2197
2211
  renderCapabilityShelf("recommended-skills-shelf", "skill", recommendCache.skill);
2198
2212
  renderCapabilityShelf("recommended-mcps-shelf", "mcp", recommendCache.mcp);
2213
+ renderExternalTools(DEFAULT_EXTERNAL_TOOLS);
2199
2214
  }
2200
2215
  }
2201
2216
 
2217
+ function renderExternalTools(items) {
2218
+ document.getElementById("external-tools-shelf").innerHTML = items.length
2219
+ ? items.map(item => `
2220
+ <div class="capability-card">
2221
+ <div>
2222
+ <div class="capability-header">
2223
+ <span class="capability-title">${esc(item.name)}</span>
2224
+ <span class="pill neutral">${esc(item.stage || "外部工具")}</span>
2225
+ </div>
2226
+ <p class="capability-desc">${esc(item.description)}</p>
2227
+ </div>
2228
+ <div style="margin-top:0.8rem;border-top:1px solid var(--line);padding-top:0.6rem;">
2229
+ <a href="${esc(item.sourceRef)}" target="_blank" rel="noreferrer" style="font-size:0.78rem;">查看工具 ↗</a>
2230
+ </div>
2231
+ </div>
2232
+ `).join("")
2233
+ : `<p class="detail-key">没有外部工具</p>`;
2234
+ }
2235
+
2202
2236
  function renderCapabilityShelf(targetId, kind, items) {
2203
2237
  document.getElementById(targetId).innerHTML = items.length
2204
2238
  ? items.map(item => {
@@ -2246,19 +2280,28 @@ function handleCardKey(e, kind, id) {
2246
2280
 
2247
2281
  async function installCapability(kind, id) {
2248
2282
  const item = (recommendCache[kind] || []).find(c => c.id === id);
2249
- const prep = (item?.installPrep || [])[0];
2250
- const cmd = prep?.command || "";
2251
- if (!confirm(`将执行安装命令:\n\n${cmd}\n\n确认安装吗?`)) return;
2283
+ if (!item) return;
2284
+ let scope;
2285
+ if (kind === "skill") {
2286
+ const choice = window.prompt("选择 Skill 安装位置:\n1. 项目目录(仅当前项目)\n2. 系统目录(所有项目)", "1");
2287
+ if (choice === null) return;
2288
+ scope = choice.trim() === "2" ? "user" : choice.trim() === "1" ? "project" : undefined;
2289
+ if (!scope) { alert("请输入 1 或 2"); return; }
2290
+ }
2291
+ const scopeLine = kind === "skill"
2292
+ ? `\n\n安装位置:${scope === "user" ? "系统目录(所有项目)" : "项目目录(仅当前项目)"}`
2293
+ : "";
2294
+ if (!confirm(`将把安装任务交给当前模型:\n\n${item.sourceRef}${scopeLine}\n\n确认吗?`)) return;
2252
2295
 
2253
2296
  try {
2254
2297
  const res = await fetch("/api/install/execute", {
2255
2298
  method: "POST",
2256
2299
  headers: { "content-type": "application/json" },
2257
- body: JSON.stringify({ kind, id, approved: true, actor: "researcher" })
2300
+ body: JSON.stringify({ kind, id, scope, approved: true, actor: "researcher" })
2258
2301
  });
2259
2302
  const data = await res.json();
2260
2303
  if (!res.ok) throw new Error(data.error || "安装失败");
2261
- alert(data.ok ? `安装成功!在终端输入 /reload 重新加载。` : `安装退出码:${data.exitCode}\n${data.output || ""}`);
2304
+ alert(data.queued ? `安装任务已交给当前模型。模型完成后请启用 Skill,并输入 /reload。` : data.ok ? `安装成功!在终端输入 /reload 重新加载。` : `安装退出码:${data.exitCode}\n${data.output || ""}`);
2262
2305
  loadSkillsAndEcosystem();
2263
2306
  } catch (e) { alert(e.message); }
2264
2307
  }
@@ -10,7 +10,7 @@ import { mkdir, readFile } from "node:fs/promises";
10
10
  import { PROVIDER_PRESETS } from "../../setup.js";
11
11
  import { dirname } from "node:path";
12
12
  import { fileURLToPath } from "node:url";
13
- import { coreSkillNames, installRecommendedSkill, normalizeRecommendedSkillId, readRecommendationState, readRecommendedCatalog, saveRecommendationState, validateInstalledRecommendedSkill, } from "../../skills/recommended.js";
13
+ import { coreSkillNames, enabledRecommendedSkillPaths, normalizeRecommendedSkillId, readRecommendationState, readRecommendedCatalog, recommendedSkillTarget, saveRecommendationState, validateModelInstalledRecommendedSkill, } from "../../skills/recommended.js";
14
14
  import { SkillManagerComponent } from "../../tui/skill-manager.js";
15
15
  const PARADIGMS = new Set([
16
16
  "survey-observational",
@@ -136,19 +136,24 @@ async function recommendedItems(kind) {
136
136
  const value = JSON.parse(await readFile(path, "utf8"));
137
137
  return {
138
138
  items: Array.isArray(value.items) ? value.items.filter((item) => Boolean(item && typeof item === "object")) : [],
139
+ externalTools: Array.isArray(value.externalTools) ? value.externalTools.filter((item) => Boolean(item && typeof item === "object")) : [],
139
140
  installPrep: Array.isArray(value.installPrep) ? value.installPrep.filter((item) => Boolean(item && typeof item === "object")) : [],
140
141
  };
141
142
  }
142
143
  catch { /* try next candidate */ }
143
144
  }
144
- return { items: [], installPrep: [] };
145
+ return { items: [], externalTools: [], installPrep: [] };
146
+ }
147
+ function skillScopeLabel(scope) {
148
+ return scope === "user" ? "系统目录(所有项目)" : "项目目录(仅当前项目)";
145
149
  }
146
150
  async function skillManagerRows(root, state) {
147
151
  const catalog = await readRecommendedCatalog();
148
152
  return Promise.all(catalog.items.filter((item) => item.kind === "skill").map(async (item) => {
149
153
  const id = normalizeRecommendedSkillId(item.id);
154
+ const scope = state.skillScopes?.[id] ?? "project";
150
155
  try {
151
- await validateInstalledRecommendedSkill(root, id);
156
+ await validateModelInstalledRecommendedSkill(root, id, scope);
152
157
  return {
153
158
  id,
154
159
  name: item.name,
@@ -156,14 +161,11 @@ async function skillManagerRows(root, state) {
156
161
  ...(item.sourceRef === undefined ? {} : { sourceRef: item.sourceRef }),
157
162
  installed: true,
158
163
  enabled: state.skills.includes(id),
164
+ scope,
159
165
  blocked: false,
160
166
  };
161
167
  }
162
- catch (error) {
163
- const plan = catalog.installPrep.find((candidate) => normalizeRecommendedSkillId(candidate.id) === id);
164
- const installable = plan?.sourceKind === "github" && typeof plan.sourceUrl === "string" &&
165
- typeof plan.skillPath === "string" && typeof plan.skillName === "string" &&
166
- typeof plan.ref === "string" && !["unknown", "NOASSERTION"].includes(plan.license);
168
+ catch {
167
169
  return {
168
170
  id,
169
171
  name: item.name,
@@ -171,8 +173,11 @@ async function skillManagerRows(root, state) {
171
173
  ...(item.sourceRef === undefined ? {} : { sourceRef: item.sourceRef }),
172
174
  installed: false,
173
175
  enabled: false,
174
- blocked: !installable,
175
- reason: installable ? "尚未安装" : (plan?.blockedReason ?? (error instanceof Error ? error.message : String(error))),
176
+ scope,
177
+ blocked: typeof item.sourceRef !== "string" || !/^https:\/\//.test(item.sourceRef),
178
+ reason: typeof item.sourceRef === "string" && /^https:\/\//.test(item.sourceRef)
179
+ ? "尚未安装;按 Enter 选择安装范围并交给当前模型处理"
180
+ : "没有可交给模型检查的来源网址",
176
181
  };
177
182
  }
178
183
  }));
@@ -206,17 +211,19 @@ function skillRowLabel(row) {
206
211
  const state = row.blocked ? "× 阻断" : row.enabled ? "● 已启用" : row.installed ? "○ 未启用" : "↓ 未安装";
207
212
  return `${state} ${row.name} [${row.id}]`;
208
213
  }
209
- async function setRecommendedSkillEnabled(root, requestedId, enabled) {
214
+ async function setRecommendedSkillEnabled(root, requestedId, enabled, requestedScope) {
210
215
  const id = normalizeRecommendedSkillId(requestedId);
211
- if (enabled)
212
- await validateInstalledRecommendedSkill(root, id);
213
216
  const state = await readRecommendationState(root);
217
+ const scope = requestedScope ?? state.skillScopes?.[id] ?? "project";
218
+ if (enabled)
219
+ await validateModelInstalledRecommendedSkill(root, id, scope);
214
220
  const current = new Set(state.skills);
215
221
  if (enabled)
216
222
  current.add(id);
217
223
  else
218
224
  current.delete(id);
219
225
  state.skills = [...current];
226
+ state.skillScopes = { ...(state.skillScopes ?? {}), [id]: scope };
220
227
  await saveRecommendationState(root, state);
221
228
  }
222
229
  function skillManagerItems(rows) {
@@ -234,6 +241,7 @@ function skillManagerItems(rows) {
234
241
  description: row.description,
235
242
  status: row.blocked ? "blocked" : row.enabled ? "enabled" : row.installed ? "disabled" : "missing",
236
243
  ...(row.sourceRef === undefined ? {} : { sourceRef: row.sourceRef }),
244
+ details: [`安装位置:${skillScopeLabel(row.scope)}`],
237
245
  ...(row.reason === undefined ? {} : { reason: row.reason }),
238
246
  })),
239
247
  ];
@@ -337,7 +345,45 @@ async function showMcpManager(args, ctx) {
337
345
  }
338
346
  }
339
347
  }
340
- async function showSkillManager(args, ctx) {
348
+ function modelSkillInstallTask(root, row, scope) {
349
+ const target = recommendedSkillTarget(root, row.id, scope);
350
+ return [
351
+ `安装推荐 Skill:${row.name} (${row.id})。`,
352
+ `来源网址:${row.sourceRef}`,
353
+ `安装位置:${skillScopeLabel(scope)}。`,
354
+ `唯一允许的最终目标目录:${target}`,
355
+ "请使用当前会话的工具检查来源仓库并完成安装。不要写入其他 Skill 目录,不要修改 data/raw、.git 或研究产物。",
356
+ "目标目录最终必须直接包含有效 SKILL.md(YAML frontmatter 至少包含 name 和 description),不得包含 .git、符号链接、凭据或二进制大文件。",
357
+ "如果仓库包含多个 Skill,只安装与此推荐项相符的部分;如果它不是 Skill 或无法合理适配,停止并说明原因,不要伪造 SKILL.md。",
358
+ "安装完成后检查目标目录结构,并提醒用户执行 /skills 启用该项,再执行 /reload。",
359
+ ].join("\n");
360
+ }
361
+ async function chooseSkillScope(ctx) {
362
+ const projectLabel = skillScopeLabel("project");
363
+ const systemLabel = skillScopeLabel("user");
364
+ const selected = await ctx.ui.select("选择 Skill 安装位置", [projectLabel, systemLabel]);
365
+ if (selected === projectLabel)
366
+ return "project";
367
+ if (selected === systemLabel)
368
+ return "user";
369
+ return undefined;
370
+ }
371
+ async function queueModelSkillInstall(pi, ctx, row) {
372
+ if (!row.sourceRef)
373
+ throw new Error(`推荐 Skill 没有来源网址: ${row.id}`);
374
+ const scope = await chooseSkillScope(ctx);
375
+ if (!scope)
376
+ return;
377
+ const approved = await ctx.ui.confirm("交给当前模型安装 Skill?", `${row.name}\n来源:${row.sourceRef}\n安装位置:${skillScopeLabel(scope)}\n目标目录:${recommendedSkillTarget(ctx.cwd, row.id, scope)}\n模型将检查仓库并使用文件与命令工具完成安装。`);
378
+ if (!approved)
379
+ return;
380
+ const state = await readRecommendationState(ctx.cwd);
381
+ state.skillScopes = { ...(state.skillScopes ?? {}), [row.id]: scope };
382
+ await saveRecommendationState(ctx.cwd, state);
383
+ pi.sendUserMessage(modelSkillInstallTask(ctx.cwd, row, scope), ctx.isIdle() ? {} : { deliverAs: "followUp" });
384
+ ctx.ui.notify(`已将 ${row.name} 的安装任务交给当前模型,目标为${skillScopeLabel(scope)}。安装完成后请在 /skills 中启用,再执行 /reload。`, "info");
385
+ }
386
+ async function showSkillManager(pi, args, ctx) {
341
387
  const action = args.trim().split(/\s+/).filter(Boolean);
342
388
  const verb = action[0];
343
389
  const id = action[1];
@@ -348,13 +394,15 @@ async function showSkillManager(args, ctx) {
348
394
  throw new Error(`Usage: /skills ${verb} <id>`);
349
395
  }
350
396
  if (verb === "install") {
351
- const result = await installRecommendedSkill(ctx.cwd, id);
352
- ctx.ui.notify(`${result.installed ? "已安装" : "已经安装"} ${result.skillName}\n${result.path}\n安装不会自动启用,请返回 /skills 开启。`, "info");
397
+ const row = (await skillManagerRows(ctx.cwd, await readRecommendationState(ctx.cwd))).find((candidate) => candidate.id === normalizeRecommendedSkillId(id));
398
+ if (!row)
399
+ throw new Error(`未找到推荐 Skill: ${id}`);
400
+ await queueModelSkillInstall(pi, ctx, row);
353
401
  return;
354
402
  }
355
403
  if (verb === "enable" || verb === "disable") {
356
404
  await setRecommendedSkillEnabled(ctx.cwd, id, verb === "enable");
357
- ctx.ui.notify(`${verb === "enable" ? "已启用" : "已停用"} ${normalizeRecommendedSkillId(id)},下次启动 PsyClaw 生效`, "info");
405
+ ctx.ui.notify(`${verb === "enable" ? "已启用" : "已停用"} ${normalizeRecommendedSkillId(id)}。请运行 /reload 重新加载。`, "info");
358
406
  return;
359
407
  }
360
408
  if (!ctx.hasUI || typeof ctx.ui.custom !== "function" || verb === "status") {
@@ -377,21 +425,12 @@ async function showSkillManager(args, ctx) {
377
425
  if (!row)
378
426
  continue;
379
427
  if (action.type === "install") {
380
- const approved = await ctx.ui.confirm("安装推荐 Skill?", `${row.name}\n固定来源:${row.sourceRef ?? row.id}\n安装到当前项目,安装完成后仍由你决定是否启用。`);
381
- if (!approved)
382
- continue;
383
- try {
384
- const result = await installRecommendedSkill(ctx.cwd, row.id);
385
- ctx.ui.notify(`${result.installed ? "安装完成" : "已经安装"}:${result.skillName}`, "info");
386
- }
387
- catch (error) {
388
- await notifyError(ctx, error);
389
- }
390
- continue;
428
+ await queueModelSkillInstall(pi, ctx, row);
429
+ return;
391
430
  }
392
431
  if (action.type === "toggle") {
393
432
  await setRecommendedSkillEnabled(ctx.cwd, row.id, action.enabled);
394
- ctx.ui.notify(`已${action.enabled ? "启用" : "停用"} ${row.name},重启 PsyClaw 后生效`, "info");
433
+ ctx.ui.notify(`已${action.enabled ? "启用" : "停用"} ${row.name}。请运行 /reload 重新加载。`, "info");
395
434
  }
396
435
  }
397
436
  }
@@ -493,6 +532,13 @@ const WORKFLOW_RUNNERS = {
493
532
  export default function psyclawExtension(pi) {
494
533
  const developerCommands = process.env.PSYCLAW_DEVELOPER_COMMANDS === "1";
495
534
  const legacyTestApi = typeof pi.registerTool !== "function";
535
+ if (!legacyTestApi && typeof pi.on === "function")
536
+ pi.on("resources_discover", async (event, ctx) => {
537
+ const enabled = await enabledRecommendedSkillPaths(event.cwd);
538
+ for (const warning of enabled.warnings)
539
+ ctx.ui.notify(`PsyClaw Skill: ${warning}`, "warning");
540
+ return { skillPaths: enabled.paths };
541
+ });
496
542
  pi.registerCommand("research", {
497
543
  description: "创建可追溯的研究项目",
498
544
  handler: async (args, ctx) => {
@@ -548,7 +594,7 @@ export default function psyclawExtension(pi) {
548
594
  description: "打开 Skill 安装与启用管理页",
549
595
  handler: async (args, ctx) => {
550
596
  try {
551
- await showSkillManager(args, ctx);
597
+ await showSkillManager(pi, args, ctx);
552
598
  }
553
599
  catch (error) {
554
600
  await notifyError(ctx, error);
@@ -577,20 +623,21 @@ export default function psyclawExtension(pi) {
577
623
  const [skills, mcps] = await Promise.all([recommendedItems("skills"), recommendedItems("mcp")]);
578
624
  const skillLines = skills.items.slice(0, 8).map((item) => `Skill: ${String(item.id)} — ${String(item.name)}`);
579
625
  const mcpLines = mcps.items.slice(0, 8).map((item) => `MCP: ${String(item.id)} — ${String(item.name)}`);
580
- ctx.ui.notify(["推荐安装入口", "", ...skillLines, ...mcpLines, "", "安装:/install skill|mcp <id>", "管理:/skills 或 /mcp", "也可以打开 /panel 查看推荐页面"].join("\n"), "info");
626
+ const toolLines = skills.externalTools.slice(0, 8).map((item) => `外部工具: ${String(item.name)} — ${String(item.sourceRef ?? "请查看项目文档")}`);
627
+ ctx.ui.notify(["推荐安装入口", "", ...skillLines, ...mcpLines, "", ...toolLines, "", "安装:/install skill|mcp <id>", "管理:/skills 或 /mcp", "外部工具不通过 Skill 安装器安装", "也可以打开 /panel 查看推荐页面"].join("\n"), "info");
581
628
  return;
582
629
  }
583
630
  if (kind !== "skill" && kind !== "mcp")
584
631
  throw new Error("Usage: /install skill|mcp <id>");
585
632
  if (!id) {
586
633
  if (kind === "skill")
587
- await showSkillManager("", ctx);
634
+ await showSkillManager(pi, "", ctx);
588
635
  else
589
636
  await showMcpManager("", ctx);
590
637
  return;
591
638
  }
592
639
  if (kind === "skill")
593
- await showSkillManager(`install ${id}`, ctx);
640
+ await showSkillManager(pi, `install ${id}`, ctx);
594
641
  else
595
642
  await showMcpManager(`install ${id}`, ctx);
596
643
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../../src/adapters/pi/extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../../src/adapters/pi/extension.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ export const PSYCLAW_IDENTITY_PROMPT = [
35
35
  `Never generate one monolithic analysis document or script that silently performs every step. Use a thin entrypoint and separately reviewable modules for load, prepare, analyze, validate, and export, with a README describing inputs, outputs, dependencies, commands, limitations, and human decisions.`,
36
36
  `When a required dependency is missing, do not merely tell the user how to install it. Detect the platform and package manager, explain the exact dependency and command, request approval for the machine/network side effect, then use bash to install it, verify its executable/version, and write a structured dependency receipt. Ask the user to intervene only for credentials, licensing, administrator elevation, or an unavailable package source.`,
37
37
  `For Markdown-to-DOCX export, check for Pandoc first; if it is unavailable, install it after approval and retry. Use python-docx only when a Pandoc installation has actually failed. Do not present manual Word conversion as the primary solution.`,
38
- `When a piece of evidence or a source is a Word or Office document (.docx, .xlsx, .pptx), convert it to Markdown or plain text before reading it (use pandoc, or the markitdown skill if it is installed). Never try to read the raw binary. Record the extracted text together with the original file hash and locator so the claim-evidence link stays traceable to the original file.`,
38
+ `When a piece of evidence or a source is a Word or Office document (.docx, .xlsx, .pptx), convert it to Markdown or plain text before reading it (use pandoc, or the external MarkItDown tool if it is installed). Never try to read the raw binary. Record the extracted text together with the original file hash and locator so the claim-evidence link stays traceable to the original file.`,
39
39
  `Deliverable order for academic output: first produce a Markdown analysis report and tell the reader that the recommended flow is to review the analysis report first, then export DOCX from it. Only convert to DOCX after the reader confirms.`,
40
40
  `DOCX export defaults to APA 7 format. Before exporting, ask the reader for their preferred citation/output format (APA 7 is the default) and any submission requirements.`,
41
41
  `Manuscript deliverables always land at the convention locations (docs/文档规范.md): the editable Markdown source goes to paper/<name>.md and the APA-7 DOCX export to paper/<name>_APA7.docx. Publish through the psyclaw publish workflow (/api/publish, the psyclaw_workbench 发布 intent, or run pandoc yourself with --reference-doc) so both files are registered in the evidence ledger with SHA-256 fingerprints. Never leave the paper only in outputs/ or the project root: the panel recognizes paper/ as the manuscript location and can import/export it. While editing, keep the working copy in notes/manuscript.md; publish to paper/ when finalizing.`,