以下の文章は Claude Code が作成したものです。
CLAUDE_md for Speak-Memo
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
プロジェクト概要
Speak-Memoは音声入力をリアルタイムで整形・要約するウェブアプリケーションです。
主な機能(v2.0)
- 音声入力(生データ) - macOSの音声入力をそのまま表示(speak-memoは触らない)
- 誤字修正版 - speak-memoが誤字脱字を修正したテキスト
- 話題・要点 - リアルタイムで話題や要点を抽出
- 完成原稿 - 論理的に整理された文章を生成
技術スタック
- フロントエンド:バニラJavaScript
- バックエンド:Node.js(サーバー)
- AI処理:OpenAI API(誤字脱字修正、要約、文章整理)
- 個人辞書:corpus/mm/ディレクトリのテキストファイルから生成
コマンド
サーバー起動
# 環境変数OPENAI_API_KEYが必要
node server.js
個人辞書の更新
# corpus/mm/にテキストファイルを配置後
node analyze-corpus.js
辞書への単語追加
node update-dictionary.js
アーキテクチャ
ファイル構成
index.html
- メインのHTMLファイル(4つの表示エリア)style.css
- スタイルシートapp.js
- フロントエンドのJavaScript(v2.0)server.js
- Node.jsサーバー(OpenAI APIプロキシ、個人辞書適用)personal-dictionary.json
- 個人辞書データanalyze-corpus.js
- コーパスから辞書を生成update-dictionary.js
- 辞書に誤変換パターンを追加
データフロー
- ユーザーが音声入力エリアにテキストを入力
- 1秒のデバウンス後、自動的に処理開始
- 3つの処理が並列実行:
- 誤字脱字修正(個人辞書適用)
- 話題・要点抽出
- 完成原稿生成
- 各エリアがリアルタイムで更新
個人辞書の仕組み
corpus/mm/
ディレクトリ内のテキストファイルを解析- 頻出単語(ChatGPT、Claude、結城など)を抽出
- 誤変換パターン(蔵人→Claude、結木→結城など)を定義
- OpenAI APIコール時に参考情報として使用
バージョン履歴
- v1.0 - 基本的な3エリア版(音声入力、話題・要点、完成原稿)
- v1.1 - 個人辞書機能を追加
- v1.2 - 個人辞書のバグ修正(プロンプトが表示される問題)
- v2.0 - 4エリア版に拡張(音声入力の競合問題を解決)
注意事項
- 音声入力エリア(生データ)はspeak-memoが変更しない
- 誤字修正は個人辞書を優先的に適用
- OpenAI APIキーは環境変数で管理
- バージョン更新時は必ずバージョン番号を変更する
(2025年6月11日)