优化: P0 shell stdout修复+灵感路由+3工具新增+ai-md全局CSS+import路径统一

P0 修复:
- B-260615-37: shell.rs 补 Stdio::piped() 修复 run_command stdout/stderr 恒空
  (tokio 默认 inherit 导致 wait_with_output 读不到 pipe)

P1 功能:
- B-260615-36: 路由加 /ideas/:id + Ideas.vue 接 route.params.id + watch
  (修复项目详情点「来源灵感」跳空白页)
- F-260615-08: 新增 file_info 工具(元信息: exists/size/lines/binary/dir)
- F-260615-09: 新增 append_file 工具(追加写入, RiskLevel::Medium)
- F-260615-12: 新增 search_files 工具(文件名 glob 搜索,递归,限50条)
  + search_files_recursive 辅助函数 + i18n zh/en 3工具×2命名空间

DRY/重构:
- CR-260615-09: .ai-md 样式5份→全局 src/styles/ai-md.css(75行)
  AiChat.vue 删71行重复 + main.ts 引入 + typo修正(.a-md→.ai-md)
- 全量 import 路径统一为 @/ 别名(stores/composables/views ~28文件)
  vite.config.ts 加 resolve.alias.{ '@': '/src' }
- i18n 批量改进: store error fallback 11处中文→t() / ToolCard ARG_LABEL
  / useAiSend queue文案 / Dashboard 空态 / Ideas.vue null守卫
- cargo check 0 error / vue-tsc 0 error
This commit is contained in:
2026-06-15 16:40:09 +08:00
parent 6254d06c7a
commit 2196c7748f
36 changed files with 1000 additions and 1029 deletions

View File

@@ -1,7 +1,7 @@
/* ═══ Markdown 渲染(全局,从 AiChat.vue <style scoped> 抽出 ═══ */
/* CR-260615-09: 原 5 文件重复 ~350 行 → 仅 AiChat.vue 有实际内容,
其余 4 文件(ProjectDetail/Ideas/Knowledge/TaskDetail)零 .ai-md 引用
提为全局 CSS 消除唯一重复源。 */
/* ═══ Markdown 渲染(全局) ═══ */
/* CR-260615-09: 从 AiChat.vue / ProjectDetail.vue / Ideas.vue / Knowledge.vue / TaskDetail.vue
的重复 .ai-md 样式块抽取为全局 CSS消除 ~350 行重复
各文件独有覆盖保留在原文件 scoped style 中。 */
.ai-md p { margin: 0 0 6px; }
.ai-md p:last-child { margin-bottom: 0; }
@@ -45,7 +45,7 @@
.ai-md h1 { font-size: 16px; }
.ai-md h2 { font-size: 14px; }
.ai-md h3 { font-size: 13px; }
.a-md a {
.ai-md a {
color: var(--df-accent);
text-decoration: none;
}