@dongfangw/study-kit 0.3.0 → 0.3.1

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
@@ -19,9 +19,19 @@ dsh plugin install @dongfangw/study-kit
19
19
  - 荧光笔 / 重点线 / 便签提问(标注只落本机)
20
20
  - 阅读位置记住(文档按段,PDF 按页 + 页内比例)
21
21
  - 「我的库」:加库向导、库隔离(`visibility: private` 三出口全隐)、每库 Git 状态
22
- - 4 个工具:`kb_libraries` / `kb_catalog` / `kb_read` / `kb_search`
22
+ - 5 个工具:`kb_libraries` / `kb_catalog` / `kb_read` / `kb_search` / `kb_index`
23
23
  - 6 个技能:学习导航、学习路径、概念答疑、物理直觉、建库向导、思维导图
24
24
 
25
+ ## 检索索引(学生不用管,但值得知道)
26
+
27
+ 打开「学习资料」时,宿主会在后台(worker 线程,不卡界面)把工作区的分块索引建到
28
+ `<工作区>/.kb-index/kb-index.json`;正文改过之后会自动重建(判据:有文件比 `generatedAt` 新,
29
+ 或文件数变了)。有索引时 `kb_search` 返回「命中 N **块**」(节标题 + 行范围 + 命中词),
30
+ 否则退回全文扫的「命中 N **处**」。学生说「刚记的笔记搜不到」时模型可调 `kb_index` 立即重建。
31
+
32
+ 两件让检索更准的小事:每篇正文第一行写标题(`= 标题` / `# 标题`,索引拿它当节名);
33
+ 要精确命中的词写进 `:kb-keywords: 词1;词2`(清单里配 `keywords: { field: kb-keywords }`)。
34
+
25
35
  ## PDF 怎么用
26
36
 
27
37
  1. 在库的 `library.yaml` 里把 `pdf` 加进某个分组的 `exts`(例:`exts: [md, pdf]`),
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAgBpE,eAAO,MAAM,IAAI,mBAAmB,CAAA;AACpC,eAAO,MAAM,MAAM,UAAmC,CAAA;AAyRtD,sDAAsD;AACtD,eAAO,MAAM,OAAO,QAAmE,CAAA;AAEvF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAqCxC;AAED,oCAAoC;AACpC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,EAAE,CAO3E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAiBpE,eAAO,MAAM,IAAI,mBAAmB,CAAA;AACpC,eAAO,MAAM,MAAM,UAAmC,CAAA;AA6RtD,sDAAsD;AACtD,eAAO,MAAM,OAAO,QAAmE,CAAA;AAEvF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAqCxC;AAED,oCAAoC;AACpC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,EAAE,CAO3E"}
package/lib/index.js CHANGED
@@ -21,6 +21,7 @@ import { createSlidevHandler, disposeSlidev } from "./slidev.js";
21
21
  import { handleSlidevEnv } from "./slidevEnv.js";
22
22
  import { gitDefsOf } from "./libraries.js";
23
23
  import { buildCatalogForClient } from "./libraries.js";
24
+ import { ensureIndex } from "./indexBuild.js";
24
25
  import { invalidate, resolveFor } from "./session.js";
25
26
  import { katexDistDir, readKbText, renderAsciidocAsync, renderMarkdown, renderSlidesMd } from "./render.js";
26
27
  import { sendFile } from "./static.js";
@@ -139,6 +140,8 @@ async function handle(req, res) {
139
140
  sendJson(res, 200, { ok: false, root: '', libraries: [], error: '未找到知识库:放一份 libraries.yaml 或 library.yaml,或设置 AERO_WORKSPACE。' });
140
141
  return;
141
142
  }
