多端统一的运行时内核
CLI、REPL、TUI、Web 与 Python SDK 共享同一个 runtime——终端、浏览器和系统行为完全一致,不需要为不同入口维护多套语义。
Mink 是 Rust 实现的轻量 AI coding agent:单二进制、低运行时依赖、终端优先;runtime 可直接嵌入任何 Rust 项目(mink::runtime),也提供 CLI/TUI、Python SDK 与单二进制 Web 服务——一个核心,多种形态。
统一运行时、长任务可控,以及更可靠的编辑与状态管理。
CLI、REPL、TUI、Web 与 Python SDK 共享同一个 runtime——终端、浏览器和系统行为完全一致,不需要为不同入口维护多套语义。
压缩、活跃投影和持久化会话共同工作,让上下文不会无限膨胀,也让长任务可以持续推进。
Anchored Edit、artifact 回读、会话状态和恢复机制共同约束修改与回读路径,不把正确性交给运气。
根据你的使用方式,从终端、Python SDK 或 Rust 嵌入开始。
适合在本地项目里直接工作。可以进入 REPL,也可以使用 Full TUI 或 Inline TUI。
# 编译
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
适合用 Python 调用 Mink,让它成为工作流或服务逻辑的一部分。
# 安装
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()
如果你希望把 agent 作为系统能力而不是外部进程使用,可以直接使用 mink::runtime。
# 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 服务,前端直接嵌入二进制——一条命令启动,浏览器里继续终端里的工作。
# 构建(自动嵌入前端)
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
从左侧选择一篇文档,或先阅读使用手册。