feat: add provider-backed agent runtime

This commit is contained in:
zyl
2026-03-25 04:27:12 +00:00
parent 0d0097b003
commit 9979b1fdd0
3 changed files with 312 additions and 7 deletions

View File

@@ -1,5 +1,7 @@
pub mod planner;
pub mod runtime;
use crate::llm::DeepSeekProvider;
use crate::pipe::{AgentMessage, BrowserMessage, BrowserPipeTool, PipeError, Transport};
pub fn execute_task<T: Transport>(
@@ -39,14 +41,31 @@ pub fn handle_browser_message<T: Transport>(
) -> Result<(), PipeError> {
match message {
BrowserMessage::SubmitTask { instruction } => {
let completion = match execute_task(transport, browser_tool, &instruction) {
Ok(summary) => AgentMessage::TaskComplete {
success: true,
summary,
let completion = match DeepSeekProvider::from_env() {
Ok(provider) => match runtime::execute_task_with_provider(
transport,
browser_tool,
&provider,
&instruction,
) {
Ok(summary) => AgentMessage::TaskComplete {
success: true,
summary,
},
Err(err) => AgentMessage::TaskComplete {
success: false,
summary: err.to_string(),
},
},
Err(err) => AgentMessage::TaskComplete {
success: false,
summary: err.to_string(),
Err(_) => match execute_task(transport, browser_tool, &instruction) {
Ok(summary) => AgentMessage::TaskComplete {
success: true,
summary,
},
Err(err) => AgentMessage::TaskComplete {
success: false,
summary: err.to_string(),
},
},
};
transport.send(&completion)