🕓 2026-04-14 の記事、2026-05-09 更新。 TS / Python / PHP SDK は公開レジストリで配布されています -
@astroway/sdk(npm)、astroway(PyPI)、astroway/sdk(Packagist)。詳細は changelog を参照してください。
Human Design は 1990 年代のニッチな秘教的システムから、自己成長のための主流のフレームワークへと成長しました。数百万人のユーザーを持つアプリがそれを一般的なものにし、開発者は「Human Design のチャートをプログラムでどう計算するのか」と問い始めています。
この記事では技術的な側面を扱います。HD の計算とは何か、どの API がそれをサポートしているか、そして HD の機能を自分のアプリにどう組み込むかです。
技術的に見た Human Design
Section titled “技術的に見た Human Design”Human Design は 3 つの古典的なシステムの上に成り立っています。
- 西洋占星術: 出生時の惑星の位置
- 易経 (I Ching): 64 の卦を 64 の “ゲート” に対応付けたもの
- チャクラシステム: 9 つの “センター” (エネルギーの結節点)
計算は出生データを受け取り、bodygraph という視覚的なチャートを出力します。その内容は次のとおりです。
- Type (Manifestor、Generator、Manifesting Generator、Projector、Reflector): エネルギーのシグネチャ
- Strategy: 意思決定の仕方
- Authority: 決断の際に信頼すべきセンター (Sacral、Emotional、Splenic など)
- Profile: ラインの組み合わせ (1/3、4/6 など)
- Channels: センター同士のつながりで、人格を形づくるもの
- Incarnation Cross: 人生の目的。4 つの主要な位置から導かれます
内部的には、64 のゲートそれぞれが黄経の一定の範囲に対応しています。出生時の惑星の黄経が特定のゲート (とその中のライン) に対応付けられます。“Design” の計算は、太陽が出生時の位置から 88° 手前にあった時点、つまりおよそ 3 か月前を求めるものです。
2 つのチャート: Personality と Design
Section titled “2 つのチャート: Personality と Design”Human Design は 2 つの時点を使います。
- Personality: 実際の出生時刻。“意識的” な側面です。
- Design: 太陽が出生時の位置から 88° 手前にあった時点。“無意識的” な側面です。
ゲートの各アクティベーションはどちらか一方に属します。完全なチャートには 13 + 13 = 26 のアクティベーションがあります。
これが HD の計算を通常の占星術チャートより重くしている理由です。実質的に 2 枚のチャートを計算することになります。
Human Design に対応した API
Section titled “Human Design に対応した API”ほとんどの占星術 API は HD にまったく対応していないか、対応していても表面的です (type と strategy のみ)。HD を完全に実装するには次のものが必要です。
- 64 ゲートの対応表 (lookup table)
- ゲートごとに 6 ライン (384 セル)
- defined/open のロジックを持つ 9 つのセンター
- 36 のチャネル (それぞれが 2 つのセンターをつなぐ)
- Incarnation Cross の計算
- 太陽のゲートのラインと地球のゲートのライン (Personality と Design) からの Profile の導出
これらすべてに対応した API は非常にまれです。AstroWay API には 12 の HD エンドポイントがあり、私たちが商用 API で見た中で最も深いカバレッジです。
AstroWay の 12 の HD エンドポイント
Section titled “AstroWay の 12 の HD エンドポイント”| エンドポイント | クレジット | 返す内容 |
|---|---|---|
/v1/human-design | 50 | 完全な HD チャート |
/v1/human-design/transits | 50 | 指定日の HD トランジット |
/v1/human-design/compatibility | 100 | 2 つの HD チャートの相性 |
/v1/hd/incarnation-cross | 50 | Incarnation Cross |
/v1/hd/dream-rave | 50 | Dream Rave チャート |
/v1/hd/hologenetic | 50 | Hologenetic Profile |
/v1/hd/sensitivity | 50 | 時刻に対する感度の分析 |
/v1/hd/circuitry | 20 | サーキットの分析 |
/v1/hd/penta | 100 | Penta: 3〜5 人のグループダイナミクス |
/v1/hd/group-overlay | 100 | Group overlay |
/v1/hd/design-date | 10 | Design 日時の計算 |
/v1/hd/rave-new-years | 10 | Rave New Year の日付 |
HD 機能の追加方法
Section titled “HD 機能の追加方法”既存の占星術アプリに HD を追加する場面を想像してください。まずはメインのエンドポイントから始めます。
import { Astroway } from '@astroway/sdk';
const client = new Astroway({ apiKey: process.env.ASTROWAY_API_KEY! });
const hd = await client.humanDesign.compute({ date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.4501, longitude: 30.5234,});
console.log(`Type: ${hd.type}`); // e.g. "Generator"console.log(`Strategy: ${hd.strategy}`); // e.g. "To Respond"console.log(`Authority: ${hd.authority}`); // e.g. "Sacral"console.log(`Profile: ${hd.profile.profile}`); // e.g. "1/3"console.log(`Defined channels: ${hd.channels.length}`);レスポンスの形:
{ "type": "Generator", "strategy": "To Respond", "notSelfTheme": "Frustration", "authority": "Sacral", "profile": "1/3", "definition": "single", "cross": { "name": "Right Angle Cross of the Sphinx", "quarter": "Civilization", "gates": [1, 2, 7, 13] }, "centers": [ { "name": "Sacral", "defined": true }, ... ], "channels": [ { "gate1": 34, "gate2": 20, "name": "Channel of Charisma", "type": "Generated" } ], "personalityActivations": [...], "designActivations": [...]}Penta によるグループダイナミクス
Section titled “Penta によるグループダイナミクス”Penta は 3〜5 人のグループでチームのダイナミクスを理解するための手法です。珍しい機能で、ほとんどの HD 計算ツールは提供していません。しかし HR テック、コーチングプラットフォーム、チームビルディングアプリにとっては宝の山です。
const penta = await client.hd.penta({ inputs: [ { date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.45, longitude: 30.52 }, { date: '1988-03-10', time: '08:15:00', timezoneOffset: 2, latitude: 48.85, longitude: 2.35 }, { date: '1985-11-22', time: '18:00:00', timezoneOffset: -5, latitude: 40.71, longitude: -74.00 }, ],});
console.log(`Members: ${penta.memberCount}`);console.log(`Channels in the group: ${penta.channels.length}`);Sensitivity: 精度のために欠かせない
Section titled “Sensitivity: 精度のために欠かせない”HD チャートは出生時刻に敏感です。10 分の誤差で Profile が変わることがあります (例: 1/3 → 1/4)。正確な出生時刻を知らないユーザーには sensitivity 分析を実行しましょう。
const sensitivity = await client.hd.sensitivity({ date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.4501, longitude: 30.5234,});
// sensitivity tells you which fields change if time shifts ±5/15/30 minこれを使ってユーザーに警告できます: “この精度では profile がずれる可能性があります。レクティファイ (出生時刻の修正) を検討してください”。
HD アプリの料金
Section titled “HD アプリの料金”HD を中心としたアプリを作る場合:
- 基本的なユーザー: 登録時に HD チャート 1 枚、永久にキャッシュ = 一度きりの 50 クレジット
- アクティブなユーザー: 定期的なトランジット + compatibility = 月あたり約 200 クレジット
- HD を適度に使う DAU 100 人: 月あたり約 110 000 クレジット → Starter ($19/月) で余裕をもってカバー
- DAU 1 000 人: 月あたり約 150 000 クレジット → Pro ($59/月)
最も重いのは compatibility のリクエストです (100 クレジット)。ユーザーのペアごとの結果は変わらないので、永久にキャッシュしてください。
bodygraph の描画は伝統的に SVG で行います。API はセンターとチャネルのデータを返し、見た目の描画はあなたが担当します。例:
function Bodygraph({ hd }: { hd: HDChart }) { return ( <svg viewBox="0 0 400 600"> {hd.centers.map(c => ( <polygon key={c.name} points={CENTER_COORDS[c.name]} fill={c.defined ? CENTER_COLORS[c.name] : 'white'} stroke="black" /> ))} {hd.channels.map(ch => ( <line key={`${ch.gate1}-${ch.gate2}`} x1={GATE_COORDS[ch.gate1].x} y1={GATE_COORDS[ch.gate1].y} x2={GATE_COORDS[ch.gate2].x} y2={GATE_COORDS[ch.gate2].y} stroke="#d4a84c" strokeWidth="3" /> ))} </svg> );}座標は固定のテンプレートです (どの bodygraph も同じ 9 つのセンターと 64 のゲートが同じ位置にあります)。
HD 機能の構築を始める
Section titled “HD 機能の構築を始める”- Human Design API: エンドポイントの全一覧を載せた製品ページ
- 例: Human Design:
/v1/human-designの詳しいウォークスルー - クイックスタート: 無料の API キーを取得 (Free プランで月 200 枚までの HD チャート)