@fgbg/mdocs 1.3.22 → 1.3.24

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.
Files changed (104) hide show
  1. package/README.md +1 -1
  2. package/agent-skills/changelog/SKILL.md +13 -0
  3. package/agent-skills/getting-started-installation/SKILL.md +8 -2
  4. package/dist/server/agent/Agent/run-pi-agent.js +7 -0
  5. package/dist/server/agent/Agent/run-pi-agent.js.map +1 -1
  6. package/dist/server/agent/Agent/session-manager.js +354 -144
  7. package/dist/server/agent/Agent/session-manager.js.map +1 -1
  8. package/dist/server/agent/Agent/session-manager.queue.test.js +65 -0
  9. package/dist/server/agent/Agent/session-manager.queue.test.js.map +1 -0
  10. package/dist/server/agent/Agent/session-meta-lock.js +73 -0
  11. package/dist/server/agent/Agent/session-meta-lock.js.map +1 -0
  12. package/dist/server/agent/Agent/session-meta-lock.test.js +44 -0
  13. package/dist/server/agent/Agent/session-meta-lock.test.js.map +1 -0
  14. package/dist/server/agent/Agent/session-repair.test.js +40 -0
  15. package/dist/server/agent/Agent/session-repair.test.js.map +1 -0
  16. package/dist/server/agent/Agent/system-prompt.js +3 -3
  17. package/dist/server/agent/Agent/tool-ui-effects.js +41 -0
  18. package/dist/server/agent/Agent/tool-ui-effects.js.map +1 -1
  19. package/dist/server/agent/Agent/tools-documents.js +62 -12
  20. package/dist/server/agent/Agent/tools-documents.js.map +1 -1
  21. package/dist/server/agent/Agent/tools-overwrite.js +1 -1
  22. package/dist/server/agent/Agent/tools-overwrite.js.map +1 -1
  23. package/dist/server/agent/Agent/tools-registry.test.js +16 -0
  24. package/dist/server/agent/Agent/tools-registry.test.js.map +1 -1
  25. package/dist/server/agent/Agent/tools-sheet.js +918 -0
  26. package/dist/server/agent/Agent/tools-sheet.js.map +1 -0
  27. package/dist/server/agent/Agent/tools-sheet.test.js +202 -0
  28. package/dist/server/agent/Agent/tools-sheet.test.js.map +1 -0
  29. package/dist/server/agent/Agent/tools-template.js +4 -1
  30. package/dist/server/agent/Agent/tools-template.js.map +1 -1
  31. package/dist/server/cli/main.js +81 -4
  32. package/dist/server/cli/main.js.map +1 -1
  33. package/dist/server/cli/self-update.js +49 -20
  34. package/dist/server/cli/self-update.js.map +1 -1
  35. package/dist/server/cli/self-update.test.js +21 -2
  36. package/dist/server/cli/self-update.test.js.map +1 -1
  37. package/dist/server/config/index.js +2 -1
  38. package/dist/server/config/index.js.map +1 -1
  39. package/dist/server/documents/document.service.integration.test.js +67 -1
  40. package/dist/server/documents/document.service.integration.test.js.map +1 -1
  41. package/dist/server/documents/document.service.js +80 -5
  42. package/dist/server/documents/document.service.js.map +1 -1
  43. package/dist/server/main.js +6 -0
  44. package/dist/server/main.js.map +1 -1
  45. package/dist/server/routes/documents.routes.js +6 -2
  46. package/dist/server/routes/documents.routes.js.map +1 -1
  47. package/dist/server/search/embedding-model.js +33 -11
  48. package/dist/server/search/embedding-model.js.map +1 -1
  49. package/dist/shared/docPath.js +5 -2
  50. package/dist/shared/docPath.js.map +1 -1
  51. package/dist/shared/file-type-policy.js +15 -0
  52. package/dist/shared/file-type-policy.js.map +1 -1
  53. package/dist/shared/file-type-policy.test.js +17 -1
  54. package/dist/shared/file-type-policy.test.js.map +1 -1
  55. package/dist/shared/file-types.js +2 -0
  56. package/dist/shared/file-types.js.map +1 -1
  57. package/dist/shared/sheetDocument.js +781 -0
  58. package/dist/shared/sheetDocument.js.map +1 -0
  59. package/dist/shared/sheetDocument.test.js +179 -0
  60. package/dist/shared/sheetDocument.test.js.map +1 -0
  61. package/dist/shared/storagePath.js +15 -8
  62. package/dist/shared/storagePath.js.map +1 -1
  63. package/dist/web/assets/AgentChatPanel-NcsMAhWM.js +22 -0
  64. package/dist/web/assets/{AgentSkillFormCard-CzJG8FK4.js → AgentSkillFormCard-B99CncJO.js} +3 -3
  65. package/dist/web/assets/{AiWriteWorkbench-DiSDDAee.js → AiWriteWorkbench-DomEbwzU.js} +6 -6
  66. package/dist/web/assets/{DiagramEditor-NtNY3sZL-DfkpQX3P.js → DiagramEditor-NtNY3sZL-BhsjOCtK.js} +1 -1
  67. package/dist/web/assets/DocChrome-wfHrPEB7.js +11 -0
  68. package/dist/web/assets/DocumentEditor-CCuqHlmF.js +1 -0
  69. package/dist/web/assets/HtmlEditor-g2NNYmv2.js +1 -0
  70. package/dist/web/assets/{MergeView-CbFSN3Bi.js → MergeView-GL7xdFM4.js} +4 -4
  71. package/dist/web/assets/PlaygroundPage-Bb4X1bvp.js +8 -0
  72. package/dist/web/assets/SettingsPage-B4INgMK-.js +1 -0
  73. package/dist/web/assets/SheetEditor-Cka57s62.js +16 -0
  74. package/dist/web/assets/SheetEditor-gXD-sRv2.css +1 -0
  75. package/dist/web/assets/{Toolbar-D9FcRwg3.js → Toolbar-Bk3LKZfg.js} +19 -29
  76. package/dist/web/assets/VisitorPickerModal-zafJ6beK.js +1 -0
  77. package/dist/web/assets/{check-Bf8YbzH7.js → check-BMeXlsHC.js} +1 -1
  78. package/dist/web/assets/{copy-SBghRY2T.js → copy-CCsiKd_j.js} +1 -1
  79. package/dist/web/assets/{diagram-CgEd0hrk.js → diagram-BF8g9yg4.js} +3 -3
  80. package/dist/web/assets/docPlainCharCount-BjBZaoHy.js +11 -0
  81. package/dist/web/assets/{editor-CL03se2B.js → editor-DBWWidi3.js} +1 -1
  82. package/dist/web/assets/file-type-policy-C6Nun42Q.js +1 -0
  83. package/dist/web/assets/index-3B7_9QOQ.js +299 -0
  84. package/dist/web/assets/index-BF754bDB.css +1 -0
  85. package/dist/web/assets/italic-B6bGjo1_.js +11 -0
  86. package/dist/web/assets/{meta2d-1-g23JOU.js → meta2d-DP4Vt_ZE.js} +1 -1
  87. package/dist/web/assets/{meta2dEngine-BD2XbzaV-ulfRZEvk.js → meta2dEngine-BD2XbzaV-9HAADQ7Y.js} +1 -1
  88. package/dist/web/assets/{motion-Dyy8pB0Q.js → motion-BAXVQJfN.js} +1 -1
  89. package/dist/web/assets/{plus-CEapsZwl.js → plus-BD44y7Zf.js} +1 -1
  90. package/dist/web/assets/{react-BkX5Koku.js → react-2y9P8xJn.js} +171 -168
  91. package/dist/web/assets/{react-vendor-BuABiQkA.js → react-vendor-BVS1XoFi.js} +1 -1
  92. package/dist/web/assets/{ui-ZPt_BNBg.js → ui-CEFkTVnG.js} +200 -181
  93. package/dist/web/index.html +6 -6
  94. package/package.json +30 -21
  95. package/dist/web/assets/AgentChatPanel-BZlAgyrV.js +0 -22
  96. package/dist/web/assets/DocChrome-QTGER_Af.js +0 -21
  97. package/dist/web/assets/DocumentEditor-DYSRZnJa.js +0 -1
  98. package/dist/web/assets/HtmlEditor-oDPrhq3o.js +0 -1
  99. package/dist/web/assets/PlaygroundPage-DuMH_V-7.js +0 -8
  100. package/dist/web/assets/SettingsPage-C_RMO-5M.js +0 -1
  101. package/dist/web/assets/VisitorPickerModal-CM13Y6jQ.js +0 -1
  102. package/dist/web/assets/file-type-policy-GUk904tm.js +0 -1
  103. package/dist/web/assets/index-CIgmAX2Q.css +0 -1
  104. package/dist/web/assets/index-Cwy87sZC.js +0 -293
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  面向个人开发者与小团队:产品内 **智能助手 + 帮写**,外部 **CLI / Skills** 接入 Cursor / Claude;SQLite + 本地文件,**无账户**即可协作。
6
6
 
