aa989cbaf1
feat(gateway): runtime introspection for status endpoint
2026-07-24 18:02:28 +08:00
115e77ff27
feat(config): optional provider pricing for cost metrics
2026-07-24 17:11:37 +08:00
0d61354ba1
feat: add gateway configuration hot reload
2026-07-21 12:59:46 +08:00
b043fcf531
fix(session): commit same-turn media with final reply
2026-07-20 00:11:39 +08:00
76de8139de
perf: calibrate turn history incrementally
2026-07-19 13:51:14 +08:00
76685c3983
refactor: normalize inbound channel context
2026-07-19 13:42:43 +08:00
355244a3d6
refactor: unify turn progress delivery
2026-07-19 13:36:42 +08:00
42fe650785
refactor: centralize turn input preparation
2026-07-19 13:34:12 +08:00
0c835db380
fix: observe terminal turn delivery
2026-07-19 13:23:01 +08:00
c6e022f6cb
feat: stream turns through Feishu cards
2026-07-17 17:30:38 +08:00
6230ac8e36
feat: stream turn snapshots to TUI and WebUI
2026-07-17 16:53:21 +08:00
3ada5b9421
feat: stream agent turns through session lifecycle
2026-07-17 15:44:08 +08:00
a7980b7f72
feat: add authoritative turn state machine
2026-07-17 14:52:56 +08:00
740d0f4f33
feat: persist streaming turn metadata
2026-07-17 14:37:10 +08:00
f4172fea38
实现tui和webui的附件收发,优化文件在消息中的处理
2026-07-16 17:49:51 +08:00
351af8870d
初步实现todo功能
2026-07-15 17:48:14 +08:00
9ac898acbb
扩充定时任务功能、实现类似其他agent软件的heartbeat功能
2026-07-15 16:36:10 +08:00
6e56a84054
增加命令补全
2026-07-15 14:00:36 +08:00
27d126cf73
tui客户端增强。
2026-07-14 14:31:16 +08:00
f42e9d44cc
refactor(session): isolate messaging and persistence
2026-07-14 11:56:19 +08:00
954bfd1d75
fix(messaging): make persistence and delivery explicit
2026-07-14 11:49:02 +08:00
c2d4fc5f09
refactor: remove dead code and unused state
2026-07-14 11:41:07 +08:00
f691c1aad6
fix(agent): supervise background tasks atomically
2026-07-14 11:30:32 +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
3d580828b5
fix(runtime): harden persistence scheduling and shutdown
...
Add versioned SQLite migrations, enforced runtime pragmas, and transactional message constraints. Claim scheduled jobs with durable leases, execute them concurrently within bounds, and commit completion atomically. Supervise background tasks and clean up WebSocket clients and writer tasks during ordered shutdown.
2026-07-14 10:37:58 +08:00
b06bc4f025
fix(runtime): harden session persistence and outbound dispatch
2026-07-14 10:08:55 +08:00
fdd7f47305
系统提示词精简,拆分固定部分与可变部分,固化工具skill顺序,提升缓存命中率
2026-06-17 23:25:28 +08:00
ad7fa70a02
优化session的锁
2026-06-16 22:47:07 +08:00
8f4ee79d8d
Format codebase with rustfmt
2026-06-15 23:47:24 +08:00
c6f4392e63
Fix CLI session routing and dialog controls
2026-06-15 23:44:41 +08:00
3df628bd28
补充/info信息
2026-05-29 16:23:35 +08:00
ea1338c94f
优化子agent提示词
2026-05-29 11:22:48 +08:00
41b4895ff0
增加sub-agent机制。
2026-05-25 23:23:10 +08:00
a77c026826
增加deepseek的支持。
2026-05-25 17:40:17 +08:00
f0879f8d13
重构文件消息处理流程。
2026-05-25 11:59:29 +08:00
22be6e404b
优化斜杠命令处理机制,增加/stop命令
2026-05-24 18:12:18 +08:00
b85578a7d2
新增浏览器调用能力。
2026-05-21 17:11:53 +08:00
52925fcd73
增加MCP适配
2026-05-13 16:43:38 +08:00
d957f9c649
feat(send_message): support file sending via Feishu; fix upload endpoint and message format
...
- OutboundMessenger trait: add media: Vec<MediaItem> param to send_message()
- send_message tool: add optional 'files' param with path-to-MediaItem conversion
- SessionManager::send_message(): forward media to OutboundMessage
- Feishu: fix image upload endpoint (/im/v1/images/upload → /im/v1/images)
- Feishu: fix post image tag (image → img)
- Feishu: fix file upload file_type mapping (use valid Feishu types)
- Feishu: send files as separate messages (file/audio/media msg_type), not embedded in post
- Feishu: add debug logging for upload/send responses
- Skip [message from] prefix for pure file messages to same session
2026-05-13 12:06:55 +08:00
ebbf7e4036
refactor(session): make cron stateless, split session lock, eliminate deadlock
...
- handle_cron_message: bypass Session entirely, use create_cron_agent() for direct LLM call; cron LLM delivers results via send_message tool
- handle_message: split session lock into Phase1(prepare)/Phase2(LLM unlocked)/Phase3(persist), allowing send_message to lock freely
- send_message: restore lock().await (remove try_lock workaround)
- scheduler: remove outbound publish (LLM handles delivery via send_message)
2026-05-13 10:40:58 +08:00
99a57a816a
增加LLM相关错误处理
2026-05-13 08:59:23 +08:00
3d42f22f83
fix(session): replace Mutex with task-local storage to prevent reentrant deadlock in send_message
2026-05-13 08:48:31 +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
c81b1e42c7
feat(skills): enhance SkillsLoader to support workspace skills directory and update skills loading logic
...
feat(get-skill): add action parameter for skill retrieval and implement skill listing functionality
fix(session): adjust skills prompt formatting for improved clarity
2026-05-10 17:45:34 +08:00
bafa7a606c
fix: update database filename and improve session management in chat manager
2026-05-10 15:51:03 +08:00
8c0c76a232
fix(session): persist compression marker on retry, warn on storage/persist errors
2026-05-10 14:52:10 +08:00
3d29854079
feat(session): incremental recovery from storage using compressed timeline
2026-05-10 14:41:48 +08:00
e65130450e
feat(compressor): return CompressionResult with created_timelines flag, record marker in handle_message and /compact
2026-05-10 14:40:13 +08:00
d022e30943
feat(storage): add last_compressed_message_at column to sessions table and Session struct
2026-05-10 14:35:21 +08:00