feat: enhance system prompt handling and input key actions
This commit is contained in:
@@ -521,6 +521,15 @@ fn run_agent_turn(
|
||||
let mut msgs = messages.to_vec();
|
||||
let mut edits_this_turn = 0u32;
|
||||
|
||||
let system_text = format!(
|
||||
"{}\n\n{}",
|
||||
crate::resources::SYSTEM_PROMPT,
|
||||
crate::resources::SYSTEM_TOOLS,
|
||||
);
|
||||
if !msgs.iter().any(|m| matches!(m.role, crate::dto::chat::message::Role::System)) {
|
||||
msgs.insert(0, ChatMessage::system(system_text));
|
||||
}
|
||||
|
||||
for _step in 0..MAX_AGENT_STEPS {
|
||||
let response = tc
|
||||
.client
|
||||
|
||||
+10
-2
@@ -38,10 +38,18 @@ pub fn handle_key(key: KeyEvent, state: &mut AppStateRest) -> Vec<Action> {
|
||||
vec![Action::CursorRight]
|
||||
}
|
||||
KeyCode::Up => {
|
||||
vec![Action::HistoryUp]
|
||||
if key.modifiers.contains(KeyModifiers::CONTROL) {
|
||||
vec![Action::HistoryUp]
|
||||
} else {
|
||||
vec![Action::ScrollUp]
|
||||
}
|
||||
}
|
||||
KeyCode::Down => {
|
||||
vec![Action::HistoryDown]
|
||||
if key.modifiers.contains(KeyModifiers::CONTROL) {
|
||||
vec![Action::HistoryDown]
|
||||
} else {
|
||||
vec![Action::ScrollDown]
|
||||
}
|
||||
}
|
||||
KeyCode::PageUp => {
|
||||
vec![Action::ScrollUp]
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
pub const SYSTEM_PROMPT: &str = include_str!("../src-misc/system-prompt.txt");
|
||||
pub const SYSTEM_TOOLS: &str = include_str!("../src-misc/system-tools.txt");
|
||||
|
||||
pub const BANNER: &str = r"
|
||||
███████╗███████╗███████╗██████╗ ███████╗██╗ ██╗
|
||||
╚══███╔╝██╔════╝██╔════╝██╔══██╗██╔════╝╚██╗██╔╝
|
||||
|
||||
Reference in New Issue
Block a user