kurihada
|
67c6918b28
|
refactor(ui): 将工具栏按钮移入 Chat Header
- 移除 App.tsx 中 absolute 定位的悬浮按钮
- 将设置和文件浏览器按钮移入 Chat Header
- 通过 props 传递按钮状态和回调函数
- 修复 tsconfig.json 的 include 配置错误
|
2025-12-12 16:34:06 +08:00 |
|
kurihada
|
68ab6a2016
|
feat(ui): 创建共享 UI 组件包
将 web 和 desktop 的重复代码抽取到 @ai-assistant/ui 包:
- 添加可配置的 API 客户端 (configureApiClient)
- 迁移共享组件: ChatMessage, ChatInput, Sidebar, FileBrowser, ConfigPanel
- 迁移共享 hook: useChat
- 添加 responsive prop 支持响应式布局
- 更新 web/desktop 依赖并删除重复代码
|
2025-12-12 15:52:53 +08:00 |
|
kurihada
|
563224fa73
|
docs: 添加中文文档
|
2025-12-12 15:31:38 +08:00 |
|
kurihada
|
4ca8c413a6
|
fix(desktop): 修复桌面端 API 连接问题
- API 客户端使用完整后端 URL (localhost:3000)
- 添加 tauri-plugin-http 支持外部 HTTP 请求
- 配置 CSP 允许连接 localhost
- 同步 useChat hook 修复 WebSocket 错误处理
|
2025-12-12 15:30:01 +08:00 |
|
kurihada
|
fc5a644726
|
fix(web): 修复 WebSocket 切换 session 时的错误
- 添加 isClosingRef 标记主动关闭,避免触发错误回调
- 在 effect 开始时重置 isClosingRef 支持 StrictMode
- 增强 Vite 代理错误处理,静默 EPIPE/ECONNRESET 错误
|
2025-12-12 15:29:46 +08:00 |
|
kurihada
|
40afa10ed9
|
feat(server): 添加 session 持久化支持
- 复用 core 包的 SessionStorage 实现文件持久化
- sessions 保存到 ~/.local/share/ai-assist/sessions/
- 服务启动时自动加载已持久化的 sessions
- create/addMessage/delete 操作自动同步到文件
|
2025-12-12 15:27:16 +08:00 |
|
kurihada
|
b17649930b
|
docs: 更新项目文档
|
2025-12-12 14:28:34 +08:00 |
|
kurihada
|
2fe1c55997
|
fix(web): 修复 useChat 无限请求问题
- 用 useRef 存储回调函数,避免依赖变化导致无限循环
- 添加 onSessionNotFound 回调,会话不存在时自动创建新会话
- 限制 WebSocket 重连次数为 5 次
- 添加 web:dev 快捷脚本
|
2025-12-12 14:27:54 +08:00 |
|
kurihada
|
20765efe62
|
feat(web): 添加响应式布局和 PWA 支持
- 实现移动端响应式适配:抽屉式侧边栏、触摸优化、Safe Area 支持
- 添加 PWA 支持:vite-plugin-pwa、manifest、Service Worker 缓存
- 优化移动端输入体验:防缩放、最小触摸目标、键盘适配
|
2025-12-12 13:56:52 +08:00 |
|
kurihada
|
6ef9d95172
|
feat: 添加 Tauri 桌面应用
- 创建 packages/desktop 模块
- 实现 Tauri 2.0 + React 桌面应用
- 复用 Web 前端代码
- 添加系统托盘功能
- 实现本地文件访问命令
- 配置 Vite + Tauri 集成
- 更新 .gitignore 添加 Rust/Tauri 相关规则
|
2025-12-12 13:19:00 +08:00 |
|
kurihada
|
b5d3b7df57
|
feat: 添加配置面板组件
- 新增 ConfigPanel 组件,支持模型选择、参数调整
- 添加配置 API (getConfig/updateConfig)
- 在 App.tsx 中集成配置按钮和面板
|
2025-12-12 12:14:39 +08:00 |
|
kurihada
|
6438ecf2a6
|
feat: 实现文件浏览器功能
- 添加 /api/files 路由支持目录浏览和文件读取
- 支持 list、read、stat、tree 四个端点
- 安全路径检查防止目录遍历攻击
- 创建 FileBrowser React 组件
- 支持目录导航、文件预览、隐藏文件切换
- 在 Web UI 中添加可切换的文件浏览面板
|
2025-12-12 11:55:11 +08:00 |
|
kurihada
|
da1773b950
|
feat: 实现 TUI 组件系统
- 添加 blessed 终端 UI 库
- 创建 ChatView 组件:支持消息列表和流式输出
- 创建 SessionList 组件:会话管理和快捷键
- 创建 StatusBar 组件:连接状态显示
- 创建 TUIApp 主应用整合所有组件
- 更新 attach 命令支持 --tui/--no-tui 选项
- 添加 CLAUDE.md 项目规范文件
- 修复 Web 前端 CSS prose 类缺失问题
|
2025-12-12 11:47:24 +08:00 |
|
kurihada
|
168996a475
|
feat: 完善 Server 层并添加 CLI 和 Web 前端
Server 层增强:
- 添加 Agent 适配层,支持动态加载 core 模块
- 实现 Token 认证机制,支持本地/远程模式
- WebSocket 集成 Agent 实时对话
CLI 模块 (packages/cli):
- serve 命令启动 HTTP Server
- attach 命令连接远程 Server
- API Client 封装
Web 前端 (packages/web):
- React 18 + Vite + Tailwind CSS
- 会话管理侧边栏
- WebSocket 实时聊天界面
- 流式消息显示
|
2025-12-12 11:22:25 +08:00 |
|
kurihada
|
5e32375f0e
|
feat: 重构为 Monorepo 架构并实现 HTTP Server
架构变更:
- 采用 pnpm workspaces 实现 Monorepo 结构
- 将现有代码迁移到 packages/core
- 新增 packages/server HTTP 服务层
Server 功能:
- REST API: 会话管理、工具管理、配置管理
- WebSocket: 实时双向通信支持
- SSE: 服务端事件推送
- Hono + Bun 作为运行时
API 端点:
- GET/POST /api/sessions - 会话 CRUD
- GET/POST /api/sessions/:id/messages - 消息管理
- GET /api/sessions/:id/events - SSE 事件流
- WS /api/ws/:sessionId - WebSocket 连接
- GET/POST /api/tools - 工具管理
- GET/PUT /api/config - 配置管理
|
2025-12-12 10:42:20 +08:00 |
|