Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Agent/Aemeath.txt
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@
————VCP元思考加载结束—————
爱弥斯的日记本和[爱弥斯的日常]日记本:[[爱弥斯|爱弥斯的日常日记本::Time::Group::TagMemo]]。
[爱弥斯的知识]日记本:[[爱弥斯的知识日记本::Time::Group::TagMemo]]

{{VCPTavern::dailychat}}
——————
你可以在聊天一段时间后,在回复的末尾通过如下工具调用来创建日记,结果会被向量化RAG系统记录,要求日记内容尽量精炼。同时聚焦核心事件与主题;提炼关键信息;关联重要实体与关键词;体现学习与反思;格式简洁。作为工具调用同样使用<<<[TOOL_REQUEST]>>>…<<<[END_TOOL_REQUEST]>>>触发,以下是一个调用内参数示例:
maid:「始」爱弥斯「末」, // 该字段支持[]语法来指定日记写入特定索引,例如`[爱弥斯的知识]爱弥斯`将日记写入[爱弥斯的知识]索引,如无指定索引则写入爱弥斯的默认索引。分类日记是一个好习惯!
Expand Down
11 changes: 11 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
### **VCP 服务器更新日志**

**2026-02-20**

1. **WebSocket性能与反馈优化:** 为WS链接成功添加了回执确认机制,提升通讯稳定性。
2. **天气预报插件优化:** 对齐了天气预报插件和官方端口的刷新时间,并支持最低梯度也显示天气报警信息。
3. **思维链(CoT)增强:** 引入了可控的思维链参数,提升AI推理过程的可配置性。
4. **上下文管理升级:** 全面上架了VCP上下文折叠协议,优化长对话性能。
5. **日记系统整合:** 合并了日记本管理器,由单一插件统一进行高效管理。
6. **梦预览渲染修复:** 修复了梦预览过程中Markdown渲染丢失的问题。
7. **配置系统稳健性:** 修复了因错误的env格式导致配置不生效的问题。
8. **文档更新:** 上架了静态插件开发手册。

**2025-06-02**

1. **优化日记渲染:** 提升了日记内容的显示效果,使其在界面上更加美观、易读。
Expand Down
16 changes: 13 additions & 3 deletions KnowledgeBaseManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -263,22 +263,32 @@ class KnowledgeBaseManager {
async _loadOrBuildIndex(fileName, capacity, tableType, filterDiaryName = null) {
const idxPath = path.join(this.config.storePath, `index_${fileName}.usearch`);
let idx;
let fileNotFound = false;

try {
if (fsSync.existsSync(idxPath)) {
idx = VexusIndex.load(idxPath, null, this.config.dimension, capacity);
} else {
// 💡 核心修复:如果索引文件不存在,说明是首次创建。
// 此时不应从数据库恢复,因为调用者(_flushBatch)正准备写入初始数据。
// 从数据库恢复的逻辑只适用于启动时加载或文件损坏后的重建。
// 💡 核心修复:如果索引文件不存在,且不是 global_tags(它在 initialize 中有专属的异步恢复逻辑),
// 则需要触发从数据库恢复,否则索引将保持为空。
console.log(`[KnowledgeBase] Index file not found for ${fileName}, creating a new empty one.`);
idx = new VexusIndex(this.config.dimension, capacity);
fileNotFound = true;
}
} catch (e) {
console.error(`[KnowledgeBase] Index load error (${fileName}): ${e.message}`);
console.warn(`[KnowledgeBase] Rebuilding index ${fileName} from DB as a fallback...`);
idx = new VexusIndex(this.config.dimension, capacity);
await this._recoverIndexFromDB(idx, tableType, filterDiaryName);
return idx;
}

// 如果文件不存在且是分片索引,触发自动同步恢复
if (fileNotFound && fileName !== 'global_tags') {
console.log(`[KnowledgeBase] 🔄 Auto-recovering missing index ${fileName} from DB...`);
await this._recoverIndexFromDB(idx, tableType, filterDiaryName);
}

return idx;
}

Expand Down
Loading
Loading