Commit Graph

104 Commits

Author SHA1 Message Date
X-iZhang 62fe970476 feat: add OpenAI support with OAuth and environment configuration 2026-03-16 00:25:19 +00:00
X-iZhang c5a4d559a2 Refactor test cases for improved readability and consistency
- Added blank lines for better separation of test cases in multiple test files.
- Reformatted event handling in tests for clarity and consistency.
- Ensured consistent use of multi-line formatting for dictionary arguments in event handling.
- Improved assertions and test descriptions for better understanding.
- Updated test cases across various modules including test_stream_state, test_stream_utils, test_summarization, test_thread_selector, test_tool_error_handler, test_tui_widgets, test_ui_runtime, and test_wechat_channel.
2026-03-15 21:12:51 +00:00
X-iZhang f27521d62b feat: enhance thinking configuration for Anthropic 4-5 models with proxy support 2026-03-15 17:11:00 +00:00
X-iZhang 1ce2d059ca feat: implement OAuth support for Anthropic using ccproxy and add related configuration options 2026-03-15 16:52:11 +00:00
Jiao Huifeng 741eb709b9 feat: support ANTHROPIC_BASE_URL for proxy-based deployments (e.g. ccproxy) (#25)
Allow the Anthropic provider to accept a base_url override via the
ANTHROPIC_BASE_URL environment variable or anthropic_base_url config
field. This enables routing Anthropic API requests through local proxies
like ccproxy without losing provider-specific features (extended
thinking, adaptive effort) that would be dropped when using the generic
"custom" provider.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Xi Zhang <106144707+X-iZhang@users.noreply.github.com>
2026-03-15 14:51:31 +00:00
X-iZhang 21a875e026 feat: add /compact command to summarize conversation and free context 2026-03-14 20:09:38 +00:00
X-iZhang 46a1de9dd6 refactor: enhance summarization widget with streaming support and text accumulation 2026-03-14 19:41:27 +00:00
X-iZhang 5ff000a9b2 feat: enhance timeout handling with recovery guidance and resource estimation in middleware 2026-03-11 00:03:18 +00:00
X-iZhang c15c0dfdf0 feat: add ask_user middleware and interactive widget for user prompts
- Implemented `ask_user` middleware to facilitate agent-initiated questions during research workflows.
- Created `AskUserWidget` for interactive user prompts, supporting both text and multiple choice questions.
- Enhanced `StreamEventEmitter` to handle `ask_user` interrupts and updated event handling in `stream_agent_events`.
- Added state management for pending `ask_user` events in `StreamState`.
- Developed validation for question structures and parsing for responses.
- Introduced unit tests covering middleware functionality, event handling, and widget behavior.
2026-03-10 18:17:52 +00:00
X-iZhang 311fb08676 feat(summarization): implement summarization feature with dedicated widget and event handling 2026-03-10 01:13:30 +00:00
X-iZhang 903ef4d158 feat(thread-picker): add ThreadPickerWidget for inline thread selection in TUI 2026-03-10 00:45:21 +00:00
X-iZhang aad431785c feat(diff): implement unified diff formatting for edit_file tool results 2026-03-09 22:18:54 +00:00
X-iZhang c4de31c772 fix(ui): map legacy UI backend values to current equivalents in normalization 2026-03-09 10:38:42 +00:00
X-iZhang f3bb70c74e feat(serve): implement headless serve mode with message processing and interrupt handling 2026-03-08 17:06:40 +00:00
X-iZhang 260ee95697 feat(ui): update UI backend references from 'rich' to 'tui' in onboarding and interactive components 2026-03-08 16:44:28 +00:00
X-iZhang a118d3ed23 refactor(onboard): simplify workspace step to return only selected mode
test(onboard): update tests for workspace step to reflect mode-only return
2026-03-08 16:16:40 +00:00
X-iZhang 07e57e110b feat(ui): update UI backend options to use 'cli' and 'tui' 2026-03-08 15:34:22 +00:00
X-iZhang 5ea9f3e938 feat(serve): add auto-approve option for tool executions
docs: update README to include HITL action approval details
tests: adjust mock for get_effective_config in CLI serve tests
2026-03-07 21:13:40 +00:00
X-iZhang 833fa0abfb Implement HITL (Human-in-the-Loop) approval mechanism
- Added HITL approval lifecycle to ToolCallWidget, including a new "rejected" status.
- Introduced configuration options for auto-approval and shell command allow list in EvoScientistConfig.
- Developed approval handling functions in display module to manage HITL interrupts and user decisions.
- Created ApprovalWidget for user interaction during approval prompts.
- Enhanced StreamEventEmitter to support interrupt events.
- Updated StreamState to track pending interrupts.
- Implemented tests for HITL functionality, including event structure, state handling, and approval logic.
2026-03-07 21:02:35 +00:00
X-iZhang bdd3e30284 feat(ollama): enable reasoning by default for Ollama models and update tests 2026-03-07 18:44:11 +00:00
X-iZhang 250c41c561 feat(token-usage): implement token usage tracking and display widget 2026-03-07 15:16:29 +00:00
X-iZhang 13858b860a feat(models): add zhipu and zhipu-code providers to models registry tests 2026-03-06 14:19:00 +00:00
Xiaohui Yan b14dceb143 feat(models): add glm-5, glm-4.7 from zhipu API (with code plan supoort) (#19)
* feat(models): add glm-5, glm-4.7 from zhipu API (with code plan supoort)

* fix: add zhipu and zhipu-code to valid providers in test
2026-03-06 08:57:33 +00:00
X-iZhang a574492123 refactor(prompts, utils, subagent, skill_manager, think): update skill usage instructions and enhance reflection tool for better decision-making 2026-03-03 01:05:10 +00:00
X-iZhang 7e65bfe0b7 feat(models): expand support for additional providers and enhance auto-configuration logic 2026-03-01 00:09:44 +00:00
X-iZhang 2f6cf824f2 refactor(config): remove max_concurrent and max_iterations from config and onboarding steps
feat(prompts): update system prompt to eliminate numeric limits for sub-agents and delegation rounds
test(tests): adjust tests to reflect changes in configuration and onboarding logic
2026-02-27 18:57:47 +00:00
X-iZhang d81d41f756 feat(models): add new models for SiliconFlow and OpenRouter providers
test(models): update tests to validate new providers and registered models
2026-02-27 14:38:22 +00:00
X-iZhang 931fc8a88d feat(skills): implement batch installation of multiple skills and enhance install feedback 2026-02-25 23:38:08 +00:00
X-iZhang 35135ee79c feat(tests): add additional smoke tests for email, signal, and QQ channels
feat(tests): enhance relative time formatting tests for minutes, hours, days, and months
chore(docs): update contributing guidelines for testing commands
2026-02-25 10:05:29 +00:00
X-iZhang abf783d2d3 feat(cli): enhance agent loading with optional config parameter for improved initialization 2026-02-25 00:35:40 +00:00
X-iZhang ea00578cee feat(onboarding): add Ollama provider support with connection validation 2026-02-24 19:45:02 +00:00
X-iZhang c57e6132a5 Add tests for Rich markup escape safety in formatter
- Introduced a new test file `test_rich_escape.py` to validate the safety of Rich markup escaping in the ToolResultFormatter.
- Added tests to ensure that tool names and error messages containing brackets do not cause crashes during formatting.
2026-02-22 17:15:11 +00:00
MuXinCG 258fbc4d34 some bug fix 2026-02-21 17:18:10 +08:00
X-iZhang b5dbdc2a1e feat(widgets): enhance ToolCallWidget and SubAgentWidget for better tool management and status handling 2026-02-21 02:50:28 +00:00
X-iZhang 03f4134190 feat: add UserMessage widget and UI backend selection during onboarding
- Introduced UserMessage widget for displaying user input with a styled prompt.
- Updated onboarding steps to include UI backend selection (Rich CLI or Textual TUI).
- Modified EvoScientistConfig to store selected UI backend.
- Enhanced configuration handling to support UI backend environment variable.
- Updated README with new UI backend options and commands.
- Added tests for new UI backend functionality and UserMessage widget.
- Removed obsolete test files and ensured existing tests are updated accordingly.
2026-02-21 01:18:33 +00:00
X-iZhang 75ee7aeba9 feat(backends): enhance convert_virtual_paths_in_command to handle workspace paths 2026-02-20 23:07:28 +00:00
X-iZhang 2dd331be02 feat(tests): refactor async coroutine handling with shared run_async function 2026-02-18 16:53:58 +00:00
X-iZhang e2a5241a68 feat(cli): enhance channel thinking propagation and error handling in bus mode 2026-02-17 20:25:49 +00:00
MuXinCG 5fd8e1a8ad fix feishu bugs 2026-02-17 16:08:41 +08:00
MuXinCG bec3fc0b67 pass linter 2026-02-17 15:40:57 +08:00
MuXinCG b85faf7516 Add Dingtalk Feishu 2026-02-17 10:54:15 +08:00
X-iZhang 1446267360 feat(tests): mock import for telegram and discord in TestStepChannels 2026-02-16 13:52:01 +00:00
X-iZhang b62e63ac74 feat(channel): improve error handling and logging in channel management
feat(interactive): refactor message sending to channel for better error handling
fix(display): remove unnecessary print statement in final results display
test(bus): update tests to match changes in _bus_inbound_consumer signature
2026-02-16 13:33:00 +00:00
Xi Zhang 1cc7c539be Merge pull request #12 from EvoScientist/feature/channel-slack-wechat
Feature/channel slack wechat
2026-02-16 11:58:33 +00:00
Dinos Papakostas 764e4a4cc8 feat(tools): add error handler middleware to prevent tool failures crashing the agent 2026-02-16 17:13:04 +08:00
MuXinCG 12bc82226f add slack and wechat 2026-02-16 16:05:41 +08:00
X-iZhang 924ce3dd30 feat: implement channel message queue and response handling in bus mode 2026-02-16 03:01:19 +00:00
MuXinCG 8a2b6161f1 fix bugs 2026-02-16 02:15:28 +08:00
MuXinCG 616a90ef1c feat(channels): add unified channel framework with Telegram and Discord support
Introduce the new channel unification architecture:
- Core framework: base channel class, bus, consumer, channel manager,
  middleware, mixins, capabilities, formatter, retry, plugin system
- Telegram channel implementation with bot token validation
- Discord channel implementation with bot token validation
- Refactored iMessage to use new base channel architecture
- Updated CLI: /channel commands, serve mode, channel setup wizard
- Updated onboard wizard to support multi-channel selection
- Config settings for all channel types
- Stream events: media attachment support, done event content field
- Comprehensive test coverage for channels, bus, and manager
2026-02-16 02:09:25 +08:00
X-iZhang 3da590acaf refactor: rename imessage_send_thinking to channel_send_thinking for clarity 2026-02-15 17:31:02 +00:00