@yach.zhiyinlou.com/yach 2.16.0-beta.1 → 2.16.0-beta.2

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.
@@ -105,10 +105,83 @@ async function downloadToTempFile(url) {
105
105
  fileStream.on("error", reject);
106
106
  });
107
107
  }
108
+ /** 正文单次返回长度(JavaScript 字符串长度,汉字计 1) */
109
+ const DOC_PAGE_LENGTH = 5000;
110
+ /** 全文缓存时长。带 offset 的续读不再重复导出或 get_text */
111
+ const DOC_CACHE_TTL_MS = 10 * 60 * 1000;
112
+ const DOC_CACHE_MAX = 20;
113
+ const docContentCache = new Map();
114
+ /** 用来源和文档定位拼缓存键。导出与兜底正文分开存放 */
115
+ function docContentCacheKey(source, loc, sheetName) {
116
+ return `${source}|${loc.fileUrl ?? ""}|${loc.guid ?? ""}|${loc.knNodeId ?? ""}|${sheetName ?? ""}`;
117
+ }
118
+ /** 读取未过期的全文;过期则删除 */
119
+ function readDocContentCache(key) {
120
+ const entry = docContentCache.get(key);
121
+ if (!entry)
122
+ return undefined;
123
+ if (Date.now() - entry.storedAt > DOC_CACHE_TTL_MS) {
124
+ docContentCache.delete(key);
125
+ return undefined;
126
+ }
127
+ return entry.content;
128
+ }
129
+ /** 写入全文。超出条数时丢掉最早的一条 */
130
+ function writeDocContentCache(key, content) {
131
+ if (docContentCache.has(key))
132
+ docContentCache.delete(key);
133
+ if (docContentCache.size >= DOC_CACHE_MAX) {
134
+ const oldest = docContentCache.keys().next().value;
135
+ if (oldest)
136
+ docContentCache.delete(oldest);
137
+ }
138
+ docContentCache.set(key, { content, storedAt: Date.now() });
139
+ }
140
+ /** 超长正文的分片说明。不足 3 片时要求不要向用户提及分片 */
141
+ function pagedDocMessage(sliced) {
142
+ const pageCount = Math.ceil(sliced.contentLength / DOC_PAGE_LENGTH);
143
+ const contextNote = "上下文即将占满时,把之前已经总结的内容整理后返回给用户。";
144
+ const quietNote = pageCount < 3 ? "全文不足 3 片,不要向用户提及分片。" : "";
145
+ if (sliced.hasMore) {
146
+ return `文档超过 ${DOC_PAGE_LENGTH} 字,当前只返回第 ${sliced.offset + 1}-${sliced.nextOffset} 字(全文 ${sliced.contentLength} 字)。请用相同定位参数、offset=${sliced.nextOffset} 继续读取。读完所有分片后再总结,不要只根据本片回答。${contextNote}${quietNote}`;
147
+ }
148
+ return `已返回最后一片(第 ${sliced.offset + 1}-${sliced.nextOffset} 字,全文 ${sliced.contentLength} 字)。请结合前面各片再总结。${contextNote}${quietNote}`;
149
+ }
150
+ /**
151
+ * 全文超长时按固定长度切片。
152
+ * 未超出单页且从开头读时原样返回;offset 超出全文时返回空片。
153
+ */
154
+ function sliceDocContent(content, offset) {
155
+ const contentLength = content.length;
156
+ const start = typeof offset === "number" && Number.isFinite(offset) && offset > 0
157
+ ? Math.floor(offset)
158
+ : 0;
159
+ const safeStart = Math.min(start, contentLength);
160
+ if (contentLength <= DOC_PAGE_LENGTH && safeStart === 0) {
161
+ return {
162
+ content,
163
+ contentLength,
164
+ offset: 0,
165
+ nextOffset: contentLength,
166
+ hasMore: false,
167
+ chunked: false,
168
+ };
169
+ }
170
+ const end = Math.min(safeStart + DOC_PAGE_LENGTH, contentLength);
171
+ return {
172
+ content: content.slice(safeStart, end),
173
+ contentLength,
174
+ offset: safeStart,
175
+ nextOffset: end,
176
+ hasMore: end < contentLength,
177
+ chunked: true,
178
+ };
179
+ }
108
180
  /**
109
181
  * 生成内容预览
110
182
  */
