Research Projects

  • MarkItDown converts documents and other files into Markdown for language models and text analysis workflows. It supports PDFs, Office documents, web pages, images, audio, and other formats while preserving useful structure such as headings, lists, and tables. A Python API, command-line interface, and plugin system make it easy to integrate document conversion into larger tools.

    Star History Rank GitHub Trending Repository of the Day

  • AutoGen is a programming framework for creating teams of AI agents that can act autonomously or work alongside people. Magentic-One builds on AutoGen with a generalist team that coordinates browser use, file handling, and coding to complete complex tasks. Modular agents, tools, and orchestration components let developers experiment with different ways of dividing work and involving a human.

    GitHub Trending Repository of the Day

  • Magentic-UI explores how people can plan, steer, and review the work of AI agents. Its current incarnation, MagenticLite, combines browser use and local file operations with models designed to run with modest compute. Users can approve important actions or take over, while browser sessions run in a lightweight virtual-machine sandbox.
  • Magentic Marketplace is an open source simulation environment for studying markets where AI agents act on behalf of buyers and sellers. Researchers can vary agents, market rules, and communication protocols to explore how economic decisions change under different conditions. The framework supports experiments on efficiency, fairness, and the effects of biases or attempts to manipulate agents.
  • MCP Interviewer helps you catch MCP server issues before your agents do. It checks tool definitions against model providers' constraints and can use an AI agent to generate and execute functional tests against a server. Markdown reports and structured results make it easier to inspect failures and assess how well tools work with agents.
  • AGDebugger is an interactive tool for debugging and steering teams of AI agents built with AutoGen. Developers can step through a conversation, edit earlier messages, and rerun from a previous point to explore how a change affects the outcome. Visual navigation and controls for intervening in agent conversations help locate failures that are difficult to spot in long message logs.
  • The HAX Playbook helps teams anticipate what can go wrong when people interact with AI. A guided questionnaire generates scenarios to explore during design and user testing, with contextual guidance for planning how an experience should handle failures. Teams can adapt the questions, guidance, and generated scenarios to their own applications.
  • SentinelBench evaluates agents that need to keep watch over time and act when something important happens. It includes 100 scenarios across ten simulated web applications, covering activities such as monitoring email, team conversations, calendars, and code repositories. Scripted timelines and an evaluation harness let researchers study whether agents intervene at the right moment while avoiding unnecessary activity.
  • Rifts studies breakdowns in the shared understanding between people and language models. Its benchmark examines conversational grounding: how participants clarify intent, resolve misunderstandings, and establish what they mean. The repository provides code for labeling grounding behavior, training models to anticipate breakdowns, and reproducing the paper's experiments.

Personal Projects

  • Text adventures over radio, with an AI companion on the other end. Cabin Fever pairs you with a character sheltering in a remote cabin, where you explore classic games together, discuss puzzles, and trade banter over a simulated radio. A browser interface supports voice play, with a text client and optional Telegram and Zello gateways offering other ways to join the conversation.
  • aprstastic is a bidirectional gateway between Meshtastic networks and APRS for licensed amateur radio operators. It associates Meshtastic device IDs with call signs so messages can travel between the two networks using stock Meshtastic devices. Over-the-air discovery, registration, and optional registration beacons help users connect to gateways and move between them.
  • A small relay that brings Meshtastic messages into Discord. It forwards messages through Discord webhooks so radio conversations can be followed from an existing Discord channel. Configurable webhook destinations and a simple launcher make it straightforward to run a relay for your own community.
  • hamkit is a collection of Python tools for amateur radio projects. It includes utilities for identifying countries from call sign prefixes, searching a local copy of the FCC licensing database, and working with RepeaterBook exports. The tools can be installed together or used as individual packages in scripts and other applications.
  • APRS Assistant brings a language-model-powered assistant to the Automatic Packet Reporting System. Its tools can answer questions about weather, station locations, radio conditions, and other information useful to amateur radio operators. The library handles conversations and tool use, with a local chat interface for experimentation and a separate host integration for connecting to the APRS network.
  • This plugin connects APRS Assistant to the APRS network through the APRSd server. It lets amateur radio operators exchange messages with the assistant over APRS-IS, using the assistant's information tools through a familiar radio messaging interface. The package includes both APRSd and APRS Assistant as dependencies, bringing the server and chatbot together in one installation.
  • Pyra is a Python implementation of a region algebra for searching text with lightweight structure. Its query language combines words and phrases with relationships such as containment, ordering, and proximity to extract relevant passages. Examples using Shakespeare's plays show how to find titles, scenes, and other document regions that satisfy combinations of structural and textual conditions.
  • Zelpy is an asynchronous Python client for the Zello Channel API. It sends and receives text messages and voice audio, making it useful for bots, gateways, and applications that participate in Zello channels. A command-line interface supports sending messages, listening for channel activity, and working with audio files.