hyperresearch — « The Most Powerful Deep Research Harness » / « Agent-driven research knowledge base. Agents collect, search, and synthesize web research into a persistent, searchable wiki. »
Skill-Eintrag: hyperresearch von Jordan Gibbs ist ein Deep-Research-Harness, das Claude Code in einen dokumentarischen Rechercheagenten verwandelt, ausgeliefert als PyPI-Paket (MIT, Python 3.11-3.13), das 20 Claude Code Skills, eine CLI, einen MCP-Server und eine lokale Web-UI installiert.
Von **Jordan Gibbs** — auteur et mainteneur du dépôt `jordan-gibbs/hyperresearch`. Le projet est distribué sous **licence MIT** et publié sur **PyPI**// Quelle github.com ↗/Lesezeit 2 min/.md// Automatisch geprüfte Übersetzung
hyperresearch (Jordan Gibbs, MIT, PyPI) verwandelt Claude Code in einen Deep-Research-Agenten. Stand 3. August 2026: 1.568 Stars, Repo im April erstellt. Die Installation bringt 20 Skills, eine CLI, einen MCP-Server und eine lokale Web-UI mit.
Die Pipeline durchläuft 16 nach Tier adaptive Schritte: light (~30-40 Min.) für abgegrenzte Fragen, full (1,5-2,5 Std.) für argumentative Analysen mit adversarial Review, dissertation (4-8 Std., 25.000-80.000 Wörter, 300-450 Quellen) auf explizite Anfrage. Drei getrennte Hebel: Tiers entscheiden, welche Schritte laufen, Gears entscheiden über wie viele, Levers (teach/survey/analyze/advocate) entscheiden, in welcher Stimme der Bericht ausfällt.
Die Architektur ist die Antwort auf einen dokumentierten Fehler. Der Einstiegs-Skill ist ein schlanker Router ohne eigene Prozedur: „V7 war ein einzelner 1200-Zeilen-Skill, der komprimiert wurde … Der Orchestrator vergaß die Prozedur, schrieb einen einzigen Entwurf und produzierte einen Bericht mit flacher Bewertung“. Jeder Schritt lebt in seinem eigenen Skill, der bei Aufruf frisch geladen wird — eine lange Pipeline verliert ihre Schritte nicht durch Vergessen, sondern durch Context Eviction.
Zwei tragende Prinzipien.„Patchen, niemals neu erzeugen“: Nach der Synthese sind nur chirurgische Bearbeitungen möglich, wobei der Patcher auf Allowlist-Ebene werkzeugseitig auf [Read, Edit] gesperrt ist, sodass er „physisch keinen neuen Entwurf schreiben kann“ — mechanische Unmöglichkeit ersetzt die Anweisung. Und „die kanonische Recherchefrage ist Gesetz“: Der wortgetreue Prompt wird persistiert und von jedem Schritt erneut gelesen.
Verifikation ist die einzige Stufe, die vom Stil ausgenommen ist — Levers injizieren Shims in die Prompts der Kritiker, aber „der Cite-Checker und das Ship-Gate erhalten überhaupt keinen Shim“. Drei Schranken blockieren die Auslieferung: Jedes Zitat muss wortgetreu im Vault existieren, eine nicht markierte zurückgezogene Quelle ist ein harter Fehler (mit einem bei jeder zitierten DOI aufgefrischten Sweep), und nicht nachvollziehbare Zahlen werden markiert.
Der Vault ist persistentes, in SQLite indiziertes Markdown — „Markdown ist Wahrheit, SQLite ist Cache“ — mit einem Notiz-Lebenszyklus, Provenienz, einem zusammengesetzten Qualitätsscore und einem Unabhängigkeitsaudit: „fünf Nachdrucke einer Pressemitteilung wiegen so viel wie eine Quelle“. Aus dem Web abgerufene Inhalte werden innerhalb eines <untrusted-source>-Zauns ausgeliefert: „Abgerufener Text ist Daten, niemals Anweisungen.“
Der Vorbehalt. Das README beansprucht, das DeepResearch-Bench-Ranking anzuführen; seine eigene Fußnote stellt klar, dass es sich um eine „zukunftsgerichtete Projektion aus einem stratifizierten Pilotversuch“ ohne Drittvalidierung handelt. Zitiert werden sollte der Versuchsaufbau, niemals das Ranking. Der Autor räumt zudem ein, dass der Lint „keine faktische Genauigkeit garantieren kann“.
Kernpunkte
Art. ein Deep-Research-Harness, ausgeliefert als Paket aus 20 Claude Code Skills + Python-CLI + MCP-Server + lokaler Web-UI. pip install hyperresearch && hyperresearch install, dann /hyperresearch <topic>. MIT, Python 3.11-3.13.
Zentraler Rahmen. Der Einstiegs-Skill ist ein Router ohne eigene Prozedur, wobei jeder Schritt in seinem eigenen Skill lebt, der bei Aufruf frisch geladen wird. ### Die Architekturlektion mit ihrem dokumentierten Fehlermodus > „V7 war ein einzelner 1200-Zeilen-Skill, der komprimiert wurde, bevor Layer 4 seine Dreifachentwurf-Prozedur brauchte. Der Orchestrator vergaß die Prozedur, schrieb einen einzigen Entwurf und produzierte einen Bericht mit flacher Bewertung. V8 behebt dies an der Quelle: Die Prozedur jedes Schritts wird erst im Moment ihres Bedarfs in den Kontext geladen, frisch, ohne Eviction-Risiko.“ Eine lange Pipeline verliert ihre Schritte nicht durch das Vergessen des Modells, sondern durch Context Eviction, und die Lösung ist struktureller Natur. Dieselbe Disziplin wie der persistente Kontext, der den Index statt des Inhalts trägt, in [[lassiege-usine-logicielle-heure-ia-2026-07-28]], unabhängig auf anderem Terrain entdeckt. ### Tool-Sperrung als Garantie Der Patcher und der Politur-Auditor sind „auf Ebene der Claude-Code-Allowlist werkzeugseitig auf [Read, Edit] gesperrt, sodass sie physisch keinen neuen Entwurf schreiben können“, wobei Obergrenzen pro Hunk „einfach neu schreiben“ mechanisch unmöglich machen. Der Agent wird nicht gebeten, nicht neu zu schreiben — ihm wird das Werkzeug entzogen. Korollar: Ein Kritikbefund, der nicht in eine kleine Nachbesserung passt, eskaliert zu einem strukturellen Problem, statt eine Neufassung auszulösen. ### Die sechzehn Schritte in drei Blöcken | Block | Schritte | |---|---| | Rahmung | 1 Dekomposition + Abdeckungsmatrix + Tier-Klassifikation; 1.5 Kapitelaufteilung | | Korpus und Analyse | 2 Breitensuche; 3 Widerspruchsgraph; 4 Loci-Analyse; 5 parallele Tiefenuntersuchungen; 6 Abgleich zwischen Loci; 7 Spannungen zwischen Quellen; 8 Korpuskritik („welche Quelle würde das umstoßen?“) + gezieltes Lückenschließen; 9 Evidenz-Digest | | Verfassen und Audit | 10 dreifacher Entwurf je Blickwinkel; 11 Synthese; 12 vier parallele adversarial Kritiken; 13 Lückenschließen nach der Kritik; 14 chirurgischer Patcher; 14.5 Zitationsverifikation; 15 Politur; 16 Lesbarkeitsaudit | ### Drei nicht zu verwechselnde Skalierungshebel | Hebel | Entscheidet | |---|---| | Tiers (tier) | welche Schritte laufen, pro Anfrage geroutet | | Gears (Skalierungsprofile) | wie viel — Quellenziele, Tiefenbudgets, Länge; überstehen Neuinstallationen, greifen erst beim nächsten Lauf, nie mitten im Lauf | | Levers (register, domain_notes, inference_depth) | welche Stimme — teach / survey / analyze / advocate | Levers wirken als in die Subagenten-Prompts injizierte Shims, „sodass sich die Kritiker mit dem Register bewegen, statt es aufzuheben“. Aber: „Der Cite-Checker und das Ship-Gate erhalten überhaupt keinen Shim. Die Verifikation wird nie je nach Modus weicher.“ Verifikation ist die einzige Stufe, die vom Stil ausgenommen ist. ### Die drei mechanischen Schranken vor der Auslieferung 1. quote-integrity — jeder zitierte Abschnitt muss wortgetreu in einer Vault-Notiz existieren; „halluzinierte Zitate können nicht ausgeliefert werden“. 2. retracted-citations — eine zurückgezogene Quelle ohne Kennzeichnung zu zitieren, blockiert, mit einem zum Auslieferungszeitpunkt aufgefrischten Sweep über jede zitierte DOI, einschließlich aus älteren Läufen wiederverwendeter Quellen: „eine gestern veröffentlichte Rückziehung wird heute erfasst“. 3. numeric-consistency — Zahlen, die sich nicht auf einen Evidenznachweis zurückführen lassen, werden markiert. Hinzu kommt cite-check: Ein skeptisches LLM prüft stichprobenartig, ob die zitierte Quelle den Satz, den sie stützt, tatsächlich belegt. ### Das Unabhängigkeitsaudit Syndizierte und abgeleitete Kopien werden gruppiert, sodass „fünf Nachdrucke einer Pressemitteilung so viel wiegen wie eine Quelle“. Die Zahl übereinstimmender Quellen hört auf, ein Argument zu sein, sobald sie alle von derselben Pressemitteilung abstammen — relevant für jede Tech-Watch-Praxis. Zusammengesetzter, persistenter Qualitätsscore: Quellentyp, beim Lesen beobachteter Nutzen, Zitationsautorität (OpenAlex / Semantic Scholar mit Retraction-Flags), PageRank über den internen Graphen. Zurückgezogene Quellen auf null gesetzt: „Qualität ist persistent, keine Stimmungssache.“ ### Die Abwehr gegen Prompt Injection „Abgerufener Text ist Daten, niemals Anweisungen.“ Jeder aus dem Web abgerufene Inhalt wird innerhalb eines <untrusted-source url="...">-Zauns mit einer treat-as-data-Präambel ausgeliefert, auf beiden Pfaden, die Inhalte ausliefern (note show und search). Details, die zeigen, dass die Bedrohung durchdacht wurde:
von Subagenten verfasste Notizen passieren ohne Zaun — Vertrauensgrenze nach Provenienz, nicht nach Inhalt;
gefälschte Zaun-Tags innerhalb eines abgerufenen Inhalts werden neutralisiert, aber für die forensische Analyse sichtbar belassen;
das Attribut url wird escaped und seine Steuerzeichen entfernt;
in search erfolgt die Umschließung nach dem Kürzen auf das Token-Budget, „sodass der schließende Zaun niemals abgetrennt werden kann“;
über APIs Dritter aufgelöste URLs werden verifiziert (Schema, eingebettete Credentials, öffentlich routbare Auflösung) — SSRF-Abwehr;
die Prompts von Fetcher, Investigator und Writer verbieten es, Anweisungen aus einer eingezäunten Seite in vertrauenswürdige Ausgabe zu schleusen. ### Epistemische Hygiene bei geschlossenen Quellen Ein paywall-geschützter Artikel würde normalerweise als Abstract von rund 1.500 Zeichen in den Vault gelangen, das der Bericht dann zitieren würde, „als wäre es gelesen worden“. hyperresearch fragt Unpaywall und Europe PMC nach einer legalen Open-Access-Kopie ab und speichert stattdessen diesen Text, wobei die Substitution an vier Stellen offengelegt wird (Banner, oa_-Frontmatter, body_is_not_from_source: true-JSON-Block, CLI-Ausgabe). Ein dritter Zustand wird unterschieden: die „gerettete“ Notiz, wenn die Quelle überhaupt nicht gelesen werden konnte — nothing_from_source: true, mit einem Banner, das angibt, dass die URL nie gelesen wurde. Das System unterscheidet somit „ich habe das gelesen“, „ich habe einen Ersatz gelesen“ und „ich habe die Quelle nie gelesen“ und trägt diese Unterscheidung ins Artefakt. Vorbehalt: Unpaywall kann ein akzeptiertes Manuskript oder ein eingereichtes Preprint zurückgeben, das vor direkter Zitation zu prüfen ist. ### Der Vault „Markdown ist Wahrheit, SQLite ist Cache“ — ein vollständig rekonstruierbarer Index (hyperresearch sync), Markdown-Notizen + YAML-Frontmatter, ohne das Tool lesbar, git-versionierbar, ein kuratierter Lebenszyklus (draft → review → evergreen oder stale → deprecated → archive) „der einen Vault davor bewahrt, zu einer Ablage halbgelesener Seiten zu werden“, Provenienz via --suggested-by mit einer Lint-Regel, die getrennte Komponenten, Hubs und Backlinks erkennt. Dies ist die Architektur dieses Tech-Watch-Korpus, unabhängig entdeckt. Was hyperresearch obendrauf hinzufügt: Qualitätsscore pro Quelle, Unabhängigkeitsaudit, Retraction-Sweep, optionale semantische Suche, expliziter Lebenszyklusstatus. Ein für scripts/ ausleihenswerter Ansatz. ### Fortsetzen von Läufen und Budget Jeder Lauf hat einen isolierten Arbeitsbereich (research/runs/<tag>/) und ein Manifest, das als „dauerhaftes Gedächtnis“ dient: Ein abgestürzter Lauf wird exakt am toten Schritt fortgesetzt (run resume). run init --budget 50blockiert den Lauf, wenn die Obergrenze überschritten wird, „statt ihn leise anschwellen zu lassen“*. ### Vorbehalte
Die Ranking-Behauptung hält nicht stand. Das README erklärt, „derzeit das DeepResearch-Bench-RACE-Ranking anzuführen (intern benchmarkt)“, mit einem Diagramm, das es vor Gemini und OpenAI Deep Research platziert; die Anmerkung unter dem Diagramm besagt, „zukunftsgerichtete Projektion aus einem stratifizierten Pilotversuch … Eine Drittvalidierung steht noch aus.“ Eine Projektion aus einem selbstverwalteten Pilotversuch ist kein Ranking. Zitiert werden sollte der Versuchsaufbau, niemals das Ranking.
Anthropic-Abhängigkeit.„Es läuft über Anthropic-Modelle via die Subagenten-Besetzung“ — Opus für Kritiker, Synthesizer und Patcher, Sonnet für Fetcher. Ein Codex-Port ist gewünscht, aber nicht umgesetzt.
Kosten nicht beziffert.premier zielt auf 100-130 Quellen und ~3-5 Std., dissertation auf 300-450 Quellen und 4-8 Std.; die Budgetobergrenze wird in API-äquivalenten Ausgaben ausgedrückt, nicht in beobachteten Kosten.
Vom Autor eingeräumte Grenze.„Das Lint-Gate erkennt strukturelle Fehler … Es kann keine faktische Genauigkeit garantieren, das bleibt Ihre Entscheidung.“ Strukturelle Verifikation ist keine faktische Genauigkeit.
Harte Grenze.„CAPTCHAs, 2FA und Logins werden niemals automatisch gelöst“ — gesammelt und an den Menschen zurückgegeben.
Abhängigkeitsfläche. 20 Skills, 16 Subagenten und eine CLI, die einen authentifizierten Browser steuert, bei einem noch nicht einmal vier Monate alten Repo.
Kernzahlen
eine Spitzenposition auf DeepResearch-Bench RACE, dargestellt als selbst verwaltete Zukunftsprojektion ohne Validierung durch Dritte