TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
AIとの対話で、なりたい姿を明日の一歩に変える。目標設定と自己分析のためのプロトタイプ。
Translation pending
ProductivityTypeScript · JavaScriptGitHub @koukaku3225OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
AIとの対話で、抽象的な「なりたい姿」を、意味づけされた1つの目標と、明日実行する 1つの具体的タスクに変換する。 仕様の全文は docs/mvp-spec.md、図解版は docs/spec-overview.html。 H1が偽なら、記録・振り返り・リマインダーを作る意味がない。このプロトタイプは H1の検証装置であり、取捨選択はすべてそこから逆算している。 APIキーはサーバー側(API Routes)でのみ使う。NEXT_PUBLIC_ 接頭辞は付けないこと。 /metrics はテスト参加者には案内しない。 フェーズ2・3がこのアプリの価値の中心。4・5は本来フォームでも書ける内容で、 AIでなければできないのは「なぜを掘って動機を言い換える」ところだけ。 待ち時間をこの2フェーズに限定するのも同じ理由(事務的なフェーズで待たせると 苛立ちしか生まない)。 対話生成と同じ API 呼び出しで判定する(追加コストなし)。モデルは応答末尾に >> を出し、クライアント側で剥がす。加えて: 呼び出し回数が多いところを最安に、失敗コストが高いところに上位モデルを払う。 1セッション約 $0.14(20〜25円)。対話品質が足りなければ、フェーズ2・3だけ claude-sonnet-5 に上げる。最初から上位モデルを敷くと、どこに効いているのか 分からなくなる。Read the full README ↗
AIとの対話で、抽象的な「なりたい姿」を、意味づけされた1つの目標と、明日実行する 1つの具体的タスクに変換する。
仕様の全文は docs/mvp-spec.md、図解版は
docs/spec-overview.html。
| # | 仮説 |
|---|---|
| H1 | AIとの構造化対話は、自力でワークシートを埋めるより深い目標設定ができる |
| H2 | 「なぜ」を掘る対話は、外発的・回避的な動機を内発的動機に変換できる |
| H3 | 疑似人格への「約束」は、翌日の実行率を上げる |
| H4 | 意図的な待ち時間はユーザーの回答の質を上げる |
H1が偽なら、記録・振り返り・リマインダーを作る意味がない。このプロトタイプは H1の検証装置であり、取捨選択はすべてそこから逆算している。
npm install
echo "ANTHROPIC_API_KEY=sk-ant-..." > .env.local
npm run dev
APIキーはサーバー側(API Routes)でのみ使う。NEXT_PUBLIC_ 接頭辞は付けないこと。
| ルート | 役割 |
|---|---|
/ | ランディング。所要時間の明示とコーチ選択 |
/session | 5フェーズの対話。中断すると次回「続きから」で再開できる |
/card | 対話から生成した目標カード。全項目インライン編集可 |
/home | 目標と「明日やること」。Markdown / JSON エクスポート |
/metrics | 検証用の内部画面。 M1〜M7 の計測とバリアント固定 |
/metrics はテスト参加者には案内しない。
| # | フェーズ | ゴール | 待ち時間 |
|---|---|---|---|
| 1 | diverge | 「なりたい姿」を自由に語らせる。要約も評価もしない | — |
| 2 | meaning | 「なぜ大事か」を表現を変えて3回問う | 60秒ロック |
| 3 | reframe | 外発的・回避的な動機を検出し、言い換えを一緒に作る | 60秒ロック |
| 4 | smart | 何を / どれくらい / いつまでに / どうやって | — |
| 5 | woop_wbs | つまずく状況 → If-Thenプラン → 明日の1タスク → 約束 | — |
フェーズ2・3がこのアプリの価値の中心。4・5は本来フォームでも書ける内容で、 AIでなければできないのは「なぜを掘って動機を言い換える」ところだけ。 待ち時間をこの2フェーズに限定するのも同じ理由(事務的なフェーズで待たせると 苛立ちしか生まない)。
対話生成と同じ API 呼び出しで判定する(追加コストなし)。モデルは応答末尾に
<<<PHASE:meaning>>> を出し、クライアント側で剥がす。加えて:
meaning を飛ばされると価値が消えるため)呼び出し回数が多いところを最安に、失敗コストが高いところに上位モデルを払う。
| 用途 | モデル | 回数 / セッション |
|---|---|---|
| 対話の各ターン | claude-haiku-4-5 | 18〜31 |
| 構造化抽出・プロフィール抽出 | claude-sonnet-5 | 2 |
1セッション約 $0.14(20〜25円)。対話品質が足りなければ、フェーズ2・3だけ
claude-sonnet-5 に上げる。最初から上位モデルを敷くと、どこに効いているのか
分からなくなる。
抽出プロンプトの最重要制約: ユーザーが言っていないことを補完せず、不足項目は
null にする。AIが勝手に立派な目標を作ると、ユーザーが「自分の目標」だと感じられ
なくなり、H1の検証そのものが汚染される。
対話ログ ──> 構造化抽出 ──┬──> GoalCard (ユーザーに見せる・編集できる)
└──> UserProfile (見せない・裏で蓄積する)
│
└─> 次回のシステムプロンプトに載る
独立した自己分析モードは作らない。診断を先にやらせると目標に辿り着く前に離脱する
ため、対話の中で価値観・生活パターン・過去の挫折を聞き出し、副産物として
UserProfile に溜める。対話するほど2回目以降の質が上がる。
/metrics で確認し、JSON で書き出せる。
| # | 指標 | 目安 |
|---|---|---|
| M1 | 対話完走率 | 60%以上 |
| M2 | 離脱フェーズ分布 | 特定フェーズに集中していないか |
| M3 | フェーズ2の滞在時間 | 8分以上 |
| M4 | フェーズ2の回答文字数 | 待ち時間あり > なし |
| M5 | 目標カードの編集箇所 | 編集率50%超の項目は抽出プロンプトを要改善 |
| M6 | 動機タイプの変換率 | 50%以上 |
| M7 | 翌日タスク実行率 | 約束あり > なし |
M7が最重要。翌日の追跡には再訪が必要なので、参加者には事前に「明日もう一度開いて ください」と伝える運用にする。
A/Bバリアント(commitmentStep / deliberateDelay)は初回訪問時にランダムに
割り当てて固定する。/metrics から手動で固定もできる。
src/
├── app/
│ ├── page.tsx S1 ランディング
│ ├── session/page.tsx S2 対話
│ ├── card/page.tsx S3 目標カード
│ ├── home/page.tsx S4 ホーム
│ ├── metrics/page.tsx 計測(内部用)
│ └── api/
│ ├── chat/route.ts SSEストリーミング対話
│ └── structure/route.ts 構造化抽出(Zod + messages.parse)
├── components/ ChatBubble / Composer / DelayLock / PhaseProgress /
│ EditableField
├── hooks/useConversation.ts ストリーミング受信・フェーズ遷移・ロック判定
├── lib/
│ ├── anthropic.ts クライアントとモデル定数
│ ├── phase-machine.ts 制御トークン抽出とフェーズ遷移
│ ├── prompts/ principles / coaches / phases / extraction
│ ├── storage.ts localStorage(セッション・カード・プロフィール・
│ │ アーカイブ)
│ ├── metrics.ts M1〜M7 の集計
│ └── export.ts Markdown / JSON 出力
└── types/goal.ts GoalCard / UserProfile / Session
日々の記録、週次振り返り、複数目標の優先順位づけ、プッシュ通知、ウィジェット、 Notion連携、目標の依存関係グラフ、音声入力、ユーザー認証。すべてH1の検証後に 判断する。
next/font は日本語サブセットの
ビルド時取得に失敗するため)