Skip to content

Commit 29cf32c

Browse files
committed
fix: Fix workflow on ask question tool
1 parent d254a0b commit 29cf32c

File tree

4 files changed

+53
-6
lines changed

4 files changed

+53
-6
lines changed

README.md

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
# Huly Coder
22

3-
Huly Coder is an AI coding agent that helps you develop software through natural language interaction.
3+
Huly Coder is an AI coding agent that helps you develop software through natural language interaction. It provides a powerful terminal-based interface with a suite of tools for file manipulation, code generation, and project management.
4+
5+
## Features
6+
7+
- **Terminal User Interface (TUI)**: Clean and intuitive terminal interface with file tree, message history, and task status display
8+
- **Smart File Operations**: Tools for reading, writing, searching, and modifying files with precision
9+
- **Web Integration**: Built-in web search and URL fetching capabilities
10+
- **Memory System**: Persistent knowledge graph for maintaining context across sessions
11+
- **Multiple LLM Providers**: Support for OpenRouter, LMStudio, and OpenAI
12+
- **Docker Support**: Easy containerization for portable development environments
13+
14+
## Requirements
15+
16+
- Rust 1.75 or higher
17+
- OpenRouter API key (or alternative LLM provider credentials)
18+
- Terminal with Unicode support
419

520
## Configuration
621

@@ -45,3 +60,37 @@ docker run -it --rm -v "$(pwd)/target/workspace:/target/workspace" -e OPENROUTER
4560
Replace `<your-api-key>` with your OpenRouter API key.
4661

4762
The agent uses `target/workspace` as its working directory.
63+
64+
## Available Tools
65+
66+
Huly Coder comes with a comprehensive set of tools:
67+
68+
- **File Operations**
69+
- Read and write files with automatic directory creation
70+
- Smart file content replacement with context awareness
71+
- Recursive file listing and searching with regex support
72+
- File content search with contextual results
73+
74+
- **System Tools**
75+
- Execute system commands with safety checks
76+
- Interactive command execution support
77+
- Background process management
78+
79+
- **Web Tools**
80+
- Web search capabilities
81+
- URL content fetching with markdown conversion
82+
- API integration support
83+
84+
- **Memory System**
85+
- Knowledge graph for persistent memory
86+
- Entity and relationship management
87+
- Context-aware observation storage
88+
- Search and retrieval capabilities
89+
90+
## Contributing
91+
92+
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
93+
94+
## License
95+
96+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

src/agent/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,7 @@ impl Agent {
417417
.unwrap();
418418
}
419419
tracing::trace!("tool_result: '{}'", tool_result);
420-
if tool_result.is_empty()
420+
if (tool_result.is_empty() || tool_result == "\"\"")
421421
&& tool_call.function.name != AttemptCompletionTool::NAME
422422
{
423423
tracing::info!(

src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ fn init_panic_hook() {
7676
fn init_tui() -> io::Result<DefaultTerminal> {
7777
enable_raw_mode()?;
7878
execute!(stdout(), EnterAlternateScreen)?;
79-
execute!(stdout(), crossterm::event::EnableMouseCapture)?;
79+
// execute!(stdout(), crossterm::event::EnableMouseCapture)?;
8080
Terminal::new(CrosstermBackend::new(stdout()))
8181
}
8282

src/tui/app.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -349,9 +349,7 @@ impl App<'_> {
349349
}
350350

351351
match key_event.code {
352-
KeyCode::Char('q') | KeyCode::Char('c')
353-
if key_event.modifiers == KeyModifiers::CONTROL =>
354-
{
352+
KeyCode::Char('q') if key_event.modifiers == KeyModifiers::CONTROL => {
355353
self.events.send(AppEvent::Quit)
356354
}
357355
KeyCode::Char('n') | KeyCode::Char('N')

0 commit comments

Comments
 (0)