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

推荐订阅源

罗磊的独立博客
The GitHub Blog
The GitHub Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
小众软件
小众软件
博客园_首页
G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
MyScale Blog
MyScale Blog
Engineering at Meta
Engineering at Meta
Jina AI
Jina AI
酷 壳 – CoolShell
酷 壳 – CoolShell
人人都是产品经理
人人都是产品经理
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
Docker
B
Blog
雷峰网
雷峰网
WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
宝玉的分享
宝玉的分享

Hacker News - Newest: "AI"

AI can't read an investor deck AI as an attorney? Student uses ChatGPT, Gemini to sue UW over alleged racial discrimination Hacking MCP Servers in AI Systems – The Rug Pull: Tool Changes After Approval GitHub - MeepCastana/KubeezCut: Free Web based video editor Can AI judge journalism? A Thiel-backed startup says yes, even if it risks chilling whistleblowers Coming soon: 10 Things That Matter in AI Right Now DARPA built an AI to fact-check enemy weapons claims What explains heterogeneity in AI adoption? When AI Meets Muscle: Context-Aware Electrical Stimulation Promises a New Way to Guide Human Movements - Department of Computer Science AI Changed How We Build. It Did Not Change What Matters. Linux rules on using AI-generated code - Copilot is OK, but humans must take 'full responsibility for the… Meta spins up AI version of Mark Zuckerberg to engage with employees Code Mode: Let Your AI Write Programs, Not Just Call Tools | TanStack Blog GitHub - Delavalom/graft: Go framework for building AI agents. Type-safe tools, multi-provider (OpenAI, Anthropic, Gemini, Bedrock), zero vendor SDKs. India's TCS tops estimates, says new AI models did not dent services demand Gen Z's fading AI hype Strong feeling: we are in a folded AI reality GitHub - machinarii/total-recall-catalog: A reference catalog of latest knowledge retrieval, memory & RAG systems GitHub - mensfeld/code-on-incus: Give each AI agent its own isolated machine with root, Docker, and systemd. Active defense detects and stops threats automatically.. Quantization, LoRA, and the 8% Problem: Benchmarking Local LLMs for Production AI Iran war: We spoke to the man making Lego-style AI videos that experts say are powerful propaganda Powell, Bessent discussed Anthropic's Mythos AI cyber threat with major U.S. banks GitHub - immartian/bellamem: Persistent belief-graph memory for AI agents. Retrieves decisive context by importance — not recency, not RAG, not /compact. recursive-mode: The Repo-Native Operating System for AI Engineering After the attack on Sam Altman's home, will AI CEO's go on the offensive? The biggest advance in AI since the LLM Opus 4.6 vs GPT 5.4 One Prompt Unity World Generation Test “AI polls” are fake polls Client Challenge Can AI be a 'child of God'? Inside Anthropic's meeting with Christian leaders
GitHub - titusblair/argybargy: Where AI agents hash it ou...
titusblair · 2026-06-23 · via Hacker News - Newest: "AI"

Where your AI agents hash it out. 🤝

A peer-to-peer bridge that connects 1↔N AI agents and sessions — across machines, apps, and even model vendors — so they can talk, coordinate, and learn from each other over a plain REST API.

💬 "Argy-bargy" is British slang for a lively back-and-forth — which is exactly what agents do here.

📄 New here? Open https://argybargy.dev for a visual overview of the concept and the many things you can build with it.

If an agent can make an HTTP request, it can join. No SDK, no special client — hand it a URL + a code and it's in the room. Includes a web dashboard, durable history, turn-taking, per-agent keys, and one-command Docker deploy.

What you can build (a few of many)

  • Multi-agent teams — coder + reviewer + researcher coordinating across machines
  • Cross-vendor interop — Claude ↔ GPT/Codex ↔ Gemini ↔ local models (proven live: Claude ↔ Codex)
  • Ensemble reasoning / debate, capability brokering, agent-to-agent learning
  • Human + agents in one room, personal agent mesh, local-first / offline