143
+ // 打开资料面板 = 学生"进了书房":顺手在后台把分块索引补上(自己会节流/判过期)。
144
+ void ensureIndex(r.workspace.root, r.viewer);
142
145
  sendJson(res, 200, {
143
146
  ok: true,
144
147
  root: r.workspace.root,
@@ -163,6 +166,8 @@ async function handle(req, res) {
163
166
  return;
164
167
  }
165
168
  const body = buildCatalogForClient(r.workspace, r.viewer);
169
+ // 目录树会被反复拉(切库、刷新),ensureIndex 自己有 60 秒节流,重复调用是空操作。
170
+ void ensureIndex(r.workspace.root, r.viewer);
166
171
  sendJson(res, 200, body);
167
172
  return;
168
173
  }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { Viewer } from '@dongfangw/library-core';
2
+ export interface IndexBuildResult {
3
+ ok: boolean;
4
+ sections: number;
5
+ blocks: number;
6
+ ms: number;
7
+ file?: string;
8
+ error?: string;
9
+ }
10
+ /** 索引缺失或过期 → 该重建。 */
11
+ export declare function indexNeedsBuild(root: string, viewer: Viewer): boolean;
12
+ /**
13
+ * 后台确保索引可用(fire-and-forget)。打开资料面板、每次检索前都可以调,自己会节流。
14
+ * 返回的 Promise 只给测试/诊断用,调用方通常不 await。
15
+ */
16
+ export declare function ensureIndex(root: string, viewer: Viewer): Promise<IndexBuildResult> | null;
17
+ /** 同步建索引(`kb_index` 工具用):用户明确要求时等得起这几秒。 */
18
+ export declare function buildIndexNow(root: string, viewer: Viewer): IndexBuildResult;
19
+ /** 一句话描述当前索引(工具/诊断输出用)。 */
20
+ export declare function describeIndex(root: string, viewer: Viewer): string;
21
+ /** 清掉过期检查的节流(测试用;运维上"改完内容立刻想重建"也走 kb_index)。 */
22
+ export declare function resetIndexThrottle(): void;
23
+ //# sourceMappingURL=indexBuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexBuild.d.ts","sourceRoot":"","sources":["../src/indexBuild.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AA+CD,qBAAqB;AACrB,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAYrE;AAgCD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CA0B1F;AAED,2CAA2C;AAC3C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAU5E;AAED,2BAA2B;AAC3B,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED,gDAAgD;AAChD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * 工作区分块索引的自动维护(宿主侧)。
3
+ *
4
+ * 为什么放在宿主而不是 CLI:学生不会开终端跑 `aero-library index`。`buildIndex` 本来就是
5
+ * library-core 的导出,插件侧只差"什么时候建、在哪个线程建"。
6
+ *
7
+ * 三条纪律:
8
+ * 1. **不许阻塞事件循环**:教师工作区全量重建实测约 3 s,在主线程做会把 DSH 整个 Web 界面
9
+ * 冻住。因此自动重建放进 worker 线程(内联源码 + `eval`,不额外增加构建产物);
10
+ * 只有用户显式要求(`kb_index` 工具)才同步建。
11
+ * 2. **索引是可重建的派生物**:建失败只记一行日志,检索永远退回全文扫,不能因为没索引而不可用。
12
+ * 3. **过期检查有节流**:`workspaceFingerprint` 要 stat 一遍所有正文(教师区约 80 ms),
13
+ * 60 秒内不重复查——打开资料面板、连续提问都不会反复扫盘。
14
+ */
15
+ import { createRequire } from 'node:module';
16
+ import { pathToFileURL } from 'node:url';
17
+ import { Worker } from 'node:worker_threads';
18
+ import { buildIndex, defaultIndexPath, isIndexStale, readIndex, workspaceFingerprint, writeIndex } from '@dongfangw/library-core';
19
+ /** 关掉自动建索引的逃生阀(排查"是不是索引把界面搞慢了"时用)。 */
20
+ function disabled() {
21
+ return process.env.AERO_STUDY_NO_INDEX === '1';
22
+ }
23
+ /** library-core 的入口文件 URL:worker 里 `import()` 它,拿到与自己同版本的 buildIndex。 */
24
+ const LIB_URL = (() => {
25
+ try {
26
+ return pathToFileURL(createRequire(import.meta.url).resolve('@dongfangw/library-core')).href;
27
+ }
28
+ catch {
29
+ return null;
30
+ }
31
+ })();
32
+ /**
33
+ * worker:读 → 建 → 落盘,全程不占主线程。
34
+ *
35
+ * 只用动态 `import()`、不用 `require`/顶层 `await`:`new Worker(src, { eval: true })` 的代码
36
+ * 究竟按 CJS 还是 ESM 解析,取决于进程的 `--input-type` 与就近的 package.json——
37
+ * 写死任何一种语法都会在另一种上下文里报「require is not defined」。动态 import 两边都合法。
38
+ */
39
+ const WORKER_SRC = `
40
+ import('node:worker_threads').then((wt) => {
41
+ const { parentPort, workerData } = wt
42
+ return import(workerData.libUrl).then((m) => {
43
+ const t0 = Date.now()
44
+ const index = m.buildIndex(workerData.root, { viewer: workerData.viewer })
45
+ const file = m.writeIndex(index)
46
+ parentPort.postMessage({ ok: true, sections: index.sections.length, blocks: index.blocks.length, ms: Date.now() - t0, file })
47
+ }).catch((e) => {
48
+ parentPort.postMessage({ ok: false, sections: 0, blocks: 0, ms: 0, error: String((e && e.stack) || e) })
49
+ })
50
+ })
51
+ `;
52
+ /** 同一个工作区同时只建一次。 */
53
+ const running = new Map();
54
+ /** 上次检查过期的时刻(60 秒内不重复 stat 全库)。 */
55
+ const checkedAt = new Map();
56
+ const CHECK_TTL_MS = 60_000;
57
+ function keyOf(root, viewer) {
58
+ return `${root}::${viewer}`;
59
+ }
60
+ /** 索引缺失或过期 → 该重建。 */
61
+ export function indexNeedsBuild(root, viewer) {
62
+ const index = readIndex(undefined, root);
63
+ if (index === null) {
64
+ // 没有索引时先确认"有没有可索引的库":legacy 布局(没有清单)建不了索引,
65
+ // 这时静默跳过,不要每 60 秒报一次"没有可建索引的库"。
66
+ return workspaceFingerprint(root, { viewer }) !== null;
67
+ }
68
+ try {
69
+ return isIndexStale(index, root, { viewer });
70
+ }
71
+ catch {
72
+ return false; // 判据本身出错时宁可不动,别把用户拖进反复重建
73
+ }
74
+ }
75
+ function runInWorker(root, viewer) {
76
+ return new Promise((resolve) => {
77
+ if (LIB_URL === null) {
78
+ resolve({ ok: false, sections: 0, blocks: 0, ms: 0, error: '解析不到 @dongfangw/library-core' });
79
+ return;
80
+ }
81
+ let settled = false;
82
+ let worker = null;
83
+ const done = (r) => {
84
+ if (settled)
85
+ return;
86
+ settled = true;
87
+ try {
88
+ void worker?.terminate();
89
+ }
90
+ catch {
91
+ // 已经退出就无所谓
92
+ }
93
+ resolve(r);
94
+ };
95
+ try {
96
+ worker = new Worker(WORKER_SRC, { eval: true, workerData: { libUrl: LIB_URL, root, viewer } });
97
+ const w = worker;
98
+ w.once('message', (m) => done(m));
99
+ w.once('error', (e) => done({ ok: false, sections: 0, blocks: 0, ms: 0, error: e instanceof Error ? e.message : String(e) }));
100
+ w.once('exit', (code) => done({ ok: false, sections: 0, blocks: 0, ms: 0, error: `worker 退出(code ${code})` }));
101
+ }
102
+ catch (e) {
103
+ done({ ok: false, sections: 0, blocks: 0, ms: 0, error: e instanceof Error ? e.message : String(e) });
104
+ }
105
+ });
106
+ }
107
+ /**
108
+ * 后台确保索引可用(fire-and-forget)。打开资料面板、每次检索前都可以调,自己会节流。
109
+ * 返回的 Promise 只给测试/诊断用,调用方通常不 await。
110
+ */
111
+ export function ensureIndex(root, viewer) {
112
+ if (disabled())
113
+ return null;
114
+ const key = keyOf(root, viewer);
115
+ const inFlight = running.get(key);
116
+ if (inFlight !== undefined)
117
+ return inFlight;
118
+ const last = checkedAt.get(key) ?? 0;
119
+ if (Date.now() - last < CHECK_TTL_MS)
120
+ return null;
121
+ if (!indexNeedsBuild(root, viewer)) {
122
+ checkedAt.set(key, Date.now());
123
+ return null;
124
+ }
125
+ const p = runInWorker(root, viewer)
126
+ .then((r) => {
127
+ if (r.ok) {
128
+ checkedAt.set(key, Date.now());
129
+ }
130
+ else {
131
+ // 不缓存失败:下一次面板打开还会再试一次(只记一次日志,不刷屏)
132
+ console.warn(`[study-kit] 建索引失败(${root}):${r.error ?? '未知原因'};检索已退回全文扫`);
133
+ }
134
+ return r;
135
+ })
136
+ .finally(() => {
137
+ running.delete(key);
138
+ });
139
+ running.set(key, p);
140
+ return p;
141
+ }
142
+ /** 同步建索引(`kb_index` 工具用):用户明确要求时等得起这几秒。 */
143
+ export function buildIndexNow(root, viewer) {
144
+ const t0 = Date.now();
145
+ try {
146
+ const index = buildIndex(root, { viewer });
147
+ const file = writeIndex(index, defaultIndexPath(root));
148
+ checkedAt.set(keyOf(root, viewer), Date.now());
149
+ return { ok: true, sections: index.sections.length, blocks: index.blocks.length, ms: Date.now() - t0, file };
150
+ }
151
+ catch (e) {
152
+ return { ok: false, sections: 0, blocks: 0, ms: Date.now() - t0, error: e instanceof Error ? e.message : String(e) };
153
+ }
154
+ }
155
+ /** 一句话描述当前索引(工具/诊断输出用)。 */
156
+ export function describeIndex(root, viewer) {
157
+ const index = readIndex(undefined, root);
158
+ if (index === null)
159
+ return '未建索引(检索走全文扫)';
160
+ const stale = indexNeedsBuild(root, viewer);
161
+ return `${index.sections.length} 节 / ${index.blocks.length} 块 · 建于 ${index.generatedAt}${stale ? ' · 已过期(下次打开资料面板自动重建)' : ''}`;
162
+ }
163
+ /** 清掉过期检查的节流(测试用;运维上"改完内容立刻想重建"也走 kb_index)。 */
164
+ export function resetIndexThrottle() {
165
+ checkedAt.clear();
166
+ }
167
+ //# sourceMappingURL=indexBuild.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexBuild.js","sourceRoot":"","sources":["../src/indexBuild.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAGnD,OAAO,EAAoD,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAqBvG;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,SAAS;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,SAAS;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE,EAAE,CAAA;KAAE,CAAA;CACzG,EAAE,EACH,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,GAAG,IAAI,CAuEnD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,IAAI,CAwIlF"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAGnD,OAAO,EAAoD,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAsBvG;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,SAAS;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,SAAS;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE,EAAE,CAAA;KAAE,CAAA;CACzG,EAAE,EACH,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,GAAG,IAAI,CAuEnD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,IAAI,CA6JlF"}
package/lib/tools.js CHANGED
@@ -11,6 +11,7 @@ import path from 'node:path';
11
11
  import { defineTool } from '@deepseek-ai/dsh-tools';
12
12
  import { readFileSync } from 'node:fs';
13
13
  import { isInside, queryIndex, readIndex, searchLibraries } from '@dongfangw/library-core';
14
+ import { buildIndexNow, describeIndex, ensureIndex } from "./indexBuild.js";
14
15
  import { readKbText } from "./render.js";
15
16
  import { lookResolved } from "./session.js";
16
17
  function textOf(value) {
@@ -129,6 +130,8 @@ export function registerKbTools(_rootCtx, agent) {
129
130
  const ws = lookResolved(agent.session.header.cwd);
130
131
  if (ws === null)
131
132
  return { text: '未找到知识库:请在工作区放一份 libraries.yaml,或在某个库根放 library.yaml,或设置 AERO_WORKSPACE 指向它们。' };
133
+ // 学生建库没有"跑 CLI 建索引"这一步:打开资料面板(这里)就顺手把索引补上。
134
+ void ensureIndex(ws.workspace.root, ws.viewer);
132
135
  const lines = [`工作区:${ws.workspace.root}${ws.workspace.legacy ? '(legacy 布局)' : ''}`, `视图:${ws.viewer}`, ''];
133
136
  if (ws.workspace.libraries.length === 0) {
134
137
  lines.push('(legacy 布局:按内置规则识别)');
@@ -141,6 +144,7 @@ export function registerKbTools(_rootCtx, agent) {
141
144
  lines.push(` 学习路径:${l.manifest.outline.map((o) => o.title).join(' → ')}`);
142
145
  }
143
146
  }
147
+ lines.push('', `检索索引:${describeIndex(ws.workspace.root, ws.viewer)}`);
144
148
  return { text: lines.join('\n') };
145
149
  },
146
150
  })),
