phi-agent 0.1.0

phi-agent — General-purpose AI Agent framework (builder factory, renderer, config, session management)
Documentation

phi-agent

Crates.io License: MIT

A general-purpose AI Agent framework built on agent-base.

Provides builder factory, renderer, config resolution, and session management infrastructure. Does not bundle any tools — tools are injected by consumers.

Features

  • Builder factorybase_agent_builder() with sensible defaults
  • Multiple renderers — Terminal (rich), JSON stream, Null
  • CLI-ready — REPL and one-shot modes out of the box
  • Session management — auto-cleanup, file locking, turn logging
  • Tool-agnostic — no built-in tools; register your own via AgentBuilder

Quick Start

use phi_agent::{
    base_agent_builder, build_system_prompt, PhiAgent, PhiAgentConfig,
    OpenAiClient, SafetyConfig,
};
use std::sync::Arc;

// 1. Create LLM client
let llm_client = Arc::new(OpenAiClient::new(
    api_key, model, Some(base_url),
));

// 2. Build agent (register your tools here)
let builder = base_agent_builder(llm_client)
    .system_prompt(build_system_prompt())
    .register_tool(your_tool);

let agent = PhiAgent::build(builder, PhiAgentConfig {
    model: model.into(),
    enable_thinking: true,
    thinking_budget: None,
    thinking_effort: ReasoningEffort::Medium,
    safety: SafetyConfig::default(),
})?;

// 3. Run
let session = agent.create_session().await;
agent.run_turn(session, "Hello!", |event| {
    renderer.render(event)
}).await?;

CLI

cargo install phi-agent
phi "What's in this directory?"

License

MIT

中文文档