hyperresearch
CLI ツールjordan-gibbs/hyperresearch
Claude Code をディープリサーチエージェントに変え、永続的で検索可能なナレッジベースを構築する。
概要
Claude Code をディープリサーチエージェントに変える:階層的かつ適応型の16ステップパイプラインにより数百のソースを収集し、敵対的レビューが引用を一文ずつ検証した上でレポートを生成する。すべてのソースは永続的で検索可能な Markdown と SQLite のナレッジベースに保存され、後続のセッションでそのまま再利用でき、クラッシュ後の中断点からの再開にも対応する。
README プレビュー
\n\nThe Most Powerful Deep Research Harness\n\n\n \n \n \n \n\n\n---\n\n**Hyperresearch turns Claude Code into a deep research agent: one that currently leads the DeepResearch-Bench RACE leaderboard (benchmarked internally).** A tier-adaptive 16-step pipeline takes one prompt and produces an adversarially-audited report with full source provenance. Every source it reads lands in a persistent, searchable vault, so each session starts smarter than the last.\n\n\n \n\n\nForward-looking projection from a stratified pilot against the DeepResearch-Bench leaderboard snapshot (https://huggingface.co/spaces/muset-ai/DeepResearch-Bench-Leaderboard). Third party validation is pending.\n\n## Why it wins\n\n- **250+ sources in a single run.** The `premier` scale profile targets 100–130 in the width sweep alone; citation chasing and gap-fill fetches more than double what actually lands in the corpus.\n- **Every citation is verified before the report ships.** A skeptical cite-checker audits whether each cited source actually supports its sentence. Hallucinated quotes and unacknowledged retractions are hard blocks at the gate.\n- **Syndication doesn't count as consensus.** An independence audit clusters derivative copies, so five reprints of one press release argue with the weight of one source.\n- **Adversarial by construction.** Four critics attack every draft in parallel, and a tool-locked patcher can only apply surgical edits. It physically cannot rewrite the report.\n- **Eight scholarly sources, one query.** `hpr scholar search` hits OpenAlex, Crossref, CORE, DOAB, ClinicalTrials.gov, SEC EDGAR and FRED through one client layer and returns a single list deduplicated by DOI and title. Books, trials and filings come back alongside papers, each tagged so the pipeline knows which is which. The humanities and social sciences are covered on purpose, not as an afterthought.\n- **Paywalled papers get read, not skimmed.** A closed paper normally enters a vault as a 1,500-character
FAQ (3)
トラブル対応`run init` が `../../x` のようなボールトタグを受け入れ、ボールトの外部にスキャフォールドを作成してしまうパストラバーサル脆弱性は、どのように修正すればよいですか?
Vault.run_dir() と init_run は、vault_tag を検証なしに research/runs/ に連結するため、../../x のようなタグや絶対パスが vault の外に出てしまいます。#114 の --tag トラバーサルと同じ方法で修正してください。つまり、連結後のパスを解決し、それが research/runs/ の配下に位置することを要求し、そうでない場合は明確なエラーでタグを拒否します。より簡単な代替案として、CLI 境界でタグをスラッグパターン [A-Za-z0-9_.-]+ に制限し、/ と .. のセグメントを完全にブロックする方法もあります。なお、すべての run サブコマンドが同じ方法でタグを解決するため、この修正はすべての run サブコマンドに影響することに注意してください。
トラブル対応なぜ hyperresearch quote-integrity lint は誤った 'hallucinated quote' エラーを報告し、blocked_on verify で run の完了をブロックするのですか?
根本原因 (hyperresearch v0.10.0): cli/lint.py (_check_quote_integrity) 内で、スパン正規表現 _QUOTE_SPAN_RE = re.compile(r'["“]([^"“”]{20,600})["”]') が20文字の最小文字数を強制している。20文字未満の実際に引用されたフレーズ (例: "TVL"、"reasonable use") はまったくマッチせず、その閉じ引用符は新しい*開始*引用符として誤読され、数百文字後にある次の引用符とペアになってしまい、通常の本文を含む巨大な誤検出の「hallucinated」スパンを生成する。修正 (ツールへのパッチ): 正規表現を厳格な下限のない非貪欲マッチ — r'["“]([^"“”]{1,600}?)["”]' — に置き換え、フィルタリングを正規表現の長さに依存する代わりに、既存の if len(quote.split()) < 5: continue チェックで短いスパンの検証をスキップさせる。回避策 (レポート側、コード変更なし): 20文字未満のすべての引用スパンを特定し (" 記号を順次ペアリングして20文字未満のスパンにフラグを付けるスクリプト)、その後、正当な短い専門用語をイタリック体にする ("Low Security" の代わりに *Low Security*) か、連続するソーステキスト内の隣接する短い引用を1つの長い逐語引用にマージする (例: 5つの短いラベル断片を1つの90文字以上の引用スパンに結合する) ことを、run finish がパスするまで行う。
トラブル対応hyperresearchのスキルコマンドが「run: command not found」または「$HPR」not foundエラーで失敗するのはなぜですか?
hyperresearch 0.11.1 では、.claude/skills/ 配下にインストールされている 19 個のステップスキルのうち 14 個が CLI を $HPR として呼び出していますが、HPR 変数はどこにも定義されていません。環境変数にも、.claude/settings.json にも、パッケージ内のどこにも定義されていません。HPR が未設定の場合、$HPR は空文字列に展開されるため、$HPR run finish <vault_tag> --json のようなコマンドは run finish ... となり、シェルは run: command not found と報告します(これは CLI のエラーではなく、シェルのエラーです)。回避策: 1) インストールされたバイナリを指すように、この変数を自分でエクスポートします: export HPR="$(command -v hyperresearch)"(シェルのプロファイルまたはエージェントの環境に追加してください)。2) あるいは、インストールされたスキル内の $HPR を解決済みの CLI の絶対パスに置き換えます。これはインストーラーがすでに CLAUDE.md(**CLI path: /path/to/hyperresearch** と表示されています)とすべてのエージェントプロンプトに埋め込んでいるのと同じパスです。例: grep -rl '\$HPR' .claude/skills/ | xargs sed -i "s|\$HPR|/path/to/hyperresearch|g"。修正前は bash -c 'unset HPR; $HPR run status -j' で失敗することを確認し、修正後は /path/to/hyperresearch run status -j で動作することを確認してください。