iamdibo365

Argus Agent — AI skill for Claude Code

AI community

Argus is a production-style single AI agent that lives in your Slack workspace and can search and read your Google Drive, summarize channel discussions, and post messages — built with LangChain / La.

How to install Argus Agent

This entry records only its repository, not the path inside it, so there is no exact command to give. Open iamdibo365/argus-agent and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Argus Agent does

Argus is a production-style single AI agent that lives in your Slack workspace and can search and read your Google Drive, summarize channel discussions, and post messages — built with **LangChain / LangGraph**, **OpenAI** (or **AWS Bedrock** via one env var), **LangSmith** tracing, and deployed as a container on **AWS ECS Fargate**.

Alternatives in AI

  • Manifest — Real-time cost observability for OpenClaw agents — track tokens, costs, messages, and model usage 4.1k ★
  • Wechat Acp — Bridge WeChat chat messages to any ACP-compatible AI agent (Claude, Codex, Copilot, Qwen, Gemini, OpenCode and 488 ★
  • Academic Writing Skills — AI-powered post-writing toolkit for academic papers — format validation, grammar/style polishing, de-AI editin 430 ★

README

Argus — AI Agent for Slack + Google Drive on AWS

Argus is a production-style single AI agent that lives in your Slack workspace and can search and read your Google Drive, summarize channel discussions, and post messages — built with **LangChain / LangGraph**, **OpenAI** (or **AWS Bedrock** via one env var), **LangSmith** tracing, and deployed as a container on **AWS ECS Fargate**.

Roadmap: Argus v2 evolves into a multi-agent team (researcher, writer, reviewer) orchestrated with LangGraph — this repo is the single-agent foundation.

Architecture

Slack (Socket Mode websocket)
        │
        ▼
┌─────────────────────────────┐
│  ECS Fargate container       │
│  ┌────────────────────────┐  │        ┌──────────────┐
│  │ Slack Bolt app          │  │◄──────►│  LangSmith   │ (tracing)
│  │   └─ LangGraph ReAct    │  │        └──────────────┘
│  │      agent              │  │
│  │   Tools:                │  │        ┌──────────────┐
│  │   • search_drive        │──┼───────►│ Google Drive │
│  │   • read_drive_file     │  │        └──────────────┘
│  │   • send_slack_message  │  │        ┌──────────────┐
│  │   • get_channel_history │──┼───────►│  Slack API   │
│  └────────────────────────┘  │        └──────────────┘
│  LLM: OpenAI GPT-4o  ⇄  AWS Bedrock (Claude) — env var swap
└─────────────────────────────┘
   Secrets: SSM Parameter Store · Logs: CloudWatch

**Why Socket Mode?** The container connects *out* to Slack over a websocket, so there is no public endpoint, no API Gateway, and no ALB — smaller attack surface, simpler infra, and no Slack 3-second-ack gymnastics.

Project structure

argus-agent/
├── README.md
├── .env.example
├── .gitignore
├── requirements.txt
├── Dockerfile
├── src/argus/
│   ├── __init__.py
│   ├── config.py           # pydantic-settings config
│   ├── llm.py              # OpenAI ⇄ Bedrock factory
│   ├── agent.py            # LangGraph ReAct agent + per-thread memory
│   ├── app.py              # Slack Bolt (Socket M