Commit Graph

240 Commits

Author SHA1 Message Date
5ea5ddba6e feat: 添加 file_delete 工具支持 2025-12-25 16:17:31 +08:00
25a8ea5aa4 feat:记录会话,按顺序记录AI和用户的会话
- 包含工具调用等
2025-12-25 15:13:15 +08:00
ef83016b7f feat:解决强制滚动的问题 2025-12-25 11:00:23 +08:00
2e6812d00d feat:vscode的版本要求从1.8改为1.07 2025-12-25 10:31:35 +08:00
b676846b2f feat:实现plan的开关的前端展示效果 2025-12-25 09:23:53 +08:00
9c787627a9 feat:实现已完成仿真之后直接调用波形预览组件展示波形预览图 2025-12-24 12:00:03 +08:00
463eedf1dd feat:实现了工具调用的icon替换
- 还将icon抽取出来成为独立的组件,方便统一管理
2025-12-24 11:26:25 +08:00
fb1156d24f feat:将英文的工具名称映射为中文展示 2025-12-24 10:43:55 +08:00
0b4ec2ca6e feat:修改了工具调用的样式 + 实现工具调用内容太长可以折叠的功能 2025-12-24 10:25:12 +08:00
10f0877a5e fix: 修复AI询问时选项点击后选中状态丢失的问题
- 添加 answeredQuestions Map 存储已回答问题的状态
- 在重新渲染时恢复选中状态和 answered 类
- 已回答的问题自动隐藏输入框并禁用点击事件
- 确保用户选择在页面更新时保持显示
2025-12-24 10:01:53 +08:00
5c2ea0f15c Merge branch 'feat/plugin-initialization' into feat/back-to-front 2025-12-17 10:07:08 +08:00
b0e1995897 feat:优化小细节输入框的样式 2025-12-17 10:03:43 +08:00
6c5d470bad fex:尝试修复流式显示工具调用不穿插显示的问题 2025-12-17 10:03:40 +08:00
f18ca4fb9c feat:新增会话历史列表样式 + 新开会话功能
- 还优化了页面的样式,删除了读取文件的以及没用的文本
2025-12-17 09:48:45 +08:00
c21ad95963 feat: 实现状态栏显示功能
- 在消息区域下方添加状态栏 UI(HTML、CSS、JS)
- 支持"思考中..."状态显示(蓝色脉冲动画)
- 支持"生成中..."状态显示(橙色脉冲动画)
- 支持工具执行时显示"正在执行 xxx..."
- 在 messageHandler 中添加状态栏消息发送逻辑
2025-12-16 19:20:14 +08:00
7c1f1fae07 feat: 集成后端通信和前端交互功能
- 重构消息处理器(src/utils/messageHandler.ts)
  - 集成 DialogService 实现后端对话管理
  - 添加流式消息处理和 SSE 事件监听
  - 实现工具执行状态的实时更新
  - 支持用户问题的交互处理
  - 添加对话中止和错误处理机制

- 更新 ICHelperPanel(src/panels/ICHelperPanel.ts)
  - 添加 submitAnswer 消息处理,支持用户答案提交
  - 添加 abortDialog 消息处理,支持对话中止
  - 与后端服务进行双向通信

- 更新 ICViewProvider(src/views/ICViewProvider.ts)
  - 同步更新消息处理逻辑
  - 添加 extensionPath 参数传递
  - 支持新的消息类型和事件处理

完成前后端通信的完整集成,实现:
- AI 对话的流式响应
- 工具调用的实时反馈
- 用户交互的双向通信
- 错误处理和状态管理
2025-12-16 19:09:46 +08:00
c61e29a41f feat: 实现 WebView 流式消息显示和状态管理
- 添加流式消息分段显示功能
  - 支持 AI 消息的实时流式渲染
  - 实现消息块(MessageChunk)的增量更新
  - 使用 marked 库进行 Markdown 渲染

- 新增加载状态指示器
  - 显示 AI 思考中的动画效果
  - 支持加载状态的显示和隐藏

- 实现工具执行状态展示
  - 显示工具调用的实时状态(执行中/成功/失败)
  - 展示工具名称、参数和执行结果
  - 提供折叠/展开功能查看详细信息

- 添加用户问题交互 UI
  - 支持 AI 向用户提问的界面展示
  - 显示问题内容和等待用户响应的提示
  - 集成答案提交和对话中止功能

- 优化消息渲染性能
  - 使用 DocumentFragment 批量更新 DOM
  - 避免频繁的页面重排和重绘
2025-12-16 19:09:35 +08:00
703912bb5f chore: 添加后端通信相关依赖
- 添加 eventsource-parser 依赖用于 SSE 事件解析
- 新增后端配置项(iccoder.backend.baseUrl 和 timeout)
- 更新 pnpm-lock.yaml 锁定依赖版本
2025-12-16 19:09:23 +08:00
8ad6a48e8f feat: 实现核心服务层
- 新增对话服务(src/services/dialogService.ts)
  - 封装完整的对话生命周期管理
  - 集成 SSE 流式响应处理
  - 支持对话创建、消息发送、对话中止
  - 提供统一的事件回调接口

