Skip to main content
JGJenks Guo

ドキュメント / explanation

アーキテクチャ

jenksguo.xyz がどのように構成されているか — git 上の単一コーパス、検証付きコンパイラ、Cloudflare 上の静的サイト、ツールを使うアシスタント、そして MCP・REST・CLI を支える単一の仕様です。

要約

唯一の信頼できる情報源は git 内の Markdown ファイルのコーパスです。それ以外のすべてはそのコーパスから生成されるか、そこから読み取りを行います。7 言語のウェブサイト、エージェント用ファイル、Ask Jenks アシスタント、REST API、MCP サーバー、そして CLI が該当します。

コーパス

content/corpus/ には、経験、プロジェクト、コミュニティでの役割、学歴の各エントリにつき 1 つの Markdown ファイルが収められており、各ファイルには YAML フロントマター(日付、タグ、ロールレンズ、主要成果、スキル、証拠リンク)と長文本文があります。これらと並んで、コアプロフィール、ケイパビリティ、資格情報、講演、世界観、ロールレンズ、アシスタントのスキルが置かれています。事実関係は Jenks の履歴書、LinkedIn、Linktree、スピーカーページから集約し、矛盾は慎重に解消しました。

コーパスを git に置くことで、すべての変更はコミットになります。レビュー可能で、責任の所在が明確で、元に戻せます。

コンパイラ

scripts/build-corpus.mjs はコーパスを読み込み、単一のスキーマ(scripts/corpus-schema.mjs)に対してすべてのファイルを検証し、単一の JSON コーパスとエージェント用ファイル /llms-full.txt と /experience.json にコンパイルします。不明なタグやレンズ、不正な日付、画像の欠落、セクションの欠落があるとビルドは停止します。管理者向け API もコミットの前に同じ検証を実行します。そのため、人間や AI による不正な編集であっても、何かを壊す前に拒否されます。

ウェブサイト

サイトは Next.js の静的エクスポートで、Cloudflare Workers Static Assets によって配信されます。手前に置かれた小さな Worker がリダイレクト(jenksguo.com と www ホスト → jenksguo.xyz)、セキュリティヘッダー、API を処理します。英語は /、他の 6 言語は /zh、/zh-hant、/ja、/fr、/es、/eo にあります。すべてのエントリは各言語で個別のページを持ちます。

Ask Jenks アシスタント

このアシスタントは長大なプロンプトではなく、ツールを使うエージェントです。システムプロンプトには、コアプロフィールと、すべてのエントリ・レンズ・スキルの 1 行インデックスのみが含まれます。詳細が必要になった場合はツールを呼び出します。

  • load_skill — 質問の種類(ロール適合、コンサルティングのスコーピング、AI トランスフォーメーション、STAR ストーリー、ガバナンス、キャリアナビゲーション など)に対するプレイブック、
  • get_entries — スラッグで全文書を取得、
  • list_entries — タグ、レンズ、種別でのフィルタリング、
  • search_corpus — キーワード検索。

この「段階的開示」により、大きなプロンプトなしでコーパス全体に根ざした回答を維持します。モデルは OpenRouter 経由で利用します。

1 つの仕様、4 つのサーフェス

src/spec.js は、すべての公開ツールと管理ツールを一度だけ定義します。名前、説明、入力スキーマ、REST ルート、CLI コマンドを含みます。ここから次のものが生成されます。

  • リモート MCP サーバー(/mcp、/mcp/admin)、
  • REST API(/api/v1/*、/api/admin/*)、
  • jenks CLI とそのローカル MCP モード(jenks mcp)、
  • リファレンスドキュメント と /openapi.json。

ツールを 1 か所で変更すれば、すべてのサーフェスが追従します。したがって、ドキュメントが挙動から乖離することはありません。

公開パイプライン

管理者による編集は、GitHub API を通じて行われるコミットです。各プッシュで CI が実行されます。

  1. コーパスをコンパイルして検証します。
  2. 変更されたエントリのみを、他の 6 言語に再翻訳します(翻訳は英語ソースのハッシュでキャッシュされます。固定の用語集で見出しとレンズ名を定義します)。
  3. サイトとエージェントファイルをビルドします。
  4. デプロイします — main は https://jenksguo.xyz、dev は https://dev.jenksguo.xyz(インデックスしません)。

macOS、Linux、Windows 向けの CLI バイナリは /downloads 配下で公開します。

この形にしている理由

個人サイトは小規模ですが、人間、検索エンジン、そして今やエージェントにも読まれ、複数言語に対応し、AI による編集も手作業と同程度に行われます。単一の検証済みソースと生成されたサーフェスという構成は、これらすべての一貫性を保つうえで最もシンプルな設計です。

.mdこのページはAIの支援で翻訳されています。正式な肩書は英語のままです。