Skip to main content

🦆 Extreme minimalist self-adapting AI agent - one file, self-healing, runtime dependencies

Project description

🦆 DevDuck

One file. Self-healing. Adaptive.

Minimalist AI agent that fixes itself when things break.

Install

pipx install devduck

Requires: Python 3.10+, Ollama running

Use

# Start DevDuck (auto-starts TCP, WebSocket, MCP servers)
devduck

# CLI mode
devduck "what's the time?"

# Python
import devduck
devduck("calculate 2+2")

Auto-Started Servers

When you run devduck, three servers start automatically:

  • 🌐 Web UI: http://cagataycali.github.io/devduck (auto-connects)
  • 🔌 TCP: nc localhost 9999 (raw socket)
  • 🌊 WebSocket: ws://localhost:8080 (structured JSON)
  • 🔗 MCP: http://localhost:8000/mcp (Model Context Protocol)

Connect via MCP

Add to your MCP client (e.g., Claude Desktop):

{
  "mcpServers": {
    "devduck": {
      "command": "uvx",
      "args": [
        "strands-mcp-server",
        "--upstream-url",
        "http://localhost:8000/mcp/"
      ],
      "disabled": false
    }
  }
}

Connect via Terminal

# Direct TCP connection
nc localhost 9999
> what's the time?

Features

  • Self-healing - Auto-fixes deps, models, errors
  • Hot-reload - Create tools in ./tools/*.py, use instantly
  • Adaptive - Picks model based on OS (macOS: 1.7b, Linux: 30b)
  • 14 tools - shell, editor, files, python, calculator, tcp, etc.
  • History aware - Remembers shell/conversation context
  • Multi-protocol - TCP, WebSocket, MCP, CLI, Python

Create Tool

# ./tools/greet.py
from strands import tool

@tool
def greet(name: str) -> str:
    return f"Hello {name}!"

Save. Done. Use immediately.

Multi-Model

export MODEL_PROVIDER="bedrock"
export STRANDS_MODEL_ID="us.anthropic.claude-sonnet-4-5-20250929-v1:0"
export STRANDS_ADDITIONAL_REQUEST_FIELDS='{"anthropic_beta": ["interleaved-thinking-2025-05-14", "context-1m-2025-08-07"], "thinking": {"type": "enabled", "budget_tokens": 2048}}'
export STRANDS_MAX_TOKENS="64000"

devduck "analyze data"

Quack. 🦆

Built with Strands Agents SDK

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devduck-0.2.0.tar.gz (37.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devduck-0.2.0-py3-none-any.whl (36.9 kB view details)

Uploaded Python 3

File details

Details for the file devduck-0.2.0.tar.gz.

File metadata

  • Download URL: devduck-0.2.0.tar.gz
  • Upload date:
  • Size: 37.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for devduck-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b9e776ee41915acfa64099e0304741134270066970dbe04b4bd36dd87b5067b6
MD5 c73732bf2cb1f82b1fd40818dab0b327
BLAKE2b-256 3faa76f7183923cf368c240e4b4b3eb2a50f84a89f018f2d91400e526023337b

See more details on using hashes here.

File details

Details for the file devduck-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: devduck-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 36.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for devduck-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a6cfbf85022bf93fd063f178084c191a91819c2855d4e73583419323579b1b5
MD5 deb51ba92d6f5464813e574449edec32
BLAKE2b-256 d6312026a74c9bcba49a6946b143bc2aeb18f4a7746ad83cd3d492d3a304fe57

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page