Cytown
6a7bf32f9e
refactor: standardize channel identification and decouple name from provider type
...
Decouple channel names (config keys) from channel types (provider IDs) to allow
multiple instances of the same provider. This ensures robust identification
across the message bus and agent dispatch logic.
- Introduce ChannelType in InboundContext for consistent provider tracking
- Refactor IsInternalChannel to use provider type instead of generic names
- Update all channel implementations to pass through their provider type via BaseChannel
- Standardize agent dispatch and heartbeat recording to use ChannelType
- Enhance shell and cron tools with improved execution tracking and fallback logic
- Fix redundant channel field assignments and hardcoded types in providers
- Resolve build issues by adding missing logger imports to tool packages
2026-04-29 11:40:30 +08:00
lc6464
6d04d15ce0
fix(tool-feedback): dedupe duplicate content and keep full explanations
2026-04-26 00:40:55 +08:00
美電球
41f4d95597
Merge pull request #2657 from lc6464/fix-deepseek-v4-thinking-history
...
fix(reasoning): persist canonical history for DeepSeek and web chat
2026-04-25 15:08:48 +08:00
afjcjsbx
94a6b0c0f5
fix(tool-feedback): format tool args as JSON code blocks
2026-04-24 18:07:48 +02:00
lc6464
bb0f983708
fix(reasoning): persist canonical history for DeepSeek and web chat
2026-04-24 21:45:41 +08:00
lxowalle
451db2f5d8
Feat(channels): unify animated tool feedback across chat channels and Pico ( #2622 )
...
* feat(channels): unify tool feedback animation across discord telegram and feishu
* fix(tool-feedback): unify fallback and single-message delivery
* fix(channels): finalize tool feedback in place
* fix ci
* feat: improve tool feedback
* fix review blockers in pico token cache and tool feedback
fix(provider): preserve function thought signatures
fix(feishu): recover tool feedback after edit fallback
* * delete dead code
* fix(pico): clean up tool feedback progress state
* fix ci
* fix(web): preserve tool feedback line breaks in chat
* fix(channels): preserve tool feedback progress state
fix(pico): preserve context usage when finalizing tool feedback
chore: record branch review pass
fix: preserve tool feedback finalization state
fix(web): handle pico history update fallback
* fix ci
2026-04-23 10:35:50 +08:00
sky5454
329e68e017
refactor(agent): Agent Looper refactor phase2, restructure pipeline and rename loop files to agent ( #2585 )
...
* refactor(agent): introduce interfaces for MessageBus and ChannelManager
Phase 2 of loop.go refactor — dependency inversion using adapter pattern.
- Add interfaces.MessageBus and interfaces.ChannelManager interfaces
- Create adapters/messagebus.go wrapping *bus.MessageBus
- Create adapters/channelmanager.go wrapping *channels.Manager
- Update AgentLoop to use interfaces instead of concrete types
- Update registerSharedTools to accept interfaces.MessageBus
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor(agent): restructure pipeline and rename loop files
Pipeline refactoring:
- Split pipeline.go (1400 lines) into focused files:
- pipeline_setup.go (~115 lines): SetupTurn method
- pipeline_llm.go (~519 lines): CallLLM method
- pipeline_execute.go (~693 lines): ExecuteTools method
- pipeline_finalize.go (~78 lines): Finalize method
- Pipeline struct and NewPipeline remain in pipeline.go (~39 lines)
Agent file renaming:
- Rename loop_*.go to agent_*.go for consistent naming:
- loop.go -> agent.go, loop_message.go -> agent_message.go, etc.
- Merge turn.go + turn_exec.go into turn_state.go
- Rename loop_turn.go -> turn_coord.go
Documentation:
- Update docs/pipeline-restructuring-plan.md
- Add docs/agent-rename-plan.md
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* fix(agent): code format fixed
* refactor(agent): code test file added/renamed
* docs(agent): update agent refactor docs
* fix(agent): fix agent hardAbortX
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-21 10:55:50 +08:00