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

推荐订阅源

Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
有赞技术团队
有赞技术团队
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Recent Announcements
Recent Announcements
Y
Y Combinator Blog
Vercel News
Vercel News
Martin Fowler
Martin Fowler
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
LangChain Blog
云风的 BLOG
云风的 BLOG
H
Hackread – Cybersecurity News, Data Breaches, AI and More
aimingoo的专栏
aimingoo的专栏
G
Google Developers Blog
The GitHub Blog
The GitHub Blog
N
Netflix TechBlog - Medium
Google DeepMind News
Google DeepMind News
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
F
Fortinet All Blogs

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - graphlit/agent-harness-lab
kirkmarple · 2026-06-16 · via Hacker News: Show HN

Visual Next.js sample for comparing how agent harnesses answer the same prompt when they share the same Graphlit context layer and Graphlit agent tools.

Deploy with Vercel

Graphlit Agent Harness Lab workbench showing parallel harness lanes and the judge panel

Run multiple agent harnesses side by side against the same Graphlit-backed context, then inspect tools, sources, timings, token usage, and judge scores.

The app runs selected lanes in parallel:

  • Graphlit
  • OpenAI Agents SDK
  • Vercel AI SDK
  • LangGraph
  • Mastra
  • Claude Agent SDK
  • Google ADK

Graphlit is the always-on baseline lane and shared context layer. The other lanes can be toggled from the composer. Each send creates one turn for every enabled lane, and each lane keeps its own session state so you can compare multi-turn behavior over time.

What You Can Compare

  • How each harness streams answer text and tool events.
  • Which tools each lane calls, including search provider labels for web_search.
  • Sources, tool call arguments/results, raw lane events, timings, and token usage.
  • Provider/model choices across OpenAI, Anthropic, and Google where the harness supports them.
  • Provider defaults versus the lab's optimized, harness-neutral system prompt.
  • LLM-as-judge scoring when at least two lanes finish successfully.

Graphlit Agent Tools

All lanes receive the same read-only Graphlit-backed tool surface:

  • analyze_prompt - required first call for per-turn routing and evidence planning.
  • retrieve_contents
  • inspect_content - inspect retrieved Graphlit content by id or contents://... resourceUri.
  • inspect_page - inspect a public web page URL as Markdown without ingesting it into Graphlit.
  • count_contents
  • list_resources
  • read_resource
  • web_search
  • web_map

The composer can ingest files or URLs as shared setup context before a run. Agent lanes cannot ingest, delete, enrich, or mutate project content during comparison.

The optimized system prompt is enabled by default. It asks every harness to call analyze_prompt first, then follow the returned routing plan for retrieval, web search, inspection, and synthesis. You can turn the optimized prompt off in the UI to compare provider/harness defaults.

Shared Project Context

The file and URL buttons in the composer are setup controls for the connected Graphlit project, not abilities granted to a single lane:

  • File upload sends the selected file to the app server, then calls Graphlit file ingestion for the active project.
  • URL ingest sends the URL to the app server, then calls Graphlit URI ingestion for the active project.
  • The app waits for Graphlit processing before treating the new content as retrieval-ready.
  • Once ready, the content is shared context for every enabled lane in the next comparison run.

That means the comparison stays fair: every lane sees the same project context and the same read-only Graphlit agent tools. During a benchmark turn, lanes can retrieve, inspect content, inspect public pages, count, list, read, search, and map through those tools, but they cannot add, delete, enrich, or mutate project content.

Uploaded files and ingested URLs are persisted in the configured Graphlit project until you manage or delete them in Graphlit. Resetting the lab clears the local comparison transcript and lane sessions; it does not delete project content from Graphlit. Use Graphlit Studio to review or manage project content outside the lab.

Setup

Use Node.js 20.9.0 or newer.

Create a Graphlit project before running the app:

  1. Sign up or sign in at graphlit.dev.
  2. Create or open a Graphlit project.
  3. Open the project environment panel from the sidebar.
  4. Copy the environment variables for the environment you want to use.
npm install
cp .env.example .env.local
npm run dev

Required Graphlit project credentials:

GRAPHLIT_ORGANIZATION_ID=
GRAPHLIT_ENVIRONMENT_ID=
GRAPHLIT_JWT_SECRET=

Configure at least one model provider key. Provider keys stay server-side.

OPENAI_API_KEY=
ANTHROPIC_API_KEY=
GEMINI_API_KEY=

Optional defaults:

NEXT_PUBLIC_DEFAULT_LANES=graphlit,openai,vercel,langgraph,mastra,claude,google
AGENT_HARNESS_LAB_REASONING_EFFORT=medium
AGENT_HARNESS_LAB_MODEL_PROVIDER=openai
AGENT_HARNESS_LAB_MODEL_SIZE=large
AGENT_HARNESS_LAB_GRAPHLIT_TIMEOUT_MS=900000

If NEXT_PUBLIC_DEFAULT_LANES is unset, all lanes that have the required credentials are enabled by default. Graphlit remains the baseline lane when Graphlit credentials and at least one provider key are available.

Deploy To Vercel

Use the deploy button above to clone this repo into your Vercel account. Vercel will prompt for Graphlit variables and model provider API key fields before the first deployment. Configure at least one provider key to run the app.

How It Works

On first load, the app verifies your Graphlit project and bootstraps the model specifications used by the Graphlit baseline and judge.

The flow:

  1. Send the same prompt to every enabled lane.
  2. Each lane runs independently with the same Graphlit agent tools.
  3. Each lane streams its own events, answer text, tool calls, sources, timings, and token usage.
  4. Lane failures stay isolated, so one provider cannot block the others.
  5. If at least two lanes finish successfully and judging is enabled, the judge compares the completed results.
  6. Lane session state carries forward to the next prompt until you reset.

Use reset to clear the prompt, lane transcripts, session state, and judge output. The next send starts a fresh comparison.

Runtime Notes

Graphlit, Vercel AI SDK, LangGraph, and Mastra use the selected provider preference when the matching API key is available. OpenAI Agents SDK, Claude Agent SDK, and Google ADK use their native provider keys.

  • OPENAI_API_KEY: enables OpenAI models and the OpenAI Agents SDK lane.
  • ANTHROPIC_API_KEY: enables Anthropic models and the Claude Agent SDK lane.
  • GEMINI_API_KEY: enables Google Gemini models and the Google ADK lane.

The app uses 15-minute lane and judge timeouts for long-running research prompts. AGENT_HARNESS_LAB_GRAPHLIT_TIMEOUT_MS can override the timeout used for Graphlit bootstrap/API operations.

The judge only compares successful lane runs. If fewer than two lanes complete successfully, judging is skipped.

Contributing

Pull requests are welcome for additional model providers and agent harness lanes. See CONTRIBUTING.md for the contribution checklist.