@@ -238,6 +242,8 @@ export function registerKbTools(_rootCtx, agent) {
238
242
  const picked = only === null ? libs() : libs().filter((l) => l.manifest.id === only);
239
243
  if (picked.length === 0)
240
244
  return { text: `没有这个库:${only ?? '(全部)'}` };
245
+ // 索引缺失/过期时就地补建(后台线程)。本次仍用现有索引,下一次检索即命中新块。
246
+ void ensureIndex(ws.workspace.root, ws.viewer);
241
247
  const viaIndex = searchWithIndex(ws.workspace.root, picked, query, viewerOf(), 8);
242
248
  if (viaIndex !== null && viaIndex.text !== '')
243
249
  return { text: viaIndex.text };
@@ -250,6 +256,23 @@ export function registerKbTools(_rootCtx, agent) {
250
256
  return { text: lines.join('\n') };
251
257
  },
252
258
  })),
259
+ agent.ctx.tools.register(defineTool({
260
+ name: 'kb_index',
261
+ description: '重建当前工作区的分块检索索引(节 → 块),返回节/块数量与落盘位置。平时不需要手动调用——打开资料面板或第一次 kb_search 时会自动建;只有当学生说"刚加的笔记搜不到"、或返回的是「命中 N 处」而不是「命中 N 块」时才用它。建完请再检索一次。',
262
+ parameters: {},
263
+ output: { schema: { type: 'object', additionalProperties: true }, render: (_a, v) => textOf(String(v?.text ?? '')) },
264
+ async execute() {
265
+ const ws = lookResolved(agent.session.header.cwd);
266
+ if (ws === null)
267
+ return { text: '未找到知识库(放一份 libraries.yaml 或 library.yaml)。' };
268
+ const r = buildIndexNow(ws.workspace.root, ws.viewer);
269
+ if (!r.ok)
270
+ return { text: `建索引失败:${r.error ?? '未知原因'}。检索仍可用(全文扫),不需要等它。` };
271
+ return {
272
+ text: `索引已重建:${r.sections} 节 / ${r.blocks} 块,用时 ${r.ms} ms\n落盘:${r.file ?? ''}\n之后 kb_search 会返回块级命中(节标题 + 行范围 + 命中词)。`,
273
+ };
274
+ },
275
+ })),
253
276
  ];
