ブラウザから直接 AI を呼ばない理由
AI サービス(OpenAI、Anthropic など)は API キー が必要——あなたを識別し、課金に使う秘密コード。問題は:
ブラウザの JavaScript に入れたものは誰でも読める(F12 → ソース)。キーがそこにあったら、誰でもあなたのお金で AI を呼べる。
マスターで知った解決策:自分のサーバー。キーはサーバーに、ブラウザはサーバーだけと話す:
Browser → your server (the key is here!) → AI service
Browser ← your server ← AI service
見てみよう:/zeptat-se エンドポイント
マスターの Express サーバーをベースに。キーは .env ファイル(絶対 GitHub に載せない——.gitignore に!):
AI_KLIC=sk-your-secret-key-here
サーバーに新エンドポイント:
require('dotenv').config();
const express = require('express');
const app = express();
app.use(express.json());
app.use(express.static('public'));
app.post('/zeptat-se', async (req, res) => {
const { otazka } = req.body;
const odpoved = await fetch('https://api.openai.com/v1/chat/completions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${process.env.AI_KLIC}`,
},
body: JSON.stringify({
model: 'gpt-4o-mini',
messages: [
{ role: 'system', content: 'You are a friendly helper. Answer briefly in English.' },
{ role: 'user', content: otazka },
],
}),
});
const data = await odpoved.json();
res.json({ text: data.choices[0].message.content });
});
app.listen(3000, () => console.log('Server running at http://localhost:3000'));
新しいもの:
fetchも 送れる:method: 'POST'とbody。Authorization付きheaders——キーを提示。role: 'system'——前レッスンのプロンプト! AI の振る舞いを定義。process.env.AI_KLIC——.envから読む、コードに書かない。
💡
キーはどこで? AI サービスは登録後に API キーを発行——通常有料(安い、1回答数セント)。保護者の仕事:キーを作って少額クレジット(数ドルで十分)。キーなしでもテスト用の返答で次へ——下の「やってみよう」参照。
やってみよう 💪
.gitignoreに.envを追加——git statusで確認(.envが出てはいけない)。- 例に従って
/zeptat-seエンドポイントを作成。 - キーがない? 問題なし——テスト返答だけ返して次のレッスンへ:
app.post('/zeptat-se', (req, res) => {
res.json({ text: `Test answer to: "${req.body.otazka}"` });
});
- ブラウザ(F12 コンソール)からエンドポイントを試す:
const r = await fetch('/zeptat-se', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ otazka: 'Hi, who are you?' }),
});
console.log(await r.json());
✅
確認: POST /zeptat-se にサーバーが応答(テストか本物の AI 回答)。秘密キーはコードにも GitHub にもない。
このレッスンのまとめ
- 秘密キーは
.envのサーバー上、ブラウザや Git には絶対載せない。 fetchは POST も——bodyでデータ、headersでキー。- システムプロンプトが AI ヘルパーの性格を形作る。
© 2026 Ing. Martin Polak / AlgoRhino · コンテンツ利用規約