111
183
  function generateContentPreview(content) {
184
+ log.info(`[yach-doc] generateContentPreview: ${content.length}`);
112
185
  const previewLength = 100000;
113
186
  if (!content)
114
187
  return "";
@@ -228,6 +301,9 @@ const DocSummarizeSchema = Type.Object({
228
301
  sheet_name: Type.Optional(Type.String({
229
302
  description: "表格精读模式:指定要读取的 sheet 名称。不传则自动判断:内容 ≤10 万字符时全量返回,超出时返回所有 sheet 的概览(前 10 行样本)",
230
303
  })),
304
+ offset: Type.Optional(Type.Number({
305
+ description: "分片起点(JavaScript 字符串长度,汉字计 1)。正文超过 5000 字时每次返回 5000 字;第一页不要传。hasMore 为 true 时用返回的 nextOffset 继续读取,直到读完再总结",
306
+ })),
231
307
  });
232
308
  // ── 工具函数 ─────────────────────────────────────────────────────────────
233
309
  export function createDocSummarizeTool() {
@@ -249,7 +325,31 @@ export function createDocSummarizeTool() {
249
325
  let tempFilepath = ""; // 回调内外共用,异常时 finally 可清理
250
326
  try {
251
327
  return await client.invoke("yach_doc_summarize", async (c) => {
328
+ const docLoc = {
329
+ fileUrl: params.file_url,
330
+ guid: params.guid,
331
+ knNodeId: params.kn_node_id,
332
+ };
252
333
  try {
334
+ const exportCacheKey = docContentCacheKey("export", docLoc, params.sheet_name);
335
+ const pageOffset = params.offset ?? 0;
336
+ if (pageOffset > 0) {
337
+ const cached = readDocContentCache(exportCacheKey);
338
+ if (cached !== undefined) {
339
+ log.info(`[yach-doc] 导出全文命中缓存 ${cached.length} 字,offset=${pageOffset}`);
340
+ const sliced = sliceDocContent(cached, params.offset);
341
+ return jsonResult({
342
+ ok: true,
343
+ content: sliced.content,
344
+ contentLength: sliced.contentLength,
345
+ offset: sliced.offset,
346
+ nextOffset: sliced.nextOffset,
347
+ hasMore: sliced.hasMore,
348
+ chunkLength: DOC_PAGE_LENGTH,
349
+ message: pagedDocMessage(sliced),
350
+ });
351
+ }
352
+ }
253
353
  let downloadUrl = "";
254
354
  let actualExportFormat;
255
355
  let actualDocUrl = loc;
@@ -299,14 +399,33 @@ export function createDocSummarizeTool() {
299
399
  error: "文档内容为空或太短,无法总结",
300
400
  });
301
401
  }
402
+ const sliced = sliceDocContent(textContent, params.offset);
403
+ if (textContent.length > DOC_PAGE_LENGTH) {
404
+ writeDocContentCache(exportCacheKey, textContent);
405
+ }
406
+ if (!sliced.chunked) {
407
+ return jsonResult({
408
+ ok: true,
409
+ downloadUrl,
410
+ exportFormat: actualExportFormat,
411
+ actualDocUrl,
412
+ contentLength: textContent.length,
413
+ contentPreview: generateContentPreview(textContent),
414
+ message: "文档内容已提取。请将 content 或 contentPreview 发送给 AI 助手进行总结。",
415
+ });
416
+ }
302
417
  return jsonResult({
303
418
  ok: true,
304
419
  downloadUrl,
305
420
  exportFormat: actualExportFormat,
306
421
  actualDocUrl,
307
- contentLength: textContent.length,
308
- contentPreview: generateContentPreview(textContent),
309
- message: "文档内容已提取。请将 content 或 contentPreview 发送给 AI 助手进行总结。",
422
+ content: sliced.content,
423
+ contentLength: sliced.contentLength,
424
+ offset: sliced.offset,
425
+ nextOffset: sliced.nextOffset,
426
+ hasMore: sliced.hasMore,
427
+ chunkLength: DOC_PAGE_LENGTH,
428
+ message: pagedDocMessage(sliced),
310
429
  });
311
430
  }
312
431
  catch (err) {
@@ -321,19 +440,40 @@ export function createDocSummarizeTool() {
321
440
  catch (cleanupError) { }
322
441
  }
323
442
  try {
324
- const fallbackResult = await c.doc.readText({
325
- fileUrl: params.file_url,
326
- guid: params.guid,
327
- knNodeId: params.kn_node_id,
328
- });
443
+ const cacheKey = docContentCacheKey("text", docLoc);
444
+ const offset = params.offset ?? 0;
445
+ let content = offset > 0 ? readDocContentCache(cacheKey) : undefined;
446
+ if (content === undefined) {
447
+ const fallbackResult = await c.doc.readText(docLoc);
448
+ content = fallbackResult.content || "";
449
+ if (content.length > DOC_PAGE_LENGTH) {
450
+ writeDocContentCache(cacheKey, content);
451
+ }
452
+ log.info(`[yach-doc] get_text 已获取全文 ${content.length} 字`);
453
+ }
454
+ else {
455
+ log.info(`[yach-doc] 兜底全文命中缓存 ${content.length} 字,offset=${offset}`);
456
+ }
457
+ const sliced = sliceDocContent(content, params.offset);
458
+ if (!sliced.chunked) {
459
+ return jsonResult({
460
+ ok: true,
461
+ content: sliced.content,
462
+ contentLength: sliced.contentLength,
463
+ contentPreview: generateContentPreview(sliced.content),
464
+ message: "文档总结流程异常,已通过 get_text 获取文档内容。",
465
+ fallback: true,
466
+ });
467
+ }
329
468
  return jsonResult({
330
469
  ok: true,
331
- content: fallbackResult.content || "",
332
- contentLength: fallbackResult.content
333
- ? fallbackResult.content.length
334
- : 0,
335
- contentPreview: generateContentPreview(fallbackResult.content || ""),
336
- message: "文档总结流程异常,已通过 get_text 获取文档内容。",
470
+ content: sliced.content,
471
+ contentLength: sliced.contentLength,
472
+ offset: sliced.offset,
473
+ nextOffset: sliced.nextOffset,
474
+ hasMore: sliced.hasMore,
475
+ chunkLength: DOC_PAGE_LENGTH,
476
+ message: pagedDocMessage(sliced),
337
477
  fallback: true,
338
478
  });
339
479
  }
@@ -1 +1 @@
1
- {"version":3,"file":"summarize.js","sourceRoot":"","sources":["../../../../src/tools/doc/summarize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarize.js","sourceRoot":"","sources":["../../../../src/tools/doc/summarize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * yach_tools_upload_file — 本地文件上传 COS(app token)
3
+ *
4
+ * 将本地文件上传到知音楼 COS 存储并返回可访问的 URL。
5
+ * 纯上传能力,不导入文档、不建知识库节点、不发消息。
6
+ */
7
+ import { readFile } from "node:fs/promises";
8
+ import { basename, extname } from "node:path";
9
+ import { Type } from "@sinclair/typebox";
10
+ import { jsonResult } from "openclaw/plugin-sdk/agent-runtime";
11
+ import { createYachToolClient } from "../../core/tool-client.js";
12
+ import { handleInvokeErrorWithAutoAuth } from "../auto-auth.js";
13
+ import { StringEnum } from "../helpers.js";
14
+ const EXT_TO_MIME = {
15
+ ".jpg": "image/jpeg", ".jpeg": "image/jpeg", ".png": "image/png", ".gif": "image/gif",
16
+ ".webp": "image/webp", ".bmp": "image/bmp", ".svg": "image/svg+xml",
17
+ ".mp4": "video/mp4", ".mov": "video/quicktime", ".avi": "video/x-msvideo",
18
+ ".mkv": "video/x-matroska", ".webm": "video/webm", ".m4v": "video/x-m4v",
19
+ ".mp3": "audio/mpeg", ".m4a": "audio/mp4", ".amr": "audio/amr", ".aac": "audio/aac",
20
+ ".pdf": "application/pdf", ".zip": "application/zip",
21
+ ".txt": "text/plain", ".md": "text/markdown", ".html": "text/html", ".csv": "text/csv",
22
+ ".doc": "application/msword",
23
+ ".docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
24
+ ".xls": "application/vnd.ms-excel",
25
+ ".xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
26
+ ".ppt": "application/vnd.ms-powerpoint",
27
+ ".pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
28
+ };
29
+ function guessContentType(filename) {
30
+ return EXT_TO_MIME[extname(filename).toLowerCase()] ?? "application/octet-stream";
31
+ }
32
+ const UploadFileSchema = Type.Object({
33
+ file_path: Type.String({ description: "本地文件绝对路径(必填)" }),
34
+ filename: Type.Optional(Type.String({ description: "上传后在 COS 上的文件名(含扩展名)。缺省时取 file_path 的文件名" })),
35
+ cos_type: Type.Optional(StringEnum(["image", "security", "file"], {
36
+ description: "COS 存储类型:image=图片;security=安全相关;file=普通文件(默认)",
37
+ })),
38
+ content_type: Type.Optional(Type.String({ description: "文件 MIME 类型。缺省时按文件名扩展名推断,无法识别时为 application/octet-stream" })),
39
+ });
40
+ export function createUploadFileTool() {
41
+ return {
42
+ name: "yach_tools_upload_file",
43
+ label: "本地文件转 COS 地址",
44
+ description: "当有本地文件、需要拿到该文件的 COS 地址时使用:将本地文件上传至知音楼 COS 并返回可访问的 URL(app token,无需用户 OAuth 授权)。" +
45
+ "仅做上传拿地址,不导入文档、不建知识库节点、不发消息;把本地文件上传/导入到知音楼(文档、知识库)请改用对应工具。",
46
+ parameters: UploadFileSchema,
47
+ execute: async (_toolCallId, rawParams) => {
48
+ const params = rawParams;
49
+ if (!params.file_path) {
50
+ return jsonResult({ ok: false, error: "file_path 为必填" });
51
+ }
52
+ const client = createYachToolClient();
53
+ try {
54
+ const data = await readFile(params.file_path);
55
+ const filename = params.filename || basename(params.file_path);
56
+ const contentType = params.content_type || guessContentType(filename);
57
+ const cosType = params.cos_type || "file";
58
+ const url = await client.invoke("yach_tools_upload_file", (c) => c.cos.upload({ filename, data, contentType, cosType }), { as: "app" });
59
+ return jsonResult({ url, filename, content_type: contentType, cos_type: cosType });
60
+ }
61
+ catch (err) {
62
+ return handleInvokeErrorWithAutoAuth(err, undefined, { toolName: "yach_tools_upload_file" });
63
+ }
64
+ },
65
+ };
66
+ }
67
+ export function registerYachToolTools(api) {
68
+ api.registerTool(createUploadFileTool());
69
+ }
70
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tools/yach-tool/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yach.zhiyinlou.com/yach",
3
- "version": "2.16.0-beta.1",
3
+ "version": "2.16.0-beta.2",
4
4
  "description": "OpenClaw Yach (知音楼) channel plugin",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -66,7 +66,7 @@
66
66
  "order": 80
67
67
  },
68
68
  "install": {
69
- "npmSpec": "@yach.zhiyinlou.com/yach@2.16.0-beta.1",
69
+ "npmSpec": "@yach.zhiyinlou.com/yach@2.16.0-beta.2",
70
70
  "defaultChoice": "npm",
71
71
  "minHostVersion": ">=2026.3.22"
72
72
  }
@@ -46,6 +46,7 @@ IM 等来源的文档链接是富文本,不是纯 URL:
46
46
  | `format` | 可选 | 指定导出格式(默认自动判断):`pdf`/`docx`/`md`;表格 `xlsx` |
47
47
  | `summary_prompt` | 可选 | 总结提示词,如"请提炼三个核心结论" |
48
48
  | `sheet_name` | 可选 | 表格精读:指定要读取的 sheet 名称(见下方表格读取说明) |
49
+ | `offset` | 可选 | 分片起点。`hasMore` 为 true 时传返回里的 `nextOffset`;第一页不要传 |
49
50
 
50
51
  ## 表格(xlsx)读取策略
51
52
 
@@ -71,7 +72,9 @@ IM 等来源的文档链接是富文本,不是纯 URL:
71
72
  | `/form/` | 表单 | `pdf` |
72
73
  | 其他(`/doc/` 等) | 普通文档 | `docx` |
73
74
 
74
- **兜底机制**:若导出/解析失败,自动回退到直接读取(`readText`),确保能返回结果。
75
+ **分页**:导出解析和兜底读取都适用。正文超过 5000 字时按 5000 字分片,只返回当前片,并带 `hasMore`、`nextOffset`。`hasMore` 为 true 时,必须用相同定位参数、`offset=nextOffset` 继续读,直到 `hasMore` 为 false,再总结。禁止只根据第一片回答。第一页不要传 `offset`。上下文即将占满时,把之前已经总结的内容整理后返回给用户。全文不足 3 片时,不要向用户提及分片。
76
+
77
+ **兜底机制**:若导出/解析失败,自动回退到直接读取(`readText`),分页规则与上面相同。
75
78
 
76
79
  ## yach_doc_file export 参数
77
80