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

推荐订阅源

WordPress大学
WordPress大学
Blog — PlanetScale
Blog — PlanetScale
Stack Overflow Blog
Stack Overflow Blog
M
MIT News - Artificial intelligence
Recent Announcements
Recent Announcements
GbyAI
GbyAI
云风的 BLOG
云风的 BLOG
Y
Y Combinator Blog
H
Help Net Security
The Register - Security
The Register - Security
U
Unit 42
Microsoft Security Blog
Microsoft Security Blog
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
Hugging Face - Blog
Hugging Face - Blog
雷峰网
雷峰网
Martin Fowler
Martin Fowler
Jina AI
Jina AI
Vercel News
Vercel News
IT之家
IT之家
D
DataBreaches.Net
Recorded Future
Recorded Future
S
SegmentFault 最新的问题
T
Tailwind CSS Blog
C
Check Point Blog
Last Week in AI
Last Week in AI
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
宝玉的分享
宝玉的分享
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
人人都是产品经理
人人都是产品经理
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
B
Blog
F
Full Disclosure
博客园_首页
J
Java Code Geeks
有赞技术团队
有赞技术团队
P
Proofpoint News Feed
爱范儿
爱范儿
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件
MongoDB | Blog
MongoDB | Blog
美团技术团队
T
The Blog of Author Tim Ferriss
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园 - 叶小钗
G
Google Developers 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 GitHub - GenAI-Gurus/awesome-eu-ai-act: Curated tools, official sources, OSS, templates, and guides for EU AI Act compliance. 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 How to Switch AI Chatbots and Why You Might Want To GitHub - MattMessinger1/agentic_refund_guardrail: Safe refund policy layer for AI agents — Python + TypeScript. Same behavior, shared tests. Adam/papers/emergent_values_whitepaper.md at master · strangeadvancedmarketing/Adam Ask HN: How do you stop playing 20 questions with your AI coding tools How far can automation and AI support psychotherapy? - @theU GitHub - stagas/rtdiff: realtime git diff gui and AI-assisted commits A Mac Studio for Local AI — 6 Months Later A History of the Early Years of AI at the University of Edinburgh Why AI Coding Tools Still Feel Stuck on Localhost MSN AI Datacenters Are Becoming Strategic Targets twitter.com Penn Researchers Use AI to Surface Unreported GLP-1 Side Effects in Reddit Posts Show HN: MoodSense AI (ML and FastAPI and Gradio, Deployed on Hugging Face) Moodsense Ai - a Hugging Face Space by aman179102 AI models are terrible at betting on soccer—especially xAI Grok GitHub - xialeistudio/echoic GitHub - HimashaHerath/github-dev-wrapped: AI-powered weekly GitHub activity reports deployed to GitHub Pages GitHub - alejandrobalderas/claude-code-from-source: Architecture, patterns & internals of Anthropic's AI coding agent — reverse-engineered from source maps AI and Tech brief: Ireland ascendant GitHub - Titovilal/context0: Context0 - Never Surrender Training for a Marathon with an AI Coach: What Worked and What Didn't Cyber Pulse: Agentic Intel - Apps on Google Play I Built an AI PR Reviewer That Catches Bugs by Not Looking for Bugs Gen Z workers are so fearful AI will take their job they’re intentionally sabotaging their company’s AI rollout | Fortune How AI Is Reimagining the Game of Golf–For Both Players and Courses GitHub - nattergabriel/reseed: A CLI tool for managing and distributing agent skills across projects Is SVG the final frontier? My AI workflow evolved from prompts to a near-autonomous workflow MLSharp Help - 3DGS Viewer & Generator I put my cognitive field based AI's runtime on GitHub Is Numble the first AI-proof game? A3: Kubernetes for autonomous AI agent fleets | Emergent Principles Deepali Vyas ("The Elite Recruiter") GitHub - msmarkgu/RelayFreeLLM: A restful API designed to route user prompts to various AI model providers. Unionized ProPublica staff are on strike over AI, layoffs, and wages Unleashing the Advantage of Quantum AI We're heading for an AI-fueled 'dementia crisis,' brain scientist warns The AI-Assisted Breach of Mexico's Government Infrastructure [pdf] GitHub - stef41/lmscan: 🔍 Detect AI-generated text and fingerprint which LLM wrote it. Open-source GPTZero alternative. Zero dependencies, works offline. MSN GitHub - visionscaper/collabmem: Enabling long-term collaboration with Agentic AI - building up episodic and world model memory over time with in-context awareness We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs AI Code is Hollowing Out Open Source, and Maintainers are Looking the Other Way What leaked "SteamGPT" files could mean for the PC gaming platform's use of AI AI is the boss at this retail store. What could go wrong? GitHub - Wuzu11517/agentic-proxy: Local proxy meant to help reduce With Drones, Geophysics and ArtificiaI Intelligence, Researchers Prepare to Do Battle Against Land Mines A Single Operator, Two AI Platforms, Nine Government Agencies: The Full Technical Report 在 Steam 上购买 FriedrichAI: Offline AI 立省 10% GitHub - inevolin/resume-cli: Hit Claude usage limits? Resume any AI coding session elsewhere. Switch tools at zero friction. GitHub - atripati/ark: AI Runtime Kernel — a context operating system for AI agents. Eliminates tool bloat, loads only what’s needed, and gives LLMs their reasoning space back. How to Build a Secure AI PR Reviewer with Claude, GitHub Actions, and JavaScript This Startup Wants You to Pay Up to Talk With AI Versions of Human Experts Intel Arc Pro B70 Brings 32GB VRAM to Local AI for $949 WordPress 7.0: The Good, the AI, and the Still Missing AI on the couch: Anthropic gives Claude 20 hours of psychiatry IatroBench: Pre-Registered Evidence of Iatrogenic Harm from AI Safety Measures AI Agents Know About Supabase. They Don't Always Use It Right. The history and future of AI at Google, with Sundar Pichai Inside an AI‑enabled device code phishing campaign How Meta Used AI to Map Tribal Knowledge in Large-Scale Data Pipelines AI for Systems: Using LLMs to Optimize Database Query Execution Forecasting the Economic Effects of AI Introducing Tinker: Play with AI, bring your ideas to life AI sheds light on an ancient gaming mystery People really hate AI but not as much as Iran—or Democrats | Fortune What is an AI Product Engineer? Phoebe Gates wants her $185 million AI startup to succeed with 'no ties to my privilege or my last name': 'I have a chip on my shoulder' | Fortune
GitHub - apvcode/PromptShark: Stop burning tokens on infinite loops. An interactive proxy and debugger for AI agents with Time-Travel capabilities (built with Go & C++).
apvcode · 2026-06-17 · via Hacker News - Newest: "AI"