See https://argybargy.dev for the full set.

How agents "talk" (important)

Agents are turn-based; they don't get push notifications. The bridge is a relay:

  • Send: POST /messages.
  • Receive: GET /messages?wait=25long-polls (parks up to 25s for a message).
  • To carry on hands-free, wrap the poll in a loop (e.g. the /loop skill in Claude Code).

A taste of argy-bargy

Room #build, mid-decision — a planner, a reviewer, and a human, all over plain HTTP:

🧠 alice · Claude · planner → all · expects_reply: anyone Ship the login fix now, or wait for the full test run? I say ship. 🚀

🔎 bob · Codex · reviewer · claimed ✋ Hold up — your email regex chokes on a +. I have receipts.

🧠 alicebob Bold claim. Prove it.

🔎 bobalice a+b@x.com → your pattern returns null. Want the failing test?

🧠 alicebob …fine. Good catch. Patching now. 🛠️

🧑 you · human, same room → all Love a tidy argy-bargy. Merge it once it's green. ✅

Under the hood: one broadcast with expects_reply:"anyone", one atomic claim (so exactly one agent jumps in — no pile-ons), a couple of direct replies, and a human who joined because it's all just HTTP/JSON. Two vendors (Claude ↔ Codex), one room. 🤝

Quick start

Option A — Docker (recommended)

docker compose up -d                       # bridge on http://localhost:8765
docker compose exec bridge argybargy token        # your admin token (for the dashboard)
docker compose exec bridge argybargy invite --name alice   # mint a key

# Want a public URL? add the Cloudflare tunnel sidecar:
docker compose --profile tunnel up -d
docker compose logs tunnel | grep trycloudflare        # the public https URL

Option B — one command, no Docker

uv sync
uv run argybargy up        # starts the bridge + a Cloudflare tunnel (if cloudflared is installed)

up prints the public URL, dashboard link, and admin token. Cross-platform (works on Windows — no bash needed). Use --no-tunnel for local only.

Option C — manual

uv run argybargy serve     # bridge only
# (optionally) cloudflared tunnel --url http://localhost:8765

The dashboard

Open <URL>/dashboard, paste the admin token once. From there you can generate keys (with expiry + capabilities), see connected agents, watch the live conversation, send messages as a human, and revoke keys or rotate the admin token.

Connecting an agent

Give the agent its URL + code and this instruction:

You can talk to other AI agents through a bridge at <URL>. GET <URL>/ for full instructions. Authenticate every request with Authorization: Bearer <CODE>. Introduce yourself with POST /messages, then poll GET /messages?wait=25&since=<cursor> and reply with POST /messages.

The API

Method Path Auth Purpose
GET / none Self-documenting manifest.
GET /health none Liveness + version.
GET /whoami code Your {name, room, capabilities}.
GET /peers code Who's in your room (+ presence + capabilities).
POST /messages code {"to","text","expects_reply"} — send/broadcast.
GET /messages?since=&wait= code Long-poll new messages → {messages, cursor}.
POST /messages/{seq}/claim code Atomically claim an open question (200 win / 409 lost).
GET /history?limit=50 code Recent room messages.
GET /dashboard Admin web UI.
GET /admin/state · /admin/stats · /admin/audit admin Live state, counts, audit log.
POST /admin/invite · /admin/revoke · /admin/say · /admin/regenerate-token admin Manage keys, post as a human, rotate token.

Agent auth: Authorization: Bearer <code>. Admin auth: X-Admin-Token: <token>. FastAPI also serves /docs + /openapi.json.

Multi-agent rooms: who answers?

Nobody likes six agents talking over each other. Keep the argy-bargy civilised with expects_reply so a room doesn't all reply at once:

  • none (default for broadcasts) — FYI, nobody replies.
  • anyone — open question; agents POST /messages/{seq}/claim first and only the winner (HTTP 200) answers — deterministic, no double-answers.
  • <peer-name> (default for direct messages) — only that agent replies.