- 新增工具执行器(src/services/toolExecutor.ts)
  - 实现前端工具调用框架
  - 支持 readFile、writeFile、listFiles、executeCommand 等工具
  - 提供工具执行结果的标准化返回
  - 集成 VSCode API 进行文件和终端操作

- 新增用户交互处理(src/services/userInteraction.ts)
  - 实现 AI 向用户提问功能(AskUser)
  - 支持 input、confirm、quickPick 等交互类型
  - 使用 VSCode 原生 UI 组件展示问题
  - 提供答案收集和提交机制
2025-12-16 19:09:16 +08:00
ba75541dd6 feat: 实现后端通信层
- 新增 HTTP 客户端(src/services/apiClient.ts)
  - 实现对话创建、消息发送、对话中止等 API 调用
  - 支持用户答案提交和对话历史查询
  - 统一的错误处理和超时控制

- 新增 SSE 事件处理器(src/services/sseHandler.ts)
  - 实现 Server-Sent Events 流式数据解析
  - 支持 MessageChunk、ToolExecution、AskUser、Error 等事件类型
  - 使用 eventsource-parser 库处理 SSE 数据流
  - 提供事件回调机制,支持实时 UI 更新
2025-12-16 19:09:04 +08:00
f87adab7be feat: 添加后端通信基础设施
- 新增 API 类型定义(src/types/api.ts)
  - 定义对话请求/响应接口
  - 定义 SSE 事件类型(MessageChunk、ToolExecution、AskUser 等)
  - 定义工具执行和用户交互相关类型

- 新增配置管理模块(src/config/settings.ts)
  - 实现后端服务器配置读取
  - 支持从 VSCode 配置中获取 baseUrl 和 timeout
  - 提供统一的配置访问接口
2025-12-16 19:08:54 +08:00
f2382a8eed feat:实现波形预览的功能 2025-12-16 16:58:35 +08:00
4918399325 feat:新增复制点赞点踩功能
- 优化输入框占据不满整个大框的问题
- 优化点赞点踩复制的tooltip显示被遮挡的问题
2025-12-16 16:22:07 +08:00
92f6639741 feat:对话界面将输入框固定在底部 2025-12-16 15:19:33 +08:00
07bb2d46b0 feat:实现一键优化的前端效果 2025-12-16 14:53:46 +08:00
e42514fe95 feat:实现添加上下文的样式 2025-12-16 09:17:07 +08:00
4e4e33d136 feat:模型切换的样式定义 2025-12-15 18:21:17 +08:00
e541b85005 feat:将调用node.js的fs模块改为vscode官方的API
- 这样可以避免用户本地没有node环境导致插件无法运行的原因
2025-12-15 17:29:15 +08:00
c77187eec1 feat:订阅之后开启vscode就自动打开聊天面板 2025-12-15 17:14:36 +08:00
a1a526bb98 feat:搭建本地存储会话历史的框架
- 将会话历史存储在C:\Users\admin\.iccoder文件下
- 在里面又会创建多个文件夹进行存储
2025-12-15 15:19:36 +08:00
ab6d257df2 feat:接入波形查看器的工具
- 生成VCD文件后,就自动打开波形查看的工具显示波形
2025-12-15 11:51:35 +08:00
22b9a0ed13 feat:接入iverilog工具
- 将iverilog可以随着插件的下载而下载
- 用户输入自然语言就可以控制生成对应的VCD文件
2025-12-15 11:09:03 +08:00
94225a3525 feat:对本地文件进行修改
- 对某一行进行修改
- 将文件中的某些词进行替换
- 将文件重命名
2025-12-12 09:57:33 +08:00
8af5976501 feat:实现对文件的创建和删除
- 还涵盖了对已存在的文件进行覆盖
- 对不存在的文件创建
- 还可以创建目录
- 可以一次创建多个文件
2025-12-12 09:10:34 +08:00
95342ecbec feat:给编辑面板标签页替换icon + 编辑页面新增icon 2025-12-11 14:33:19 +08:00
49b3e34101 feat:实现读取本地文件的功能 2025-12-11 14:29:56 +08:00
565f4afe46 feat:替换侧边栏的logo 2025-12-11 11:58:01 +08:00
05cbe7d6fd style:修改侧边栏的打开的样式
- 新增侧边栏的蓝色渐变的背景色
- 添加了logo展示
- 添加了开启对话的按钮并且具备打开对话框的功能
2025-12-11 11:36:10 +08:00
b3c8344d82 feat:将extension文件拆分成不同功能的独立组件 2025-12-11 10:54:46 +08:00
eec915421a feat:插件初始化 2025-12-11 09:41:27 +08:00