Cargo.toml
Rama dev · réplica de lectura del repositorio original.
[package]
name = "oxi"
version = "1.39.0"
edition = "2024"
# Floor set by the strictest dependency (egui 0.35 requires 1.92).
rust-version = "1.92"
description = "Standalone coding agent chat UI (Rust + egui; OpenAI-compatible LLMs + local tools)"
license = "MIT"
repository = "https://github.com/maziluiosif/oxi"
readme = "README.md"
keywords = ["gui", "llm", "coding-agent", "egui", "chat"]
categories = ["development-tools", "gui"]
[dependencies]
eframe = { version = "0.35", default-features = false, features = ["accesskit", "wayland", "wgpu", "x11"] }
egui = { version = "0.35", default-features = false }
unicode-segmentation = "1.13"
egui_extras = { version = "0.35", features = ["all_loaders", "syntect"] }
syntect = { version = "5.3", default-features = false, features = ["default-fancy"] }
tree-sitter = "0.27.0"
tree-sitter-rust = "0.24.2"
tree-sitter-python = "0.25.0"
tree-sitter-javascript = "0.25.0"
tree-sitter-typescript = "0.23.2"
tree-sitter-json = "0.24.8"
tree-sitter-toml-ng = "0.7.0"
tree-sitter-yaml = "0.7.2"
tree-sitter-html = "0.23.2"
tree-sitter-css = "0.25.0"
tree-sitter-bash = "0.25.1"
tree-sitter-c = "0.24.2"
tree-sitter-cpp = "0.23.4"
tree-sitter-go = "0.25.0"
tree-sitter-java = "0.23.5"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
pulldown-cmark = "0.13"
base64 = "0.23"
arboard = "3.6"
rfd = "0.17"
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "gif", "webp", "bmp", "ico"] }
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time", "net", "io-util", "process"] }
russh = "0.65"
reqwest = { version = "0.13", default-features = false, features = ["json", "stream", "rustls", "query", "form"] }
futures-util = "0.3"
regex = "1"
log = "0.4"
memchr = "2"
glob = "0.3"
git2 = { version = "0.21", features = ["https", "ssh", "vendored-libgit2"] }
walkdir = "2"
# ripgrep's walker: the agent's search tools honour .gitignore like rg does.
ignore = "0.4"
fontdb = "0.24"
memmap2 = "0.9"
# Same version egui reads font metrics with; used to center text faces optically in their rows.
skrifa = "0.49"
chrono = { version = "0.4", default-features = false, features = ["clock", "std"] }
dirs = "7"
sha2 = "0.11"
rand = "0.10"
qrcode = { version = "0.14", default-features = false }
webbrowser = "1"
url = "2"
portable-pty = "0.9"
vt100 = "0.16"
keyring-core = "1"
zip = { version = "9", default-features = false, features = ["deflate"] }
flate2 = "1"
tar = "0.4"
cpal = "0.18"
pdf-extract = "0.12.1"
roxmltree = "0.20"
[target.'cfg(unix)'.dependencies]
libc = "0.2"
[target.'cfg(target_os = "macos")'.dependencies]
apple-native-keyring-store = { version = "1", features = ["keychain"] }
whisper-rs = { version = "0.16", features = ["metal"] }
mac-notification-sys = "0.6"
# Native menu bar (macOS global menu, Windows window menu). Linux would need a GTK window.
[target.'cfg(any(target_os = "macos", target_os = "windows"))'.dependencies]
muda = { version = "0.21", default-features = false }
[target.'cfg(not(target_os = "macos"))'.dependencies]
whisper-rs = "0.16"
[target.'cfg(target_os = "windows")'.dependencies]
windows-native-keyring-store = "1"
windows-sys = { version = "0.61", features = ["Win32_Foundation", "Win32_System_Console", "Win32_System_Power", "Win32_UI_Input_KeyboardAndMouse"] }
# Keep gpu-allocator's broad windows dependency aligned with wgpu-hal. Without this pin Cargo can
# unify it with cpal's windows 0.54 dependency, producing incompatible Direct3D 12 types on Windows.
windows = { version = "=0.62.2", features = ["Win32_Graphics_Direct3D12", "Win32_Graphics_Dxgi_Common"] }
[target.'cfg(all(unix, not(any(target_os = "macos", target_os = "ios", target_os = "android"))))'.dependencies]
zbus-secret-service-keyring-store = { version = "1", features = ["crypto-rust"] }
[build-dependencies]
winresource = "0.1"
[dev-dependencies]
# Bare test contexts that never call `theme::setup_style` still need some font; release builds
# install only Oxi's bundled faces (resolver 2 keeps dev features out of them).
egui = { version = "0.35", features = ["default_fonts"] }
egui_kittest = { version = "0.35", features = ["eframe", "wgpu"] }
wiremock = "0.6"
# What release artifacts are built with (`cargo build --profile dist`). Kept separate from
# `release` so local `cargo run --release` stays quick to rebuild while iterating on the UI.
[profile.dist]
inherits = "release"
lto = "thin"
codegen-units = 1