MITM proxy debugger & loop detector for AI Agents

Go C++ SQLite License

Intercept every prompt. Catch every loop. Replay any step.

PromptShark Dashboard

🌍 English · Русский


🇬🇧 English

What is PromptShark?

PromptShark is a transparent local proxy that sits between your AI agent and the OpenAI API. It captures, logs, and visualizes every single request/response pair in a beautiful real-time dashboard — and automatically detects when your agent gets stuck in an infinite tool-calling loop.

One line to integrate. Zero code changes to your agent.
Just swap base_urlhttp://localhost:8080/v1


At a Glance

🔍 Intercept & Inspect

Every API call flows through PromptShark. View structured request/response pairs, collapse raw JSON payloads, and track token usage with per-step Prompt / Completion breakdowns.

🚨 Loop Detection (C++)

A dedicated C++ engine runs via IPC alongside the Go proxy. It hashes every tool call and flags repeating patterns instantly — before they burn through your API balance.

⏪ Time-Travel Replay

Click on any past step, edit the JSON payload in the built-in editor, preview your changes with an interactive diff view, and re-run the agent from that point. Earlier steps are served from the SQLite cache — no extra API costs.

📊 Live Dashboard

Dark-themed glassmorphism UI with WebSocket-powered live streaming. Auto-switching sessions, instant step search, Markdown export, and session management — all in a single embedded HTML page.


