← 全部工具

aovestdipaperino/plank

AI Agent
热度 75 更新于 AI 与 Agent

Interactive terminal coding agent in Rust — runs the DeepSeek V4 Flash model locally on macOS (Metal), with a Ratatui TUI, a full tool suite, MCP, and persistent sessions.

githubauto-collected

安装

暂未验证可直接使用的安装命令,请查看项目官方文档或 Release。

plank

<p align="center" <img src="assets/logo.png" alt="Plank logo" width="300" </p

<p align="center" <a href="https://github.com/aovestdipaperino/plank/stargazers"<img src="https://img.shields.io/github/stars/aovestdipaperino/plank?logo=github&color=brightgreen" alt="GitHub stars"</a <a href="https://opensource.org/licenses/MIT"<img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"</a <a href="https://www.rust-lang.org/"<img src="https://img.shields.io/badge/Rust-1.85+-orange.svg" alt="Rust"</a <a href="https://ai.enzolombardi.net/"<img src="https://img.shields.io/badge/built%20with-AI-D97757?style=flat-square&labelColor=101010&logo=anthropic&logoColor=white" alt="Built with AI — part of Enzo Lombardi's AI portfolio"</a </p

Plank is a fast-moving agent harness built on the ds4 C reference (ds4agent). It was ported functionality-by-functionality (not line-by-line), with each C section becoming an idiomatic Rust module, so changes landing in ds4agent stay easy to port over — the upstream remains the source of truth for wire formats and prompt text, while plank iterates quickly on everything around it.

Plank is an interactive coding agent with a Ratatui TUI, a plain terminal REPL, a one-shot headless mode, and a set of built-in tools (shell, file read/edit, web).

macOS only. Plank targets macOS exclusively: inference uses the original ds4 C engine with the Metal backend, linked via the refs/ds4 submodule. Other platforms are not supported.

Installing

Homebrew is the only distribution channel (plank is not on crates.io):

brew tap aovestdipaperino/tap
brew install plank-agent         # stable channel
brew install plank-agent-beta    # beta channel

Or in one step without a prior tap: brew install aovestdipaperino/tap/plank-agent. Prebuilt bottles exist for Apple Silicon and Intel Macs; on other setups Homebrew builds from source (requires Rust). Upgrade with brew upgrade plank-agent.

Note — formula naming. The Homebrew formulas are plank-agent / plank-agent-beta, not plank, because a plank formula already exists in Homebrew and the bare name collides. The installed binary is still just plank — you run plank, only the brew install name carries the -agent suffix.

Releases follow a two-channel scheme where the patch number is the channel: every vX.Y.0 is a stable release, and any patch above 0 is a beta (the app's version banner shows BETA accordingly). A series opens with its stable .0 and accumulates beta work as patch bumps (v2.5.1, v2.5.2, …); promoting a beta to stable opens the next minor as an identical v2.6.0 (stable) / v2.6.1 (beta) pair. The two formulas conflict since both install a plank binary, so switch channels with brew uninstall plank-agent && brew install plank-agent-beta (or the reverse). See VERSIONING.md for the channel model and the promote-to-stable process.

Building

Requires macOS (Apple Silicon or Intel) with the Xcode command line tools. Clone with the submodule to get the ds4 engine:

git clone --recurse-submodules https://github.com/aovestdipaperino/plank
cd plank
cargo build --release
  • With refs/ds4 present: build.rs builds libds4core.a from the Metal-backend objects and links the required frameworks, enabling the ds4engine cfg.
  • Missing submodule: plank still builds, but without the native engine it uses the echo engine only (useful for development/CI).

You will also need a GGUF model file (e.g. ds4flash.gguf) for real inference; see the downloadmodel.sh script in refs/ds4.

Usage