27 Commits

Author SHA1 Message Date
4175af113c fix(provider): sanitize replayed assistant media 2026-07-20 00:11:19 +08:00
7a3058d8b5 docs: finalize streaming turn architecture 2026-07-17 17:45:22 +08:00
c7ceb877a2 feat: stream Anthropic turns with signed replay state 2026-07-17 17:11:26 +08:00
3ada5b9421 feat: stream agent turns through session lifecycle 2026-07-17 15:44:08 +08:00
588449d373 feat: stream OpenAI provider responses 2026-07-17 15:17:36 +08:00
a7980b7f72 feat: add authoritative turn state machine 2026-07-17 14:52:56 +08:00
a73f9edda2 支持工具读取图片并注入多模态模型 2026-07-16 19:07:56 +08:00
24d3e26b43 fix(runtime): eliminate unowned persistence tasks 2026-07-14 11:50:55 +08:00
c2d4fc5f09 refactor: remove dead code and unused state 2026-07-14 11:41:07 +08:00
63d20d1eb8 refactor: eliminate build warnings and legacy evaluator
Resolve strict Clippy findings across all targets, preserve public API compatibility with scoped lint exceptions, and fix sourced messages retaining media references. Replace meval and its future-incompatible nom dependency with a bounded internal expression parser and regression tests.
2026-07-14 11:00:39 +08:00
fdd7f47305 系统提示词精简,拆分固定部分与可变部分,固化工具skill顺序,提升缓存命中率 2026-06-17 23:25:28 +08:00
fe2bc3dfd3 更新版本号至1.1.2,优化Dockerfile中的himalaya安装方式,调整内容块构建逻辑以保留文本,增强Feishu通道的媒体处理,新增交互式消息设计文档 2026-06-17 22:22:41 +08:00
8f4ee79d8d Format codebase with rustfmt 2026-06-15 23:47:24 +08:00
a77c026826 增加deepseek的支持。 2026-05-25 17:40:17 +08:00
99a57a816a 增加LLM相关错误处理 2026-05-13 08:59:23 +08:00
ac2c1e0fe0 chore: fix clippy lints and suppress dead_code warnings 2026-05-10 23:26:55 +08:00
5ef89cd667 refactor: remove unused functions and improve path resolution in tools 2026-05-10 23:14:12 +08:00
81e9f1e7db clippy --fix: 合并嵌套if、简化map_or、移除冗余引用等机械性优化 2026-05-08 16:35:21 +08:00
5d62141658 1、修复和提升记忆系统 2、简化消息标记 2026-05-08 15:09:27 +08:00
0e146a8f2a 可观测性改善,llm api兼容性改善 2026-05-04 23:04:28 +08:00
98eb7bea3d 新增跨session消息发送能力 2026-05-04 00:32:24 +08:00
ef601107ac feat: 添加工具调用支持,优化消息处理和持久化 2026-04-18 14:17:23 +08:00
a4399037ac fix: use char-based slicing instead of byte-based to handle UTF-8
Byte index slicing like `&text[..100.min(text.len())]` panics when the
byte index falls inside a multi-byte UTF-8 character (e.g., Chinese).
Changed to `text.chars().take(100).collect::<String>()` for safe
character-based truncation.
2026-04-08 08:49:52 +08:00
2dada36bc6 feat: introduce multimodal content handling with media support
- Added ContentBlock enum for multimodal content representation (text, image).
- Enhanced ChatMessage struct to include media references.
- Updated InboundMessage and OutboundMessage to use MediaItem for media handling.
- Implemented media download and upload functionality in FeishuChannel.
- Modified message processing in the gateway to handle media items.
- Improved logging for message processing and media handling in debug mode.
- Refactored message serialization for LLM providers to support content blocks.
2026-04-07 23:09:31 +08:00
9834bd75cf feat: add calculator tool and integrate with agent loop
- Introduced a new CalculatorTool for performing various arithmetic and statistical calculations.
- Enhanced the AgentLoop to support tool execution, including handling tool calls in the process flow.
- Updated ChatMessage structure to include optional fields for tool call identification and names.
- Modified the Session and SessionManager to manage tool registrations and pass them to agents.
- Updated the OpenAIProvider to serialize tool-related message fields.
- Added a ToolRegistry for managing multiple tools and their definitions.
- Implemented tests for the CalculatorTool to ensure functionality and correctness.
2026-04-06 23:43:45 +08:00
35d201f206 重构项目结构,添加代理、网关和客户端模块,更新配置以支持默认网关设置,增强错误处理,添加 WebSocket 支持 2026-04-06 16:36:17 +08:00
8b1e6e7e06 实现基本的模型调用 2026-04-05 17:11:42 +08:00