Rust 原生 · 轻量级 · 可嵌入

轻量级、可嵌入的 AI agent runtime

Mink 是 Rust 实现的轻量 AI coding agent:单二进制、低运行时依赖、终端优先;runtime 可直接嵌入任何 Rust 项目(mink::runtime),也提供 CLI/TUI、Python SDK 与单二进制 Web 服务——一个核心,多种形态。

轻量可嵌入 上下文压缩 Anchored Edit Server & Web
mink --tui=inline
flash @agent-task B:0.89 T:12 R:90 I:13.30M(98%) O:58.8K C:231.1K(23%) [idle]

核心特点

统一运行时、长任务可控,以及更可靠的编辑与状态管理。

Runtime

多端统一的运行时内核

CLI、REPL、TUI、Web 与 Python SDK 共享同一个 runtime——终端、浏览器和系统行为完全一致,不需要为不同入口维护多套语义。

Context

长上下文与长任务可控

压缩、活跃投影和持久化会话共同工作,让上下文不会无限膨胀,也让长任务可以持续推进。

Reliability

编辑与状态管理更可靠

Anchored Edit、artifact 回读、会话状态和恢复机制共同约束修改与回读路径,不把正确性交给运气。

快速开始

根据你的使用方式,从终端、Python SDK 或 Rust 嵌入开始。

直接在终端中运行

适合在本地项目里直接工作。可以进入 REPL,也可以使用 Full TUI 或 Inline TUI。

  • 默认入口
  • 支持继续最近会话
  • 支持 REPL、Full TUI、Inline TUI
Terminal Rust 1.94+
# 编译
cargo build --release

# REPL
$ ./target/release/mink -m flash -i

# Full TUI
$ ./target/release/mink -m flash --tui

# Inline TUI
$ ./target/release/mink -m flash --tui=inline

# 恢复最近会话
$ ./target/release/mink -m flash --continue -i

把 agent 接进脚本或服务

适合用 Python 调用 Mink,让它成为工作流或服务逻辑的一部分。

  • 适合脚本集成与自动化
  • 不只是包装 CLI
  • 适合已有 Python 系统接入
Python SDK pip
# 安装
pip install mink-agent

# 最小示例
from mink_agent import AgentSession, SandboxConfig

session = AgentSession(SandboxConfig(
    api_key="sk-...",               # 或设置 DEEPSEEK_API_KEY
    read_dirs=["src"],
))
result = session.run("scan this repo and summarize")
print(result["text"])
session.close()

直接嵌入到 Rust 系统中

如果你希望把 agent 作为系统能力而不是外部进程使用,可以直接使用 mink::runtime。

  • 适合服务端、桌面端或内部工具
  • 与 CLI 共享同一套运行时语义
  • 不需要维护独立 agent 内核
Rust Embed cargo
# Cargo.toml
mink = { package = "mink-core", version = "0.6.3", default-features = false, features = ["runtime"] }

# 最小示例
use mink::prelude::{AgentOptions, AgentRuntime};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let rt = AgentRuntime::start(
        AgentOptions::new("/tmp/mink-home", ".")
            .with_api_key(std::env::var("DEEPSEEK_API_KEY")?)
            .with_model("flash"),
    ).await?;

    let outcome = rt.run_turn("explain this project").await?;
    println!("{}", outcome.text);

    rt.shutdown().await?;
    Ok(())
}

轻量,也适合服务端

mink-server 把同一个 runtime 暴露为 REST + SSE 服务,前端直接嵌入二进制——一条命令启动,浏览器里继续终端里的工作。

  • 单二进制,构建时自动嵌入前端
  • 与 TUI 共享同一会话目录
  • 开发模式服务磁盘产物,热迭代
Server cargo build -p mink-server
# 构建(自动嵌入前端)
cargo build -p mink-server

# 启动(默认 http://localhost:8765)
$ ./target/release/mink-server

# 指定端口 / 开发模式(服务磁盘 web/dist)
$ MINK_SERVER_PORT=9000 ./target/release/mink-server
$ MINK_SERVER_DEV_WEB=1 ./target/release/mink-server

Documentation

docs/USAGE.md
源文件

从左侧选择一篇文档,或先阅读使用手册。