254
277
  return () => {
255
278
  for (const d of disposers)
package/lib/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dongfangw/study-kit",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "AI 学伴:把任意「带清单的内容库」变成可读、可搜、可标注、可问的学习台;支持多库与私人库隔离",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-or-later",
@@ -51,7 +51,7 @@
51
51
  "probe:pdf": "node scripts/pdf-harness.mjs"
52
52
  },
53
53
  "dependencies": {
54
- "@dongfangw/library-core": "^0.2.0",
54
+ "@dongfangw/library-core": "^0.2.1",
55
55
  "@asciidoctor/core": "^3.0.4",
56
56
  "katex": "^0.16.22",
57
57
  "markdown-it": "^14.1.0",
@@ -22,6 +22,8 @@ description: 解答《空气动力学基础》概念/公式/习题疑问。检
22
22
  > 一个问题里有几个概念,就分几次检索。
23
23
  > 3. **看命中形态决定下一步**:返回「命中 N **块**」= 走了分块索引(更准,带命中词与行范围);
24
24
  > 返回「命中 N **处**」= 该工作区还没建索引,是行级片段,证据更碎,必要时多搜几次。
25
+ > 索引缺失或过期时 `kb_search` 会自己在后台补建(本次仍用旧索引);学生说"刚记的笔记搜不到"
26
+ > (或面板显示索引已过期)时,调一次 `kb_index` 重建再搜——不要因为没命中就说"库里没有"。
25
27
  > 4. **引用必须落到 `库id/路径:行号`**,或"教材 §X.Y"。片段支撑不起结论(尤其推导、
26
28
  > 适用条件、式号)时必须 `kb_read` 读整节——只凭 100 字片段下结论是本技能最常见的错。
27
29
  > 5. **答完做一次覆盖自检**:列出「依据:C17.2 / C13.3(读了哪几节)」;若该问题显然还牵扯
@@ -56,6 +56,18 @@ npx @dongfangw/library-core catalog "<资料目录>"
56
56
 
57
57
  两条都通过后,刷新学伴的「我的库」,新库即出现;打开任意一篇检查公式与图片。
58
58
 
59
+ ## 4.5 检索索引(不用管,但知道它在做什么)
60
+
61
+ 打开资料面板时会**自动**在工作区根建 `<工作区>/.kb-index/kb-index.json`(后台线程,不卡界面),
62
+ `kb_search` 从此返回「命中 N **块**」(节标题 + 行范围 + 命中词)而不是「命中 N **处**」。
63
+ 记了新笔记又搜不到时,说一句「把索引更新一下」即可(`kb_index` 工具)。
64
+
65
+ 两件让索引更准的小事(都免费):
66
+
67
+ - **每篇正文第一行写标题**(`= 标题` / `# 标题`)。索引拿它当节名——文件名是「笔记1」也不会认错。
68
+ - 需要精确定位的关键词,写在正文头部的 `:kb-keywords: 词1;词2` 里;清单里加
69
+ `keywords: { field: kb-keywords }` 后这些词会进检索词表。
70
+
59
71
  ## 5. 多库:工作区清单
60
72
 
61
73
  若想一次挂多个库,在工作区根放 `libraries.yaml`(**本地文件,不进 git**):