Skip to main content
Glama
gaofeibilly-maker

oriole

Oriole · 黄雀 Job Engine

中文说明 · Architecture · Sources · Verification

オープンウェブを、追跡可能でレビューゲート付きの求人ソースの地図に変える——不透明なスクレイピング結果の山ではない。

Oriole は、オープンな中国全国規模の求人ソースインテリジェンスエージェントです。公開されている採用情報の発信元を発見し、そのエンドポイントを検証し、収集前に人間の承認を要求し、実際の勤務地に基づいて求人を正規化し、その結果を16のMCPツールを通じて任意のLLMに公開します。

これは意図的に、単一のウェブサイトではなくエンジンとして構築されています。CLIから実行したり、深夜にスケジュールしたり、決定的なコアを別のNode.jsサービスに埋め込んだり、MCP対応モデルに資格情報を渡さずに接続したりできます。

実装されている機能

機能

実装

全国地理

決定的な2レベル中国分類:34の省級地域と365の地級市/省直轄エントリ

勤務地分類

求人の記載勤務地を使用し、複数勤務地の求人を保持し、省/市フィルタをサポートし、外国のみの行を拒否

ソース発見

9つの監査済みシード、制限付き19雇用主ウォッチリスト、公式ディレクトリ、Baidu Search API、Common Crawl URL Index、全365の第2レベル地域タスク、および提出されたURL

安定した収集

Lever、Greenhouse、Ashby、制限付きByteDance/Feishu採用公開検索アダプタ(永続的なオフセットローテーション付き)、柔軟な公開JSON、JSON-LD、RSS/Atom、Sitemap XML、およびガード付きHTML

ソースグラフ

発行者、ソース、地域、エントリポイント、エンドポイント、発見チャネル、求人の間の証拠を持つ関係

信頼ワークフロー

candidate → probed → approved/rejected;発見とプロービングはソースを自動承認しない

証拠

実行記録、HTTPサマリー、コンテンツハッシュ、圧縮された生レスポンスアーティファクト、ソース/求人トレーサビリティ、機械可読監査

エージェントインターフェース

16のバイリンガルMCPツール(JSON-RPC 2.0 NDJSON stdio上);最新の2026-07-28に加え、レガシー2025-11-252025-06-182025-03-26のネゴシエーション

日次運用