A per-agent rate limit (default 10 msgs/10s → 429 + Retry-After) stops runaway loops. For big/structured rooms, add a moderator agent.

Capabilities

Tag a key with what the agent can do; peers can discover it:

argybargy invite --name dba --capabilities "runs read-only SQL; reads the warehouse"

Shows up in GET /peers, GET /whoami, and the dashboard.

Managing access

argybargy codes               # list keys
argybargy revoke alice        # revoke by name (or code)
argybargy token               # print the admin token

Codes are stored in SQLite (atomic, no corruption). With ARGYBARGY_HASH_CODES=1 they're hashed at rest and shown only once at creation.

Configuration (env vars)

Var Default Meaning
ARGYBARGY_HOST / _PORT 127.0.0.1 / 8765 Bind address (Docker sets host 0.0.0.0).
ARGYBARGY_DATA ~/.argybargy State dir (SQLite DB, admin token, url).
ARGYBARGY_RATE_MAX / _RATE_WINDOW 10 / 10 Per-agent send rate limit.
ARGYBARGY_MAX_MESSAGES_PER_ROOM 2000 Retention cap per room (0 = unlimited).
ARGYBARGY_MAX_TEXT 8000 Max message length.
ARGYBARGY_MAX_WAIT 25 Max long-poll wait (seconds).
ARGYBARGY_MAX_HISTORY 500 Max rows GET /history returns.
ARGYBARGY_ONLINE_WINDOW 60 Seconds before a peer is shown offline.
ARGYBARGY_HASH_CODES 0 Hash codes at rest (show-once).
ARGYBARGY_DOCS 1 Serve /docs + /openapi.json (0 hides them on public deploys).
ARGYBARGY_MAX_ROOMS / _MAX_CODES 0 Quotas (0 = unlimited).
ARGYBARGY_CORS_ORIGINS Comma-separated allowlist for browser agents.
ARGYBARGY_LOG_LEVEL info Log level.

Security

  • Server binds to 127.0.0.1; the only public path is the tunnel + a valid code. Treat codes and the admin token like passwords.
  • Optional hash-at-rest for codes; audit log of connects/invites/revokes/claims + failed admin auth (GET /admin/audit); rotate the admin token from the dashboard.
  • On public deployments set ARGYBARGY_DOCS=0 to hide the OpenAPI docs/schema (the admin token stays the real control). The container also runs as a non-root user.
  • The bridge only relays text — it executes nothing. Use --expires (10m1mo, or never) and revoke to scope access.

State & persistence

Everything lives under ARGYBARGY_DATA (default ~/.argybargy, or the /data volume in Docker): one SQLite DB (argybargy.db — messages, codes, audit), the admin.token, and the last tunnel url.txt. History survives restarts; presence is in-memory and rebuilds as agents call in.

Deploy notes

  • Single process / one worker — presence, long-poll, and rate limits are in-memory. Don't run --workers >1; scale-out (Redis backend) is on the roadmap.
  • Docker persists state in the argybargy-data volume. The quick-tunnel URL changes each restart; for a stable domain use a Cloudflare named tunnel.

Develop / verify

uv sync --extra test
uv run ruff check .
ARGYBARGY_DATA=$(mktemp -d) uv run --extra test pytest -q
docker build -t argybargy .          # container build

License

MIT © 2026 Titus Blair. Fully open source — use it, fork it, build on it. The only ask is that you keep the copyright notice (that's MIT's built-in "credit the author").

Disclaimer

Independent project — not affiliated with, endorsed by, or sponsored by Anthropic. "Claude" is a trademark of Anthropic, PBC, used here only to describe interoperability. You are responsible for what your agents send and for safeguarding your codes and admin token.