Slide 1

Slide 1 text

OSEKKAI × TECHNOLOGY OSSのコンセプトを知る 〜AIがコードを読めるからこそ、根源を追う〜 Fukuoka.go #23 2026-07-21 Fusic Co.,Ltd. 清家 史郎 (@seike460)

Slide 2

Slide 2 text

自己紹介 OSEKKAI × TECHNOLOG Y 清家 史郎 (@seike460) SHIRO SEIKE 技術コミュニティ室長 / シニアエバンジェリスト ・AWS Ambassador ・2025-2026 Japan AWS Top Engineers ・AWS Community Builder Serverless — コミュニティ ・Fukuoka.go 2 ©Fusic Co., Ltd.

Slide 3

Slide 3 text

voは音声をその場で文字起こし、翻訳もできる 08:34:56 [mic] How are you doing? 元気ですか? 08:34:58 [spk] I'm fine, thanks. 元気だよ、ありがとう。 3 ©Fusic Co., Ltd.

Slide 4

Slide 4 text

雑談の中で同時通訳機が生まれた linyows: 出力をインターセプトして英語で話せたりもする?? monochromegane: pipe jq dst あるし、 で を切り出してsayに渡したらどうか k1low: vo --src ja-JP --dst en-US --no-speaker \ | jq -r --unbuffered '.dst.text // empty' \ | while read -r line; do say -v Samantha "$line"; done 4 ©Fusic Co., Ltd.

Slide 5

Slide 5 text

画面にはテキスト、パイプにはJSONを出す 出力先が かを見て自動切替 ワンライナーに は無い 出力先を で判定している // Renderer.swift TTY return isatty(fileno(stdout)) != 0 ? .tty : .jsonl --json isatty 5 ©Fusic Co., Ltd.

Slide 6

Slide 6 text

翻訳が遅れても、表示の順番は守る 抜粋) // Renderer.swift — drainCommitQueue( while let head = commitQueue.first { if let target = head.target { … // } else { break } // } 先頭の訳が来ている間だけ出力 来るまで後続も待つ 届いた順ではなく、話した順 jqやsayに繋いでも崩れない 6 ©Fusic Co., Ltd.

Slide 7

Slide 7 text

画面収録の権限を、要らなくした commit 0633fd7 (2026-06-11) feat: use a Core Audio tap for speaker capture to drop Screen Recording ScreenCaptureKit forced the Screen & System Audio Recording TCC grant even though vo only ever wanted the audio. ScreenCaptureKit をやめた 必要な許可は録音だけになった 7 ©Fusic Co., Ltd.

Slide 8

Slide 8 text

マイク許可は、ターミナルでなくvoに付く 非公開 を で解決 // Responsibility.swift API dlsym guard let symbol = dlsym(rtldDefault, "responsibility_spawnattrs_setdisclaim") else { // … guard setDisclaim(&attr, 1) == 0 else { vo 権限は 自身が引き受ける 失敗しても起動は止めない 8 ©Fusic Co., Ltd.

Slide 9

Slide 9 text

コンセプトは、文章でリポジトリに残っている vo/CLAUDE.md より No network calls. Source comments explain "why" only must never see out-of-order lines 設計の約束が明文化されている AIに毎回読ませる指示書 9 ©Fusic Co., Ltd.

Slide 10

Slide 10 text

repomixはリポジトリを1ファイルにする # 課題: コード全体を渡せない $ npx repomix@latest → repomix-output.xml 1 リポジトリ全体を ファイルに梱包 解決: 1ファイルに梱包する コンセプト: AIを選ばない形 10 ©Fusic Co., Ltd.

Slide 11

Slide 11 text

ccusageはAI利用料を一瞬で見せる 課題: 利用額が見えない $ npx ccusage@latest → 日別のトークン使用量と コストが表になる # 解決: 手元のログを集計 コンセプト: ローカル完結 11 ©Fusic Co., Ltd.

Slide 12

Slide 12 text

小さくて良いOSSは、まだまだある markitdown similarity jj Anubis Turso datastar karakeep niri OpenCut pgdog crush も も何でもMarkdownに が増やした重複コードを検出 を不要にするバージョン管理 クローラをブロックする門番 を で書き直すDB 属性だけで動的な画面を作る ブックマーク管理を全部手元で完結 窓を横一列に並べる新発想のWM ずっと無料で使える動画編集 Postgresの分割をアプリ無改修で 見た目と使い心地にこだわった端末AI PDF Word AI git add AI SQLite Rust HTML 12 ©Fusic Co., Ltd.

Slide 13

Slide 13 text

便 利 さ は 、 コ ン セ プ ト か ら 来 て い る Point.01 コードは、AIで誰でも量産できる Point.02 差がつくのは、コンセプトの決定 Point.03 エンジニアの能力は、アウトカムを作る力 13 ©Fusic Co., Ltd.

Slide 14

Slide 14 text

Thank You ご清聴いただきありがとうございました OSEKKAI × TECHNOLOGY ココロと技術で、ぴったりも、びっくりも。 We are Hiring! カジュアル面接 — Let's Talk! https://fusic.co.jp/recruit/lets_talk/44 ©Fusic Co., Ltd.