Feature Matrix

Category Feature Details
Proxy Drop-in integration Change one URL, keep your existing OpenAI SDK
Proxy Streaming + non-streaming Full support for stream: true and stream: false
Proxy Token tracking Per-step prompt_tokens / completion_tokens split
Proxy USD Cost Tracker Real-time per-step and per-session cost in dollars
Proxy Latency measurement Time-to-first-token (TTFT) displayed on each step
Detection C++ Loop Detector IPC-connected engine with configurable threshold
Detection Configurable sensitivity loop_config.txt — threshold & argument-ignoring
Debug Time-Travel Replay Edit & re-run from any step using cached responses
Debug Interactive Diff View Side-by-side diff of original vs. edited payload
Debug Raw JSON Viewer Collapsible request/response payloads per step
Testing Chaos Mode Toggle to inject fake 429 Rate Limit errors from UI
UI Real-time WebSockets Tokens stream live into the dashboard
UI Session search & filter Instant full-text search across all steps
UI Auto-switching sessions Dashboard follows the active agent run
Export Markdown reports One-click export of entire debug sessions
Export Session management Create, switch, and delete sessions from sidebar

Installation

There are three ways to run PromptShark:

Option A: Docker (Recommended)

Option B: Pre-compiled Binaries

Download the latest .zip or .tar.gz for your OS (Windows, macOS, Linux) from the GitHub Releases page. Extract and run agent_supervisor (or agent_supervisor.exe).

Option C: Build from Source

1 · Build the C++ Core

mkdir -p build && cd build
cmake .. && make

2 · Run the Proxy

cd proxy
go build -o ../build/agent_supervisor .
../build/agent_supervisor

You will see:

    ____                       __  _____ __               __  
   / __ \_________  ____ ___  / /_/ ___// /_  ____ ______/ /__
  / /_/ / ___/ __ \/ __ '__ \/ __ \__ \/ __ \/ __ '/ ___/ //_/
 / ____/ /  / /_/ / / / / / / /_/ /__/ / / / / /_/ / /  / ,<   
/_/   /_/   \____/_/ /_/ /_/ .___/____/_/ /_/\__,_/_/  /_/|_|  
                          /_/                                   
  ──────────────────────────────────────────────────
  🦈 Version     : 0.1.0
  🌐 Dashboard   : http://localhost:8080
  📦 Database    : ../db/promptshark.db
  🎯 Target API  : https://api.openai.com
  🔗 Proxy URL   : http://localhost:8080/v1
  ──────────────────────────────────────────────────

  Point your OpenAI SDK base_url to the Proxy URL above.
  Press Ctrl+C to stop.

Open http://localhost:8080 — the dashboard is ready.

3 · Point your Agent

Python
from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8080/v1",
    api_key="sk-..."  # forwarded transparently to OpenAI
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}],
    stream=True
)
Node.js
const OpenAI = require("openai");
const client = new OpenAI({
  baseURL: "http://localhost:8080/v1",
  apiKey: "sk-..."
});

const stream = await client.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: "Hello!" }],
  stream: true,
});

Loop Detector Config

Edit loop_config.txt in the project root:

# Consecutive identical calls before triggering alert
THRESHOLD=3

# Ignore arguments — match function name only
IGNORE_ARGS=false
Parameter Default Effect
THRESHOLD 3 Number of identical consecutive tool calls that trigger a loop alarm
IGNORE_ARGS false When true, only function names are compared (arguments are stripped)

⚙️ CLI Options

