feat: 升级至 v0.3.14 — 移除 AGENTS.md/USERS.md + 内置提示词统一管理 + 时间感知 + 工具管理滚动

This commit is contained in:
2026-07-21 17:50:39 +08:00
parent f640c9b48a
commit c0a26ce053
9 changed files with 106 additions and 127 deletions
+9 -9
View File
@@ -1078,7 +1078,7 @@ export function registerAllIPCHandlers(
valid: true,
path: resolvedPath,
exists: false,
missingFiles: ['SOUL.md', 'AGENTS.md', 'MEMORY.md', 'USERS.md'],
missingFiles: ['SOUL.md', 'MEMORY.md'],
isNewWorkspace: true,
reason: '目录不存在,将在切换后自动创建',
};
@@ -1094,8 +1094,8 @@ export function registerAllIPCHandlers(
return { valid: false, reason: '无法访问路径' };
}
// 校验 3: 检测 4 个必需文件状态
const requiredFiles = ['SOUL.md', 'AGENTS.md', 'MEMORY.md', 'USERS.md'];
// 校验 3: 检测 2 个必需文件状态SOUL.md + MEMORY.md
const requiredFiles = ['SOUL.md', 'MEMORY.md'];
const missingFiles: string[] = [];
for (const f of requiredFiles) {
if (!existsSync(join(resolvedPath, f))) missingFiles.push(f);
@@ -1136,8 +1136,8 @@ export function registerAllIPCHandlers(
const failed: Array<{ file: string; error: string }> = [];
for (const fileName of files) {
// 仅允许继承白名单文件(防止路径遍历)
if (!['SOUL.md', 'AGENTS.md', 'USERS.md'].includes(fileName)) {
// 仅允许继承白名单文件(防止路径遍历)— v0.3.14: 仅 SOUL.md
if (!['SOUL.md'].includes(fileName)) {
failed.push({ file: fileName, error: '不在继承白名单中' });
continue;
}
@@ -1159,13 +1159,13 @@ export function registerAllIPCHandlers(
return { success: true, inherited, failed };
});
// 获取当前工作空间详情:路径 + 4 个核心文件状态 + 自动目录状态
// 获取当前工作空间详情:路径 + 2 个核心文件状态 + 自动目录状态
ipcMain.handle('workspace:getInfo', async () => {
const { existsSync, statSync, readFileSync, readdirSync } = await import('fs');
const workspacePath = workspaceService.getPath();
const files = workspaceService.reload(); // 同步外部可能的手动修改
const REQUIRED = ['SOUL.md', 'AGENTS.md', 'MEMORY.md', 'USERS.md'] as const;
const REQUIRED = ['SOUL.md', 'MEMORY.md'] as const;
const AUTO_DIRS = ['logs', 'traces', '.metona'] as const;
const fileInfos = REQUIRED.map((name) => {
@@ -1187,8 +1187,8 @@ export function registerAllIPCHandlers(
} catch {
// ignore
}
// 文件内容映射:SOUL.md → files.soul, AGENTS.md → files.agents 等
const contentKey = name.toLowerCase().replace('.md', '') as 'soul' | 'agents' | 'memory' | 'users';
// 文件内容映射:SOUL.md → files.soul, MEMORY.md → files.memory
const contentKey = name.toLowerCase().replace('.md', '') as 'soul' | 'memory';
return {
name,
path: filePath,