Skip to content

Commit 48e068c

Browse files
authored
release: v0.5.6-beta.5
Merge pull request #1280 from ThinkInAIXYZ/dev
2 parents 2fd8215 + 5e3bf6b commit 48e068c

File tree

407 files changed

+99406
-6186
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

407 files changed

+99406
-6186
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@ runtime/**/*
1919
.env
2020
.env.local
2121
.npmrc
22+
.claude/settings.local.json

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## v0.5.6-beta.5 (2025-01-16)
4+
- 全新 Skills 管理系统,支持技能安装、同步与多平台适配
5+
- 新增 o3.fan 提供商、优化工具调用(大型调用卸载、差异块展示、权限管理)、性能提升(消息列表虚拟滚动、流式事件批处理调度)
6+
- 修复多项问题:Ollama 错误处理、滚动定位、聊天输入高度、macOS 全屏等
7+
- All-new Skills management system with installation, sync, and multi-platform adapters
8+
- Added o3.fan provider, enhanced tool calls (offloading, diff blocks, permissions), performance boost (message list virtual scrolling, batched stream scheduling)
9+
- Fixed multiple issues: Ollama error handling, scroll positioning, chat input height, macOS fullscreen, etc.
10+
311
## v0.5.6-beta.4 (2025-12-30)
412
- 全面重构 Agent 与会话架构:拆分 agent/session/loop/tool/persistence,替换 Thread Presenter 为 Session Presenter,强化消息压缩、工具调用、持久化与导出
513
- 增强搜索体验:新增 Search Presenter 与搜索提示模板,完善搜索助手与搜索引擎配置流程

CLAUDE.md

Lines changed: 107 additions & 270 deletions
Large diffs are not rendered by default.

docs/FLOWS.md

Lines changed: 48 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
sequenceDiagram
99
autonumber
1010
participant User as 用户
11-
participant UI as ChatInput.vue
11+
participant UI as ChatInput/ChatView.vue
12+
participant Store as chatStore.sendMessage()
13+
participant IPC as presenter:call (IPC)
1214
participant AgentP as AgentPresenter.sendMessage()
1315
participant MsgMgr as MessageManager
1416
participant StreamGen as StreamGenerationHandler
@@ -19,7 +21,9 @@ sequenceDiagram
1921
participant EventBus as EventBus
2022
2123
User->>UI: 输入内容并点击发送
22-
UI->>AgentP: sendMessage(agentId, content)
24+
UI->>Store: handleSend(message)
25+
Store->>IPC: presenter:call(agentPresenter.sendMessage)
26+
IPC->>AgentP: sendMessage(agentId, content)
2327
2428
Note over AgentP,MsgMgr: 1. 创建用户消息
2529
AgentP->>MsgMgr: sendMessage(agentId, content, 'user')
@@ -76,7 +80,7 @@ sequenceDiagram
7680
else permission 事件
7781
AgentLoop->>EventBus: send { tool_call: 'permission-required' }
7882
AgentLoop->>AgentLoop: needContinue = false (等待用户响应)
79-
break 退出循环等待用户批准
83+
Note over AgentLoop: 退出循环等待用户批准
8084
end
8185
8286
alt stop event
@@ -85,7 +89,7 @@ sequenceDiagram
8589
Note over AgentLoop: 继续循环
8690
else end/max_tokens
8791
Note over AgentLoop: 结束循环
88-
需要 break
92+
Note over AgentLoop: 需要 break
8993
end
9094
end
9195
end
@@ -119,7 +123,46 @@ sequenceDiagram
119123
- StreamGenerationHandler.startStreamCompletion: `src/main/presenter/agentPresenter/streaming/streamGenerationHandler.ts:54-179`
120124
- agentLoopHandler.startStreamCompletion: `src/main/presenter/agentPresenter/loop/agentLoopHandler.ts:145-668`
121125

122-
## 2. Agent Loop 详细流程
126+
## 2. 渲染与流式更新流程(含 Minimap)
127+
128+
```mermaid
129+
sequenceDiagram
130+
autonumber
131+
participant UI as ChatInput/ChatView (Renderer)
132+
participant Store as chatStore (Renderer)
133+
participant IPC as presenter:call (IPC)
134+
participant AgentP as AgentPresenter (Main)
135+
participant StreamGen as StreamGenerationHandler (Main)
136+
participant LLM as LLMProviderPresenter (Main)
137+
participant LLMH as LLMEventHandler (Main)
138+
participant Sched as StreamUpdateScheduler (Main)
139+
participant Cache as messageRuntimeCache (Renderer)
140+
participant List as MessageList/Minimap (Renderer)
141+
142+
UI->>Store: send(message)
143+
Store->>IPC: presenter:call(agentPresenter.sendMessage)
144+
IPC->>AgentP: sendMessage(agentId, content)
145+
AgentP->>StreamGen: generateAIResponse + startStreamCompletion
146+
StreamGen->>LLM: startStreamCompletion()
147+
LLM-->>LLMH: stream chunks
148+
LLMH->>Sched: enqueueDelta(content/tool_call/usage)
149+
Sched-->>Store: STREAM_EVENTS.RESPONSE (init/delta)
150+
Store->>Cache: cacheMessage/ensureMessageId
151+
Cache-->>List: messageItems/minimapMessages
152+
LLMH-->>Sched: flushAll(final)
153+
Sched-->>Store: STREAM_EVENTS.RESPONSE (final)
154+
LLMH-->>Store: STREAM_EVENTS.END/ERROR
155+
```
156+
157+
**关键文件位置**
158+
- chatStore.sendMessage + stream handlers: `src/renderer/src/stores/chat.ts`
159+
- Presenter IPC: `src/renderer/src/composables/usePresenter.ts`, `src/main/presenter/index.ts`
160+
- AgentPresenter.sendMessage: `src/main/presenter/agentPresenter/index.ts`
161+
- StreamGenerationHandler.startStreamCompletion: `src/main/presenter/agentPresenter/streaming/streamGenerationHandler.ts`
162+
- LLMEventHandler + StreamUpdateScheduler: `src/main/presenter/agentPresenter/streaming/llmEventHandler.ts`, `src/main/presenter/agentPresenter/streaming/streamUpdateScheduler.ts`
163+
- MessageList/Minimap: `src/renderer/src/components/message/MessageList.vue`, `src/renderer/src/components/message/MessageMinimap.vue`
164+
165+
## 3. Agent Loop 详细流程
123166

124167
```mermaid
125168
sequenceDiagram

0 commit comments

Comments
 (0)