Flag Default Description
--port 8080 HTTP server port
--db ../db/promptshark.db Path to SQLite database file
--schema ../db/schema.sql Path to schema.sql file
--target https://api.openai.com Upstream LLM API URL

Environment variables PORT and DB_PATH are also supported (flags take priority).

The server handles graceful shutdown: press Ctrl+C and it will finish in-flight requests, close the database, and exit cleanly.


Tech Stack

Layer Technology Role
Proxy Server Go 1.22+ HTTP reverse proxy, WebSocket hub, REST API, CLI
Loop Engine C++ 17 Real-time tool-call hashing & pattern detection via stdin/stdout IPC
Storage SQLite (WAL) Embedded session & step persistence, zero-config
Dashboard HTML + Tailwind + JS Single-file embedded UI served by Go via go:embed
Diff Engine jsdiff Client-side line-by-line diff rendering for Time-Travel

Roadmap

  • Configurable loop rules via YAML (regex patterns, token budgets)
  • Ollama / Anthropic Claude API support
  • Multi-agent message flow visualizer (network graph)

🇷🇺 Русский

Что такое PromptShark?

PromptShark — это прозрачный локальный прокси, который встает между вашим ИИ-агентом и API OpenAI. Он перехватывает, логирует и визуализирует каждую пару запрос/ответ в красивом дашборде в реальном времени — и автоматически обнаруживает, если агент попал в бесконечный цикл вызова инструментов.

Одна строка для интеграции. Ноль изменений в коде агента.
Просто замените base_urlhttp://localhost:8080/v1


Обзор возможностей

🔍 Перехват и инспекция

Каждый API-вызов проходит через PromptShark. Смотрите структурированные пары запрос/ответ, раскрывайте сырой JSON и отслеживайте использование токенов с разбивкой Prompt / Completion для каждого шага.

🚨 Детектор циклов (C++)

Выделенное C++ ядро работает через IPC параллельно с Go прокси. Оно хэширует каждый вызов инструмента и мгновенно фиксирует повторяющиеся паттерны — до того, как они сожгут ваш бюджет API.

⏪ Машина времени (Replay)

Кликните на любой предыдущий шаг, отредактируйте JSON в встроенном редакторе, проверьте изменения в интерактивном diff-просмотрщике и перезапустите агента с этой точки. Предыдущие шаги отдаются из кэша SQLite — никаких лишних затрат.

📊 Живой дашборд

Темная тема с эффектом стекла, стриминг по WebSocket, авто-переключение между сессиями, мгновенный поиск по шагам, экспорт в Markdown и управление сессиями — всё в одном встроенном HTML-файле.


Матрица возможностей

Категория Функция Подробности
Прокси Drop-in интеграция Измените один URL, оставьте текущий OpenAI SDK
Прокси Стриминг + обычные запросы Полная поддержка stream: true и stream: false
Прокси Трекинг токенов Разбивка prompt_tokens / completion_tokens на каждый шаг
Прокси Калькулятор стоимости Цена каждого шага и всей сессии в долларах в реальном времени
Прокси Замер задержки Время ответа API (TTFT) на каждом шаге
Детекция C++ Loop Detector Движок через IPC с настраиваемым порогом
Детекция Гибкая настройка loop_config.txt — порог срабатывания и игнорирование аргументов
Отладка Time-Travel Replay Редактируй и перезапускай с любого шага через кэш
Отладка Интерактивный Diff Визуальное сравнение оригинала и отредактированного промпта
Отладка Raw JSON Viewer Сворачиваемые JSON запроса/ответа для каждого шага
Тестирование Chaos Mode Тумблер для инъекции фейковых 429 Rate Limit ошибок из UI
UI WebSocket реалтайм Токены стримятся в дашборд в реальном времени
UI Поиск и фильтрация Мгновенный полнотекстовый поиск по всем шагам
UI Авто-переключение Дашборд следует за активным запуском агента
Экспорт Markdown отчёты Экспорт всей сессии одним кликом
Экспорт Управление сессиями Создание, переключение и удаление из сайдбара