7
- [文档站点](https://xuhuafeifei.github.io/mdocs-site/) · [GitHub](https://github.com/xuhuafeifei/mdocs) · [npm `@fgbg/mdocs`](https://www.npmjs.com/package/@fgbg/mdocs) · 当前版本 **1.3.22**
7
+ [文档站点](https://xuhuafeifei.github.io/mdocs-site/) · [GitHub](https://github.com/xuhuafeifei/mdocs) · [npm `@fgbg/mdocs`](https://www.npmjs.com/package/@fgbg/mdocs) · 当前版本 **1.3.23**
8
8
 
9
9
  <p align="center">
10
10
  <img src="image/site主页.png" alt="mdocs 文档站点首页" width="860" />
@@ -10,6 +10,19 @@ source: changelog.md
10
10
 
11
11
  现行文档里,产品概念「域」已改称 **工作空间**。下面各版本仍按当时的叫法记录。
12
12
 
13
+ ## v1.3.23
14
+
15
+ ### 智能助手会话
16
+ - 修复历史会话列表偶发「只剩一条」:`session.json` 读改写改为 Manager 方法级串行队列 + 原子写;读失败时从 `*.jsonl` 恢复索引
17
+ - 运维命令:`mdocs agent session repair --dry-run|--confirm`(可加 `--visitor` / `--kind`),把孤儿 transcript 补回列表
18
+
19
+ ### 文档信息
20
+ - 新增 **字符数**:去 Markdown 语法 / HTML 标签后的纯文本总字符(异步统计,回答「写了多少字」)
21
+
22
+ ### 语义模型与日志
23
+ - Embedding GGUF 默认目录改为 `~/.mdocs/embedding/`(随 `MDOCS_DATA_DIR`);旧 `~/.fgbg/shared/embedding/` 仅作已下载文件回退
24
+ - 文件日志默认只落 **error+**(`MDOCS_LOG_LEVEL` 可改);路径仍为 `~/.mdocs/logs/`;无前台管理页
25
+
13
26
  ## v1.3.22
14
27
 
15
28
  ### 语义索引
@@ -77,11 +77,15 @@ mdocs visitor migrate --from Alice --to Bob --dry-run
77
77
 
78
78
  # 显式启动服务
79
79
  mdocs start
80
+
81
+ # 修复智能助手会话索引(历史列表丢条目时;须 --dry-run 或 --confirm)
82
+ mdocs agent session repair --dry-run
83
+ mdocs agent session repair --confirm
80
84
  ```
81
85
 
82
86
  ## 运行时数据
83
87
 
84
- 首次启动后,数据目录自动创建在 `~/.mdocs/`:
88
+ 首次启动后,数据目录自动创建在 `~/.mdocs/`(可用 `MDOCS_DATA_DIR` 改根目录):
85
89
 
86
90
  ```
87
91
  ~/.mdocs/
@@ -94,7 +98,9 @@ mdocs start
94
98
  folder/ # 工作空间内子目录(逻辑存在于数据库)
95
99
  b.md
96
100
  assets/ # 上传的附件
97
- logs/ # 运行日志
101
+ logs/ # 运行日志(默认文件级别 error+,见 MDOCS_LOG_LEVEL)
102
+ embedding/ # 本地语义模型 GGUF(可用 MDOCS_EMBEDDING_DIR 覆盖)
103
+ tenant/ # 访客私有运行时(含 agent 会话 jsonl)
98
104
  ```
99
105
 
100
106
  文档以 Lexical JSON 格式存储在 `files/docs/` 中,只能由 mdocs 加载编辑。
@@ -103,6 +103,13 @@ function bindAgentEvents(opts) {
103
103
  if (visibleText) {
104
104
  await sessionManager.appendAssistant(sessionId, visibleText);
105
105
  }
106
+ else if (msg.stopReason === "length") {
107
+ onEvent({
108
+ type: "tool_notice",
109
+ toolName: "agent",
110
+ text: "⚠️ 模型的思考过程达到了单次输出 Token 上限(8192)已被截断,未生成正文回复。建议在提示词中加上“直接输出结果/直接调用工具,无需长篇思考”。",
111
+ });
112
+ }
106
113
  }
107
114
  return;
108
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run-pi-agent.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/run-pi-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-pi-agent.js","sourceRoot":"","sources":["../../../../src/server/agent/Agent/run-pi-agent.ts"],"names":[],"mappings":"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"}