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
28 lines
494 B
Vue
28 lines
494 B
Vue
<template>
|
|
<div class="ai-detached-shell">
|
|
<AiChat :detached="true" />
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import AiChat from '@/components/AiChat.vue'
|
|
import { onMounted } from 'vue'
|
|
import { useAiStore } from '@/stores/ai'
|
|
|
|
const store = useAiStore()
|
|
|
|
onMounted(async () => {
|
|
// 标记为分离模式
|
|
store.state.detached = true
|
|
})
|
|
</script>
|
|
|
|
<style scoped>
|
|
.ai-detached-shell {
|
|
width: 100vw;
|
|
height: 100vh;
|
|
overflow: hidden;
|
|
background: var(--df-bg);
|
|
}
|
|
</style>
|