冪等な北京日付ランナーとGitHub Actionsスケジュール(00:00 Asia/Shanghai

安全性

HTTPSのみの外部アクセス、公開アドレスDNSピニング、SSRF防御、リダイレクトとrobotsガード、時間/サイズ/行数制限、レート制限、シークレットホストピニング

Related MCP server: OpenAI-Compatible MCP Gateway

ソースモデル

発見チャネルと求人ソースには異なる役割があります:

  • Baidu は発見レーダーです。設定されている場合、Oriole はBaiduの公式Qianfanエンドポイントを呼び出し、リクエストレベルの証拠を保存します。Baiduの結果ページをスクレイピングすることはありません。

  • Common Crawl は、制御されたsite:パターンに対するキーレスなアーカイブ/インデックスフォールバックです。公開URLが存在したことを検証しますが、全文検索エンジンや最終的な求人ソースとしては扱われません。

  • 公開ディレクトリ は、権威ある国家および地方の発行者をシードします。国家公共雇用、大学雇用、公共機関、中央国有企業、政府部門ディレクトリを含みます。

  • 雇用主サイト、公式ATSボード、政府雇用ページ は、長期的な収集ターゲットです。ソースは、その求人がレジストリに入る前に、安全性プロービングと人間のレビューを通過する必要があります。

  • ユーザー提出 により、別のエージェントやオペレーターが公開URLを提案できますが、同じプローブとレビューのゲートを維持します。

9つの事前承認済みソースシードを収集したり、バンドルされた公式カタログから候補を発見したりするために、Baiduキーは必要ありません。プロバイダーの能力はクエリタスクごとに明示されます:通常のキーワード発見はBaiduのみであり、Baiduが利用できない場合、それらのタスクはstatus.discoveryBacklogおよび発見実行統計で明示的にblockedのままになります。Common Crawl は制御されたsite:タスクにのみ適格であり、ブロックされた作業が完了としてカウントされることはありません。

公開リポジトリにはゼロの求人レコードが含まれています。npm run init は、9つの明示的に監査された公開ソースシード(ByteDanceを含む8つの雇用主管理ボードと1つの政府雇用ソース)をインポートするため、クリーンなクローンには、古いまたは非公開の求人スナップショットを公開することなく、機能的な収集ターゲットがあります。これは検索結果の自動承認ではありません:シードマニフェスト自体がレビュー済みの信頼決定であり、新しく発見されたすべてのソースは依然としてプローブと承認を必要とします。

カバレッジは測定可能なギャップレポートであり、全国の求人捕捉の完全な主張ではありません。19雇用主ウォッチリストでは、ByteDance が唯一のレビュー済みブートストラップターゲットです。他の18の雇用主ルートは未承認の候補として始まり、プローブ、検証、承認されるまで求人を生成できません。

ByteDance/Feishu の収集は、ソース呼び出しごとに50ページ、5,000上流行、24 MBに制限されています。1回の呼び出しで末尾に到達できない場合、コミットされた実行はsource.collection.resumeの下にフィンガープリントされ、世代チェックされたカーソルを保存します。次のセグメントは1つのヘッドページを更新し、その後、意図的な1ページのオーバーラップで末尾を続行します。求人書き込みとカーソル進行は、1つのアトミックなレジストリトランザクションを共有します。いずれかの変更の前に、レジストリはコレクターが読み取ったソースリビジョンと保存されたカーソル世代の両方を比較交換します。どちらかの競合は、求人もカーソルも書き込みません。プレビュー、失敗、または競合は保存された位置を進行させません。再開された末尾セグメントは、ローテーションサイクルを閉じる場合でもpagination.complete: falseのままです。なぜなら、変化するオフセットフィードは実行間スナップショットではなく、欠落求人のクロージャを正当化できないからです。収集実行とレジストリの証拠を別々に検査してください:npm run coverage はソース/チャネル/地域の状態を測定し、ページネーションや再開の進行状況を読み取りません。

正確なプロバイダー境界とシードカタログについては、docs/SOURCES.md を参照してください。

クイックスタート

要件:Node.js 22.13+。Oriole にはランタイム依存関係がなく、事前承認済みソースの初期化や収集、公式カタログからの発見、制御されたCommon Crawl site:タスクの実行にシークレットは必要ありません。

git clone https://github.com/gaofeibilly-maker/oriole-job-engine.git
cd oriole-job-engine
npm test
npm run init
npm run status
npm run coverage
npm run regions -- --province-code 420000

init の後、status は9つの承認済みソースと0のバンドル求人を示すはずです。求人は実際のコミットされた収集後にのみ表示されます。

ByteDance の現在の公開求人のプレビューのみで証拠を生成するチェック(Baiduキー不要)には、npm run live-source-check を実行してください。これは公式の応募URLを検証し、生のレスポンスや求人説明ではなく、コンパクトなサマリーを出力します。プレビューは該当するウィンドウを読み取りますが、求人をコミットしたり、保存された再開カーソルを進行させたりしません。対応するGitHubワークフローは手動で実行するか、プルリクエストにlive-source-auditラベルを付けることで実行できます。

資格情報なしでバンドルされた公式カタログを発見:

node scripts/huangque/cli.mjs discover \
  --providers official_catalog \
  --force

node scripts/huangque/cli.mjs sources
node scripts/huangque/cli.mjs graph

発見は候補を作成しますが、サイレントに収集ターゲットに変えることはありません。候補をプローブし、その証拠と現在のレジストリリビジョンを検査し、明示的に承認します:

node scripts/huangque/cli.mjs probe --source <source-id>

node scripts/huangque/cli.mjs review \
  --source <source-id> \
  --decision approve \
  --reviewer <operator-name> \
  --reason "Official public recruitment source verified" \
  --revision <current-revision> \
  --confirm

node scripts/huangque/cli.mjs collect --source <source-id> --commit
node scripts/huangque/cli.mjs jobs --province-code 420000 --city-code 420100

すべての状態はデフォルトでローカルです:

  • .huangque/state.json — アトミックなポータブルレジストリ;

  • .huangque/artifacts/ — コンテンツアドレス指定された圧縮証拠;

  • .huangque/latest-audit.json — 最新の機械可読自己監査。

これらのパスはGitによって無視され、環境変数で再配置できます。

任意のLLMをMCPで接続

stdioサーバーを起動:

npm run mcp

MCPクライアント設定の例:

{
  "mcpServers": {
    "oriole": {
      "command": "node",
      "args": ["/absolute/path/oriole-job-engine/scripts/huangque/mcp-server.mjs"],
      "env": {
        "HUANGQUE_REGISTRY_PATH": "/absolute/path/oriole-data/state.json",
        "HUANGQUE_ARTIFACT_ROOT": "/absolute/path/oriole-data/artifacts"
      }
    }
  }
}

サーバーは、パイプライン実行、実行ルックアップ、ステータス、測定可能なソースカバレッジギャップ、発見、公開ソース提出、プロービング、ソース一覧、求人一覧、地域一覧、グラフ読み取り、人間レビュー、収集、期限付き作業、監査、ポータブルプロジェクションエクスポートのためのツールを公開します。

huangque.list_regions は、省レベル、省のみレベル、および各第2レベル都市で一意の求人集計を報告します。1つの省の2つの都市で明示的に提供される求人は、省合計で1回、該当する各都市で1回カウントされます。

MCPによるソース承認はデフォルトで無効です。オペレーターは意図的にHUANGQUE_ALLOW_MCP_REVIEW=1を設定する必要があります。CLI承認は、そのサーバー側の境界を弱めることなく利用可能です。

オプションのBaidu発見

サンプル設定をコピーし、キーをローカルまたはGitHub Actionsシークレットとして設定してください。決してコミットしないでください。

cp .env.example .env
export HUANGQUE_BAIDU_API_KEY="<your-key>"
node scripts/huangque/cli.mjs discover --providers baidu --max-queries 5

キーはqianfan.baidubce.comにのみ送信されます。他のホスト上のカスタムエンドポイントは拒否されます。デフォルトの日次予算は40リクエストで、HUANGQUE_BAIDU_DAILY_BUDGETで下げることができます。

Baiduを未設定のままにしても、承認済みソースの収集は停止しません。通常のキーワードベースのアクティブ発見タスクが明示的にブロックされるだけです。キーレスなCommon Crawl は、クエリプランの制御されたsite:タスクを引き続き処理します。

公式リファレンス:Baidu Qianfan AI Search API

毎日深夜の全国更新

バンドルされたワークフローは16:00 UTC(次の現地暦日の00:00 Asia/Shanghai)に実行されます:

npm run daily

ランナーは北京日付の完了マーカーを書き込むため、--forceが指定されない限り、再試行は同じ日の実行を複製しません。GitHubスケジュールは数分遅れることがあります。ローカルマーカーがビジネス日付を制御し、キュー時間ではありません。docs/SCHEDULING.md を参照してください。

ソースグラフ、単なるリストではない

各グラフエッジは証拠と観測タイムスタンプを持ちます。コア関係は:

publisher ← published_by — source — covers_region → region
                            │
                            ├─ has_entry_point → public page
                            ├─ has_endpoint → collection endpoint
                            ├─ discovered_via → provider/query/run evidence
                            └─ lists_job → normalized job

発行者と地域のエッジは、最新の権威ある承認済みソース証拠に従います:監査済みソースのアイデンティティが変更されると、時代遅れのpublished_byおよびcovers_region関係は、誤解を招く歴史的事実として残るのではなく、剪定されます。

ここでの「完全なグラフ」とは、登録されたすべてのソースがその証拠によってサポートされる関係で表現され、すべての関係が監査可能であることを意味します。有限のカタログがすでに中国のすべての雇用主やすべての公開求人を含むことを意味するわけではありません。Oriole はそのグラフを継続的に拡張し再検証するように設計されています。

信頼する前に検証

npm run verify
npm run audit

テストスイートは、正規化、全国地域、複数勤務地の処理、プロバイダー、制限付き大規模フィードローテーション、カーソルの原子性/並行性、グラフ証拠、レジストリ保持、MCPライフサイクル、SSRF制御、robots処理、ソース所有権、求人アイデンティティをテストします。ランタイム監査は、外部プロバイダーと公開されたGitHubスケジュールが現在のレジストリに実際の成功した実行証拠を持っているかどうかを別途報告します。フィクスチャと手動の日次実行は、ライブプロバイダーまたはGitHub Actionsの成功としてカウントされません。

docs/VERIFY.md の再現可能なチェックリストに従ってください。

境界

Oriole は公開された非ログインのウェブソースを処理します。プライベートなWeChatグループ、画像OCR、メール受信トレイ、CAPTCHA/ログインのみのページ、その他のプライベートチャネルを意図的に除外します。求人に応募したり、雇用決定を行ったりしません。公開ウェブアクセスは、サイトの利用規約、robotsポリシー、データベース権利、プライバシー義務、または適用される法律を放棄するものではありません。デプロイヤーはソース固有のコンプライアンスに責任があります。

プロジェクトレイアウト

data/huangque/              verified public seeds, national query plan, and public catalog
scripts/huangque/           CLI, daily runner, MCP server, deterministic core
tests/                      Node test suite
docs/                       architecture, sources, schedule, verification
.github/workflows/          CI and Beijing-midnight daily update

Apache-2.0 に基づく貢献を歓迎します。CONTRIBUTING.md をお読みいただき、セキュリティの問題は SECURITY.md から報告してください。

Install Server
A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that exposes 108+ omega-cli OSINT tools for reconnaissance, web analysis, threat intelligence, and reporting, enabling AI assistants to perform comprehensive open-source intelligence tasks.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    A custom MCP server with 6 utility tools (file search, file reading, math calculation, JSON formatting, time query, system info) that demonstrates MCP protocol workflow and integrates with LangChain agents.

View all related MCP servers

Related MCP Connectors

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.

  • MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gaofeibilly-maker/oriole-job-engine'

If you have feedback or need assistance with the MCP directory API, please join our Discord server