Skip to content

About

パワポ作るマン

Resources

Stars

124 stars

Watchers

0 watching

Forks

Latest commit

 

History

567 Commits

Folders and files

Repository files navigation

パワポ作るマン by みのるん

新規アカウント作成すれば、誰でも使えます!

※1日50名を超えるとエラーになります。その際は翌日までお待ちください🙏

pawapo.minoruonda.com

スライド生成中のチャット画面 生成したスライドのプレビュー画面

できること

  • 作りたい内容を伝えると、AIがMarp形式のスライドを書き起こします
  • テーマは4種類(beam / border / gradient / speee)から選べます
  • 生成しながら文字のはみ出しを検査して、あふれたスライドを自動で作り直します
  • PDF・PPTX・編集可能なPPTXで書き出せます
  • 共有URLを発行して、スライドをそのまま人に見せられます
  • 必要に応じてWeb検索し、内容の裏取りをしたうえで書きます
  • できあがったスライドを紹介するX(旧Twitter)の投稿文を作れます

アーキテクチャ

公開中のアプリは、CloudFront から画面を配信し、ブラウザが Amazon Bedrock AgentCore Runtime へ直接つながる構成です。標準モデルは Grok 4.6(Bedrock Mantle 経由)です。維持費の中心は Bedrock の推論料金です。インフラは AWS CDK を CDKD でデプロイします。

構成の解説は 新基盤のアーキテクチャ にあります。

Amplify Gen2 の自己ホスト手順は legacy/amplify ブランチに残しています。

アーキテクチャ図

デプロイ手順

自分のAWS環境に載せる場合の手順です。このリポジトリのデフォルト設定は作者の公開アプリ向けなので、ドメインなどの CDK context は自分の環境に合わせてください。

前提条件

  • ARMアーキテクチャのPC(MacBookなど)
  • Node.js 20.19以上(Vite 7 の要求バージョン)
  • Docker Desktop(起動しておく)
  • AWSアカウント(リージョンはバージニア北部 us-east-1)
    • Bedrockプレイグラウンドから利用するモデルのユースケース送信をしておく
  • 自分で管理しているドメイン(CloudFront の配信に使います)
  • Tavily APIキー(無料、Web検索機能に必要)

1. セットアップ

git clone https://github.com/minorun365/marp-agent.git
cd marp-agent
npm install

2. CDK context を自分の環境に合わせる

cdk.json の context にある appDomain を、アプリを公開する自分のドメインへ書き換えます。新規に構築するなら、必要なのはこの1つだけです。予算アラートやGoogleログインなど任意の項目は デプロイの詳細 にまとめています。

3. デプロイ

npm run infra:bootstrap   # そのAWSアカウントで初回のみ
npm run infra:synth
npm run infra:diff
npm run infra:dry-run
npm run infra:deploy

infra:diff で、触っていないスタックが No changes のままかを確かめてから infra:deploy を実行してください。

デプロイ後、レジストラ側のネームサーバーを作成されたホストゾーンへ向けると、証明書が発行されます(デプロイの詳細)。

4. APIキーを入れる

シークレットの入れ物は PawapoFoundation が作るので、デプロイ後に値を入れます。

aws secretsmanager put-secret-value --secret-id pawapo/tavily-api-keys --secret-string 'tvly-xxxxx,tvly-yyyyy'

カンマ区切りで複数キーを指定すると、レートリミット時に自動フォールバックします。

Googleログインを使う場合は、クライアントシークレットも入れます。

aws secretsmanager put-secret-value --secret-id pawapo/google-oauth-client-secret --secret-string 'GOCSPX-xxxxx'

ローカル開発

aws sso login --profile <SSOプロファイル>
npm run dev:ui     # メイン画面だけ(AWS不要、モックで動きます)
npm run dev        # Cognito と AgentCore ローカル
npm run dev:full   # CloudFront 相当の配信経路まで含めた確認

ローカルのエージェントは、環境変数の TAVILY_API_KEYS があればそちらを優先して使います。プロジェクトルートに .env を置いてください。

TAVILY_API_KEYS=tvly-xxxxx,tvly-yyyyy

Amplify Console で動かしたい場合は legacy/amplify ブランチを使います。

参考ブログ

About

パワポ作るマン

Resources

Stars

124 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages