aa989cbaf1
feat(gateway): runtime introspection for status endpoint
2026-07-24 18:02:28 +08:00
14ca5dd7b4
feat(webui): app shell with flat nav, activity spine, and theme init
2026-07-24 10:01:07 +08:00
3118083707
feat(webui): embed latin fonts and serve via /fonts route
2026-07-24 09:06:48 +08:00
0d61354ba1
feat: add gateway configuration hot reload
2026-07-21 12:59:46 +08:00
4b0d5e41c6
feat(webui): render image attachments inline
2026-07-20 00:11:51 +08:00
762fd16e3f
增加oneshot客户端,解决一次性对话和测试的支持。
2026-07-19 23:18:39 +08:00
76685c3983
refactor: normalize inbound channel context
2026-07-19 13:42:43 +08:00
515a07ec1f
refactor: route gateway messages concurrently
2026-07-19 13:28:53 +08:00
7a5d95e786
merge: streaming turn architecture
2026-07-17 17:47:41 +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
55da3204f8
feat: coordinate live turn delivery
2026-07-17 15:56:52 +08:00
e3b2ff2472
feat(config): load layered startup env files
2026-07-16 23:20:00 +08:00
f4172fea38
实现tui和webui的附件收发,优化文件在消息中的处理
2026-07-16 17:49:51 +08:00
e37581c909
增加tui和web的配对码要求。
2026-07-16 15:18:21 +08:00
351af8870d
初步实现todo功能
2026-07-15 17:48:14 +08:00
9ac898acbb
扩充定时任务功能、实现类似其他agent软件的heartbeat功能
2026-07-15 16:36:10 +08:00
dba1a046c0
增加内嵌webui
2026-07-15 10:40:56 +08:00
89a1512350
新增service子命令
2026-07-14 16:10:08 +08:00
27d126cf73
tui客户端增强。
2026-07-14 14:31:16 +08:00
954bfd1d75
fix(messaging): make persistence and delivery explicit
2026-07-14 11:49:02 +08:00
a9c297764e
fix(channels): unify lifecycle ownership
2026-07-14 11:24:03 +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
e707774175
清理代码问题
2026-06-16 22:56:01 +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
41b4895ff0
增加sub-agent机制。
2026-05-25 23:23:10 +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
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
5aec8cefb9
feat: add config.example.json template and update AGENTS.md with new config path
2026-05-10 18:45:53 +08:00
af07eaf820
feat: add default AGENTS.md and USER.md templates and ensure their presence in the user's config directory
2026-05-10 18:07:50 +08:00
bafa7a606c
fix: update database filename and improve session management in chat manager
2026-05-10 15:51:03 +08:00
81e9f1e7db
clippy --fix: 合并嵌套if、简化map_or、移除冗余引用等机械性优化
2026-05-08 16:35:21 +08:00
2617558a27
记忆工具合并文件,改成记忆系统总是开启。
2026-05-08 10:28:34 +08:00
c602a0695d
feat: add memory system with FTS5 search and context compression integration
2026-05-07 23:32:59 +08:00
61d2fe9ef0
修复及完善cron任务
2026-05-07 16:24:13 +08:00
62f4326131
refactor: move scheduler store to storage module, cron tools to tools module
...
- storage/scheduler.rs: ScheduledJob/JobRun types + CRUD on Storage
- tools/cron.rs: 6 cron agent tools (add/list/remove/enable/disable/update)
- scheduler/types.rs: keep only Schedule enum
- scheduler/mod.rs: use Arc<Storage> instead of raw SqlitePool
- gateway/mod.rs: inject Storage directly, replace pool field
- storage/mod.rs: scheduler tables in init_schema
2026-05-05 00:49:54 +08:00
f7b0a33e66
feat: add 6 cron agent tools (add/list/remove/enable/disable/update)
2026-05-05 00:27:27 +08:00
205b814933
feat: wire scheduler into GatewayState startup and message processing
2026-05-05 00:17:19 +08:00
98eb7bea3d
新增跨session消息发送能力
2026-05-04 00:32:24 +08:00
c48ed83a23
refactor(session): 移除 InboundMessage.dialog_id,dialog_id 完全由 SessionManager 管理
...
Channel 消息不再携带 dialog_id,完全由 SessionManager 通过
current_sessions 内部管理。/new 后下一条消息会自动路由到新 session。
改动:
- InboundMessage 移除 dialog_id 字段
- handle_message 移除 dialog_id 参数
- Feishu/CLI channel 创建 InboundMessage 时不再设置 dialog_id
- 路由逻辑简化为:current_sessions → find_active_session → 创建新 session
2026-04-28 23:05:06 +08:00
ac7576bb4b
feat(session): Phase 3 - SessionManager 完善
...
- SessionManager::new 接收 Arc<Storage> 参数
- create_session / get_or_create_session 写入/恢复 Storage
- handle_message 支持无 dialog_id 时自动查找最近活跃 session 或创建新 session
- 实现 list_dialogs() — 从 Storage 读取最近 10 条
- 实现 switch_dialog() — 从 Storage 恢复 session
- 实现 delete_dialog() — 软删除 Storage + 内存移除
- 实现 rename_dialog() — 更新 Storage 和内存 title
- 实现 archive_dialog()(空实现,archive 概念已删除)
- 新增 start_cleanup_task() 后台 TTL 清理任务
- GatewayConfig 新增 session_db_path 和 cleanup_interval_minutes 配置
- Gateway::new 改为 async,创建 Storage 并启动清理任务
- rename_dialog / delete_dialog 改为 async(需 .await)
- WsOutbound::SystemNotification 已在 Phase 2 添加
2026-04-28 22:29:24 +08:00
1ac6de118a
修复 /dump 命令:保存到文件并注入系统提示词
...
- /dump 现在保存到 {workspace}/dumps/ 目录而非仅返回文本
- dump 文件包含注入模型的完整系统提示词(AgentLoop + Skills)
- 修复 cli_chat 中 current_session_guard 变量声明问题
- gateway 正确处理 HandleResult::AgentResponse 和 CommandOutput
- 移除 cli_chat 中未使用的 parse_slash_command 导入
2026-04-28 21:27:36 +08:00
61eea62bfc
增强斜杠命令功能,支持参数解析和新命令;实现双重 Ctrl+C 退出确认
2026-04-28 00:01:28 +08:00
f704900e07
统一工作目录管理
2026-04-27 17:23:52 +08:00
0c356e7ac4
重构: 添加斜杠命令解析和执行功能
2026-04-26 21:51:24 +08:00
bcee62713f
重构: 移除调试日志以简化消息处理流程
2026-04-26 21:26:27 +08:00
86dea0f874
Refactor session management to support dialog-based architecture
...
- Removed InputHandler and related input event handling code.
- Updated GatewayState to handle new session commands for dialogs.
- Introduced UnifiedSessionId for managing session identifiers across channels and chats.
- Refactored Session and SessionManager to manage dialogs instead of sessions.
- Added methods for creating, listing, switching, renaming, archiving, and deleting dialogs.
- Updated storage functions to accommodate dialog IDs in persistent session management.
- Enhanced tests to cover new dialog functionalities and ensure stability.
2026-04-26 20:59:54 +08:00