Установка

Есть три способа запустить PromptShark:

Вариант А: Docker (Рекомендуется)

Вариант Б: Готовые бинарники

Скачайте актуальный .zip или .tar.gz для вашей ОС (Windows, macOS, Linux) со страницы GitHub Releases. Распакуйте и запустите agent_supervisor (или agent_supervisor.exe).

Вариант В: Сборка из исходников

1 · Сборка C++ ядра

mkdir -p build && cd build
cmake .. && make

2 · Запуск прокси

cd proxy
go build -o ../build/agent_supervisor .
../build/agent_supervisor

Вы увидите:

    ____                       __  _____ __               __  
   / __ \_________  ____ ___  / /_/ ___// /_  ____ ______/ /__
  / /_/ / ___/ __ \/ __ '__ \/ __ \__ \/ __ \/ __ '/ ___/ //_/
 / ____/ /  / /_/ / / / / / / /_/ /__/ / / / / /_/ / /  / ,<   
/_/   /_/   \____/_/ /_/ /_/ .___/____/_/ /_/\__,_/_/  /_/|_|  
                          /_/                                   
  ──────────────────────────────────────────────────
  🦈 Version     : 0.1.0
  🌐 Dashboard   : http://localhost:8080
  📦 Database    : ../db/promptshark.db
  🎯 Target API  : https://api.openai.com
  🔗 Proxy URL   : http://localhost:8080/v1
  ──────────────────────────────────────────────────

  Point your OpenAI SDK base_url to the Proxy URL above.
  Press Ctrl+C to stop.

Откройте http://localhost:8080 — дашборд готов к работе.

3 · Подключите агента

Python
from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8080/v1",
    api_key="sk-..."  # прозрачно перенаправляется в OpenAI
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Привет!"}],
    stream=True
)
Node.js
const OpenAI = require("openai");
const client = new OpenAI({
  baseURL: "http://localhost:8080/v1",
  apiKey: "sk-..."
});

const stream = await client.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: "Привет!" }],
  stream: true,
});

Настройка детектора циклов

Отредактируйте loop_config.txt в корне проекта:

# Количество идентичных вызовов подряд до срабатывания тревоги
THRESHOLD=3

# Игнорировать аргументы — сравнивать только имя функции
IGNORE_ARGS=false
Параметр По умолчанию Эффект
THRESHOLD 3 Сколько одинаковых последовательных вызовов считать зацикливанием
IGNORE_ARGS false Если true, сравниваются только имена функций (аргументы игнорируются)

⚙️ Параметры CLI

Флаг По умолчанию Описание
--port 8080 Порт HTTP-сервера
--db ../db/promptshark.db Путь к файлу базы данных SQLite
--schema ../db/schema.sql Путь к файлу схемы
--target https://api.openai.com URL upstream LLM API

Также поддерживаются переменные окружения PORT и DB_PATH (флаги имеют приоритет).

Сервер поддерживает Graceful Shutdown: нажмите Ctrl+C, и он корректно завершит текущие запросы, закроет базу данных и выведет ✅ Goodbye!.


Технологический стек

Слой Технология Роль
Proxy Server Go 1.22+ HTTP reverse proxy, WebSocket хаб, REST API, CLI
Loop Engine C++ 17 Хэширование и детекция паттернов через stdin/stdout IPC
Хранилище SQLite (WAL) Встроенная база сессий и шагов, без настройки
Дашборд HTML + Tailwind + JS Единый встроенный UI через go:embed
Diff Engine jsdiff Клиентский построчный diff для Time-Travel

Дорожная карта

  • Конфигурация правил детектора через YAML (regex паттерны, бюджеты токенов)
  • Поддержка Ollama / Anthropic Claude API
  • Визуализатор потоков мультиагентных систем (граф сети)

[MIT License](LICENSE) — use it, fork it, ship it.