281 Commits

Author SHA1 Message Date
24d3e26b43 fix(runtime): eliminate unowned persistence tasks 2026-07-14 11:50:55 +08:00
59ecb27c06 删除陈旧文档 2026-07-14 11:49:42 +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
560ace50c1 refactor(storage): remove legacy persistence paths 2026-07-14 11:33:48 +08:00
f691c1aad6 fix(agent): supervise background tasks atomically 2026-07-14 11:30:32 +08:00
a9c297764e fix(channels): unify lifecycle ownership 2026-07-14 11:24:03 +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
5079458f55 增加时区 2026-07-07 10:51:40 +08:00
fdd7f47305 系统提示词精简,拆分固定部分与可变部分,固化工具skill顺序,提升缓存命中率 2026-06-17 23:25:28 +08:00
f08bf85b37 添加基础skill 2026-06-17 22:42:37 +08:00
2558d6dae1 优化代码格式,调整断言和格式化共享日历事件输出 2026-06-17 22:40:43 +08:00
fe2bc3dfd3 更新版本号至1.1.2,优化Dockerfile中的himalaya安装方式,调整内容块构建逻辑以保留文本,增强Feishu通道的媒体处理,新增交互式消息设计文档 2026-06-17 22:22:41 +08:00
e707774175 清理代码问题 2026-06-16 22:56:01 +08:00
ad7fa70a02 优化session的锁 2026-06-16 22:47:07 +08:00
48c8a51d9a Update README.md and add runtime architecture and message flow diagrams
- Translated and updated the README.md to provide a clearer overview of PicoBot's functionality and architecture in Chinese.
- Added a new SVG diagram for message flow to illustrate the process from user input through various components back to the channel.
- Created a new SVG diagram for runtime architecture to depict the high-level structure of PicoBot, including channels, gateway, message bus, session manager, agent loop, tools, providers, storage, scheduler, skills, and MCP.
2026-06-15 23:57:08 +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
0d66536e90 清理过期文档 2026-06-15 23:29:32 +08:00
0c3e740d15 修改说明文档+添加dockerfile 2026-06-15 23:20:13 +08:00
014538eedc feat(tools): add PtyTool with PtyManager for persistent PTY sessions 2026-05-29 17:03:19 +08:00
2a69021e27 chore: add portable-pty dependency 2026-05-29 16:59:16 +08:00
3df628bd28 补充/info信息 2026-05-29 16:23:35 +08:00
ea1338c94f 优化子agent提示词 2026-05-29 11:22:48 +08:00
b89dce013c 修改版本号。 2026-05-25 23:25:58 +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
b84c6f85db 优化浏览器工具 2026-05-24 16:36:11 +08:00
4fc47d9b83 增加工具说明 2026-05-24 14:56:43 +08:00
b85578a7d2 新增浏览器调用能力。 2026-05-21 17:11:53 +08:00
2f11aed44a feat(skills): add built-in skill packaging mechanism and about-picobot documentation
- Add build.rs: scan resources/skills/, compress each with tar+zstd, embed via include_bytes!
- Add src/skills/builtin.rs: runtime auto-install built-in skills to ~/.picobot/skills/
- Add about-picobot built-in skill: SKILL.md index + references/ (config, db-schema, architecture, faq, commands) + assets/config.example.json
- Update skill loading: reverse priority (agents < picobot < workspace), deduplicate by name
- Update skills prompt: re-query get_skill when user asks about installed skills
- Change max_tool_iterations default from 20 to 99
2026-05-15 12:00:18 +08:00
7a30848f65 修改skill加载机制 2026-05-15 10:39:35 +08:00
c92b07f2c6 fix(dependencies): update reqwest, regex, tokio, uuid, cron, ratatui, crossterm, hostname, and which versions; improve input area cursor positioning 2026-05-13 22:51:16 +08:00
db24d42076 feat(file_read): enhance file reading with encoding detection and support for binary files 2026-05-13 22:43:03 +08:00
1a3cfbb0af 系统提示词优化 2026-05-13 18:31:23 +08:00
2bff987be1 飞书渠道简化 2026-05-13 18:07:34 +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
1e69fa3bd1 feat: enhance memory section guide and improve search tool descriptions for clarity 2026-05-11 18:01:25 +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
5aec8cefb9 feat: add config.example.json template and update AGENTS.md with new config path 2026-05-10 18:45:53 +08:00
a479b92cdf feat(tools): add ContentSearchTool and FileSearchTool for enhanced file and content searching capabilities 2026-05-10 18:32:35 +08:00