惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
博客园 - 叶小钗
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC
P
Proofpoint News Feed
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
aimingoo的专栏
aimingoo的专栏
月光博客
月光博客
量子位
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta
Apple Machine Learning Research
Apple Machine Learning Research
Jina AI
Jina AI
博客园 - Franky
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
人人都是产品经理
人人都是产品经理
D
DataBreaches.Net
博客园_首页
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
I Built an AI Task Manager on AWS Cloud9 with OpenClaw an...
MakendranG · 2026-04-27 · via DEV Community

This is a submission for the OpenClaw Challenge.

What I Built

I built OpenClaw Task Manager — an AI-powered personal task assistant that runs entirely on AWS Cloud9 with no external APIs and no data leaving your server.

The problem it solves is simple: most task managers are dumb. You type a task, it stores it. That's it. I wanted something smarter — where you type in plain English and an AI understands, summarizes, and organizes it for you automatically.

The stack:

  • 🧠 LLaMA 3.2 (via Ollama) — local AI brain
  • ⚙️ Flask — lightweight backend agent API
  • 💻 Python CLI — simple terminal interface
  • ☁️ AWS Cloud9 + EC2 — fully cloud-hosted deployment
  • 📁 JSON — local task storage

👉 GitHub: MakendranG/openclaw-task-manager


How I Used OpenClaw

OpenClaw acts as the intelligent middleware between raw user input and structured task storage. Here is the full workflow I set up:

1. User Input (CLI)
The user types a task in plain natural language via app.py:

Enter command: add
Enter task: Remind me to deploy tomorrow at 10 AM

Enter fullscreen mode Exit fullscreen mode

2. Agent Processing (Flask API)
app.py sends the task as a POST request to the OpenClaw agent running on port 3000:

res = requests.post("http://127.0.0.1:3000/task", json={"text": text})

Enter fullscreen mode Exit fullscreen mode

3. AI Summarization (LLaMA 3.2 via Ollama)
The agent passes the task to LLaMA 3.2 with a focused prompt:

ask_ollama(f"In one short sentence, rewrite this as a clear task: {text}. Reply with only the task sentence, nothing else.")

Enter fullscreen mode Exit fullscreen mode

4. Storage
The task is saved to tasks.json with full metadata — ID, original text, AI summary, timestamp, and completion status.

3 REST Endpoints Powering the App:

Method Endpoint Description
POST /task Add and AI-process a new task
GET /tasks Retrieve all stored tasks
GET /health Confirm agent is alive

Demo

Terminal 1 — AI Agent running:

* Serving Flask app 'openclaw_agent'
* Running on http://0.0.0.0:3000

Enter fullscreen mode Exit fullscreen mode

Terminal 2 — Adding a task:

OpenClaw Task Manager
Commands: add, list, exit

Enter command: add
Enter task: Remind me to deploy tomorrow at 10 AM

Status code: 200
 Task added: {
  "id": 1,
  "text": "Remind me to deploy tomorrow at 10 AM",
  "ai_summary": "Deploy the application tomorrow at 10 AM.",
  "done": false,
  "created_at": "2026-04-26T15:44:45.014827"
}

Enter fullscreen mode Exit fullscreen mode

Listing all tasks:

Enter command: list

📋 Current Tasks:
  1. ⏳ Remind me to deploy tomorrow at 10 AM

Enter fullscreen mode Exit fullscreen mode

Health check:

curl -s http://127.0.0.1:3000/health
{"status": "ok"}

Enter fullscreen mode Exit fullscreen mode

Direct API test:

curl -s -X POST http://127.0.0.1:3000/task \
  -H "Content-Type: application/json" \
  -d '{"text": "Finish the OpenClaw blog post"}' | python -m json.tool

Enter fullscreen mode Exit fullscreen mode

{
  "status": "added",
  "task": {
    "ai_summary": "Complete the OpenClaw blog post.",
    "created_at": "2026-04-26T16:00:00.000000",
    "done": false,
    "id": 2,
    "text": "Finish the OpenClaw blog post"
  }
}

Enter fullscreen mode Exit fullscreen mode

👉 Full source code: github.com/MakendranG/openclaw-task-manager


What I Learned

1. Ollama on EC2 is surprisingly easy
A single curl install script set up Ollama with a systemd service automatically. No GPU required — it runs fine in CPU-only mode on a standard EC2 instance. Slower, but functional.

2. Model size changes everything
I started with llama3.2:1b and got noisy, confused responses. Switching to the full llama3.2 (3B) made the AI summaries clean and accurate immediately. For production use, always test multiple model sizes before settling.

3. Port conflicts are a real gotcha on Cloud9
Cloud9 persists your environment between sessions, so old processes keep running on ports even after you close the browser. Always run:

sudo fuser -k 3000/tcp

Enter fullscreen mode Exit fullscreen mode

before restarting your agent.

4. Disk space fills up fast with AI models
LLaMA 3.2 is about 2GB. My EC2 instance started at 10GB and hit 100% disk usage. I had to expand the EBS volume from 10GB to 500GB and run xfs_growfs to reclaim the space. Always size your storage generously before pulling models.

5. The architecture is genuinely hackable
Adding a new OpenClaw skill is just adding a new Flask route. I can already see how to extend this with /reminder, /prioritize, or a full web UI frontend. The pattern is clean and composable.


ClawCon Michigan

I didn't attend ClawCon Michigan in person, but the energy of the IRL OpenClaw community inspired this entire build. The core idea behind OpenClaw — that personal AI should run locally, on your own hardware, under your own control — really resonates with me as a developer.

This project is proof that you don't need cloud AI APIs or subscriptions to build something genuinely useful. A free EC2 instance, Ollama, and an open-source model is all it takes. That's the spirit of OpenClaw, and that's what I wanted to demonstrate with this build. 🦞