deeptide

A macOS-native AI coding agent powered by DeepSeek. Lives in your terminal, integrates with the system, written in Swift.

$ curl -fsSL https://deeptide.sh/install.sh | sh

macOS 15+ · Apple Silicon · MIT licensed · view script

tide doctor
deeptide doctor

System
  deeptide        0.6.40 · tide-spec 0.1 (reference)
  macOS           26.4.1 (25E253)
  Architecture    arm64
  Power           AC
  Binary          ~/.local/bin/tide
  Code signing    ad-hoc

Tools
  Swift           available
  Git             /usr/bin/git
  ripgrep         /opt/homebrew/bin/rg

Auth
  Provider        Paean AI (multimodal-aware)
  Base URL        https://api.paean.ai/zero
  Reachability    reachable (HTTP 401 in 312 ms)
  DeepSeek key    not stored — `tide login` to save
  Paean token     stored — `tide auth login` to replace

Storage
  Global config   ~/.config/tide/settings.json (1.2 KB)
  Project config  ~/.config/tide/projects/⋯/settings.json (not present)
  Local config    ~/.config/tide/projects/⋯/settings.local.json (340 B)

  CWD             ~/code/deeptide

Mac-native, end-to-end

Keychain for API keys (Touch ID), Notification Center on cron + AFK completion, OSC 2 terminal title for -n session names, IOKit power probe, native sticky scroll region — all the polish a Mac CLI is supposed to have.

Multimodal-aware

tide auth login routes through Paean AI's Anthropic-protocol gateway. Attach images with @./screenshot.png and the gateway describes them via Gemini Flash Lite before forwarding to DeepSeek. Works without a Paean account too — fall back to direct DeepSeek for text.

Tiny & fast

~1.9 MB stripped binary. Cold start under 10 ms. Streaming SSE parser uses a byte buffer with halving compaction so long thinking blocks don't quadratic-copy. Read tool streams files instead of slurping.

Tools the model needs

34 built-in tools (file I/O, shell with SIGTERM→SIGKILL timeout, MCP servers, sub-agents from markdown, cron jobs that survive REPL exit). 27 slash commands grouped by category. Hooks fire on lifecycle events. Permission rules from settings.json.

Per-project state

Sessions, settings, and memory all keyed off the project's cwd slug — tide -c in project A picks A's last conversation, not whatever you ran globally last. Settings layer through global → project → local with provenance shown by tide doctor.

tide-spec compatible

Shares a small contract with zero-cli (Linux/Windows sibling) — same tool catalog, slash command names, hook env vars, MCP naming, model aliases. Settings dotfiles port between the two products.

Other ways to install

Pin a specific version

Bypass the latest-tag lookup; useful for pinning in a script.

DEEPTIDE_VERSION=v0.6.40 curl -fsSL https://deeptide.sh/install.sh | sh

Custom install dir

Drop the binary somewhere other than ~/.local/bin.

DEEPTIDE_BIN_DIR=/usr/local/bin curl -fsSL https://deeptide.sh/install.sh | sh

Homebrew (tap, coming soon)

Tap will live at paean-ai/homebrew-tap once releases stabilise.

brew tap paean-ai/tap
brew install deeptide

From source

Build with the project's release script — strips, ad-hoc codesigns, installs.

git clone https://github.com/paean-ai/deeptide.git
cd deeptide
scripts/release.sh --install