| Files | Last commit | Last update |
|---|---|---|
feat(hooker): support plugin-requested session actions executed daemon-side Co-Authored-By: GLM-5.2 | 4 days ago | |
optimize: add proactive token estimation and config validation with URL optimization Co-Authored-By: GLM-5 | 1 month ago | |
feat: add agent-types cron module with expression parser Add foundational cron expression parsing and configuration types as a shared module for xiaoO daemon and TUI. Changes: - Add 'cron' and 'chrono' dependencies to agent-types crate - Create cron::expression module with CronExpression parser * Support both 5-field and 6-field cron expressions * Auto-normalize 5-field to 6-field format * Cache parsed Schedule for performance - Create cron::config module with runtime config types * CronJobConfig: fully resolved job configuration * CronGlobalConfig: global settings from config.toml * CronJobDef: raw job definition before merging - Create cron::error module with error types * CronParseError: expression parsing errors * CronExecutionError: job execution errors * CronError: top-level error aggregation Module design: - Zero dependencies on daemon/TUI layer - Shared between daemon scheduler and TUI validator - Comprehensive error types with thiserror Files added: crates/agent-types/src/cron/mod.rs crates/agent-types/src/cron/expression.rs crates/agent-types/src/cron/config.rs crates/agent-types/src/cron/error.rs Tests: Expression parser includes 9 unit tests for validation | 2 days ago | |
fix(cerberus): decode network event port in host byte order The eBPF program already converts sin_port from network to host byte order ( u16::from_be) before writing it into the perf event buffer, so the user-space decoder must read it back in native order. It was instead re-applying a big-endian conversion (u16::from_be_bytes), byte-swapping the port a second time (e.g. 443 surfaced as 47873). Read the field with u16::from_ne_bytes, consistent with the other fields decoded from the same buffer. This had no visible effect until the network audit surfaced the port to users via NetworkAccessRecord. | 1 month ago | |
chore: remove end-to-end report and script for generating it | 2 months ago | |
feat(hooker): support plugin-requested session actions executed daemon-side Co-Authored-By: GLM-5.2 | 4 days ago | |
feat(hooker): support plugin-requested session actions executed daemon-side Co-Authored-By: GLM-5.2 | 4 days ago | |
docs: update README and CLI documentation for reasoning effort feature - Added detailed explanation of the reasoning_effort configuration in the README. - Updated CLI documentation to include --reasoning-effort argument for provider-side reasoning levels. - Enhanced TUI interface to display current reasoning effort level and allow switching between levels. | 2 months ago | |
feat(hooker): support plugin-requested session actions executed daemon-side Co-Authored-By: GLM-5.2 | 4 days ago | |
收窄shared 模块,去除大量无用代码,过度抽象 | 1 month ago | |
add rustls-tls-native-roots | 1 month ago | |
fix(exec): bound stdout/stderr drain to prevent deadlock on background pipe inheritance Co-Authored-By: GLM-5.2 | 4 days ago | |
feat(hooker): add chat-layer and session-lifecycle plugin hook mechanism Co-Authored-By: GLM-5.2 | 8 days ago | |
fix(prompt): merge stable+volatile into one system message; sort skills deterministically Two reviewer findings addressed: - builder_impl: fold volatile tail into the single system message (stable first, volatile appended with \n\n) instead of emitting two separate system blocks. OpenAI-compatible providers including OpenRouter often expect one leading system message; multiple consecutive system roles can be silently dropped or mis-parsed by chat-template backends. Auto-prefix caching is unaffected: the stable span remains a byte-identical leading prefix every turn. - loader: sort loaded skills by name before returning, matching the tools.sort_by precedent in builder_impl. Unsorted read_dir output is FS/inode-order-dependent, so the skill catalog block in the stable prefix could differ between restarts or machines and defeat caching even when no skill changed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | 27 days ago | |
feat(subagent): support concurrent join_subagent calls Co-Authored-By: GLM-5 | 16 days ago | |
feat(hooker): support plugin-requested session actions executed daemon-side Co-Authored-By: GLM-5.2 | 4 days ago | |
bugfix: 当前的daemon并发会共享可变runtimeview,导致出现不可控的覆盖问题,无限循环+无法结束,已针对性进行修复。目前通过每个并行创建新的runtime view来解决这个问题,同时给runtime结束的时候,移除.OK的静默失败问题。 Co-author-by: GPT5.5 | 6 days ago |
| Files | Last commit | Last update |
|---|---|---|
| 4 days ago | ||
| 1 month ago | ||
| 2 days ago | ||
| 1 month ago | ||
| 2 months ago | ||
| 4 days ago | ||
| 4 days ago | ||
| 2 months ago | ||
| 4 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 4 days ago | ||
| 8 days ago | ||
| 27 days ago | ||
| 16 days ago | ||
| 4 days ago | ||
| 6 days ago |