# v0.5.19 > 项目管理工作流升级:技能激活 UI 对比度、侧边栏按钮常显、项目规则全量扫描、项目硬删除、会话 JSONL 导出/导入、子项目独立识别。 ## 新功能 - **技能可同时在多个项目激活**(#77)。「项目」作用域之前是单选 ── 在下拉里换一个项目会静默把激活搬过去。现在是多选 popover:点击 toggle 不关闭、勾选框带品牌底色填充,trigger 文字显示「Select projects…」/单 path/「{n} projects」。状态模型用 `Set` 聚合视图,组件挂载时并行 fan-out 一次 `getActiveSkills('project', cwd)` 收集激活集合;toggle 单点 read-modify-write,失败局部隔离。Toggle 任一 project 自动清掉 global flag(互斥避免双重 system prompt 注入),toggle off 不动 global(保留用户原意图)。零后端改动 ── 现有 per-project `activeSkills` API 保持不变。 - 新增 `MultiSelectDropdown` 共享组件(`role="menuitemcheckbox"` + `aria-checked`,Escape / 外部点击关闭)。 - **会话 JSONL 导出/导入**(#75)。 - 单 session 右键菜单 → "Export as JSONL":通过浏览器下载 `.jsonl` 文件。 - 项目右键菜单 → "Import session…":上传一个 `.jsonl` 作为新 session 加入该项目(写入新 uuid,避免与本地已有 session 冲突)。 - 后端 `GET /api/projects/sessions/export?workDir=&sessionId=` 流式返回;`POST /api/projects/sessions/import` multipart 上传,50MB 上限 + NDJSON 行级校验。 - **删除全部项目会话**(#74)。项目右键菜单新增红色 "Delete all sessions" 项,二次确认后清空 `~/.claude/projects//` 下所有 `.jsonl` 与 `.summary.json`,目录变空时自动 rmdir 让项目从侧边栏消失。`memory/`、子目录、用户笔记一律保留。 - 后端 `POST /api/projects/sessions/clear` 接 `{ projectId }` 或 `{ workDir }`,含 traversal/null byte/`.`/`..` 防御和 `startsWith(projectsDir)` 二次校验。 ## 修复 - **技能激活范围按钮在选中态对比度太低**(#73)。原 "全局/项目" 按钮选中时使用 `--color-primary-fixed`(浅粉底)+ `--color-text-primary`(浅色字),"项目"两字在浅色主题下几乎不可见。改为品牌底 `--color-brand` + 配套高对比前景 `--color-btn-primary-fg`。亮/暗双主题对比都已验证。 - **项目下拉勾选指示缺失**(#73)。"应用到 ──" 项目选择器原用原生 `