Sample Tauri 版が公開できるまでのサンプルです。開発の主力は Tauri 2.0 のネイティブアプリで、この LP とブラウザデモは参考実装として公開しています。 GitHub
Sample Preview

エージェントが IDE を直接操作する

Right-Stuff Editor(Markdown エディタ)の執筆体験に、Agent Desktop(Vercel Labs の OS 操作 CLI)を統合。Tauri 2.0 で開発中のネイティブ IDE を、公開前のサンプルとして紹介します。

ブラウザデモを試す Tauri 版の構成を見る
Right-Stuff Agent IDE — src/components/AgentPanel.tsx
▾ src/
▾ components/
├─ AgentPanel.tsx
├─ StatusBar.tsx
└─ FileTree.tsx
▾ stores/
├─ agentStore.ts
└─ editorStore.ts
└─ App.tsx
package.json
tauri.conf.json
import { useState } from "react";
import { agentSnapshot } from "../lib/api";
// エージェントが UI を直接操作
export function AgentPanel() {
const [mode, setMode] = useState("assistive");
// snapshot -> action -> verify loop
return <Panel>{/* ... */}</Panel>;
}
Agent
ファイルを保存しました。次に Git コミットを実行しますか?
はい、コミットしてください
git commit -m "feat: add agent chat panel" を実行しました。

※ 画面はシミュレーションです。 ブラウザデモでは LLM を利用できません。Tauri 版では設定画面から OpenAI 互換 API に接続し、ストリーミングチャットを使えます。実際の UI は ブラウザデモ で操作できます。

サンプルが目指す構成

Tauri 版の設計を紹介するためのサンプルです。実装済みの範囲は README を参照してください。

✎
執筆体験の継承
Monaco による Markdown / コード編集、タブ、未保存管理、ワークスペース管理。SQLite のバージョン履歴を Phase 0 から実装しています。
◆
エージェントによる直接操作
Agent Desktop の OS アクセシビリティツリー API を統合し、エディタ UI と外部アプリの両方をエージェントが操作できる構成を目指します(Phase 1 後半)。
⚙
本格的 IDE 機能
Monaco Editor を中心に、LSP クライアント、Git 統合、統合ターミナル、デバッガ連携を Phase 2 以降で追加します。
🔒
安全な承認フロー
LLM が生成した計画は許可アクションと引数を検証した上で承認制で実行します。変更操作は計画承認後も、実行直前に OS のネイティブ承認ダイアログで確認します。承認履歴の監査ログと機密ウィンドウの自動マスクは今後追加します。
🔄
検証ループ
エージェントのアクション後にスナップショットを再取得し、状態変化を検証する設計です。検証ループは今後実装します。
🌐
マルチプラットフォーム
まずは macOS に対応。Windows / Linux は Agent Desktop の対応状況を見て検討します。

特徴・良い点・注意点

サンプル公開時点の率直な評価です。機能の全体像は上の「サンプルが目指す構成」に、実装済みの範囲は README にまとめています。

良い点

  • Tauri 2.0 のネイティブアプリ — Electron より軽量で、macOS のウィンドウと統合しやすい
  • ファイルが主役 — ワークスペースの Markdown を直接編集。Finder や Git とそのまま併用できる
  • 書き味を重視 — Monaco、タブ、未保存管理、GFM の分割プレビュー
  • 履歴と安全性 — 保存ごとの SQLite 履歴、atomic write、ゴミ箱へのソフトデリート、パス検証
  • 操作が見える — エージェントのコマンド、stdout / stderr、終了コードを UI に表示
  • MIT の参考実装 — 自分の IDE を作るための出発点として利用できる

注意点

  • LLM は OpenAI 互換 API に対応 — Tauri 版では OpenAI / Ollama / LM Studio / OpenRouter などに接続できます。ブラウザデモでは利用できません。Anthropic 固有 API は今後対応
  • Agent Desktop が別途必要 — CLI は同梱していない。PATH か AGENT_DESKTOP_BIN で指定する
  • 計画の実行範囲は限定的 — LLM の計画立案と計画単位の承認は実装済みですが、実行できるのは Agent Desktop の許可アクションだけです。エディタ・Git・ターミナルのスキル実行と、承認履歴の監査ログは今後対応
  • macOS のみ検証 — 配布用 DMG は Developer ID 署名・公証なし。Intel 実機での起動確認は未実施。Windows / Linux は未検証
  • デモは永続化しない — /app/ の変更はメモリ上のみ。再読み込みでリセット
  • バイナリは Developer ID 未署名 — Apple Silicon / Intel 向け DMG を GitHub Releases で公開中。CSP とセキュリティヘッダーは Tauri / Vercel とも設定済み。API キーは OS キーチェーンに保存します。署名・公証は今後対応

実装ロードマップ

Phase 0 は完了済みです。以降の期間・優先度・内容は実装設計書に基づく目安で、進捗に応じて更新します。

Phase 0
基盤構築 完了
2週間 / 優先度: 最高

Tauri 2.0 + React 18、Monaco、ワークスペース、SQLite 履歴、Agent Desktop ブリッジ。

Phase 1
Agent Desktop 統合基盤 進行中
3週間 / 優先度: 最高

OpenAI 互換 LLM 接続、ストリーミングチャット、API キーのキーチェーン保存、計画立案、計画単位の承認フローは実装済み。検証ループと承認履歴の監査ログを追加中。

Phase 2
IDE コア機能
4週間 / 優先度: 高

LSP クライアント、Git 統合、統合ターミナル、ファイル検索、プレビュー拡張。

Phase 3
エージェントスキルシステム
3週間 / 優先度: 高

スキル定義フォーマット、スキルローダー、複数ステップの自律実行と検証。

Phase 4
マルチプラットフォーム対応
2週間 / 優先度: 中

Windows / Linux 向けに Agent Desktop 統合と権限モデルの差異を抽象化。

サンプルの動かし方

ブラウザデモで UI を確認し、Tauri 版をソースから起動して実際のファイル操作を試せます。

始める前に確認
  • 対応 OS は macOS のみ — 検証済みは macOS 11 以降です。Windows / Linux は未検証です。
  • ブラウザデモは保存されません — 変更はメモリ上のみで、再読み込みすると初期状態に戻ります。
  • LLM は Tauri 版で利用可能 — ブラウザデモでは利用できません。エージェントパネル右上の歯車アイコンから設定します。
  • Agent Desktop CLI は別途必要 — 同梱していません。次の手順でインストールします。
01
ブラウザデモを開く
Tauri を入れずに UI を確認できます。ワークスペースはメモリ上に再現され、変更は保存されません。
/app/ を開く
# デモ用の仮想ワークスペースが読み込まれます
02
ソースを取得
Tauri 版は GitHub Releases の DMG(Apple Silicon / Intel)からインストールするか、このリポジトリからビルドします。DMG は未署名・未公証です。対象 OS は macOS 11 以降で、ビルドには Node.js 20.19 以上(または 22.12 以上)と Rust 1.85 以上が必要です。
git clone https://github.com/watanabe3tipapa/right-stuff-agent-ide.git
cd right-stuff-agent-ide
npm ci
03
Tauri 版を起動
ネイティブウィンドウで起動します。前回のワークスペースは次回起動時に復元されます。
npm run tauri dev
04
ワークスペースを開く
フォルダを選択するとファイルツリーが表示されます。Markdown は Monaco で編集し、分割プレビューで確認できます。
# GUI の「フォルダを開く」から選択
# 保存: ⌘S (macOS) / Ctrl+S (Windows / Linux)
# コマンドパレット: ⌘K (macOS) / Ctrl+K (Windows / Linux)
05
Agent Desktop CLI をインストール
Agent Desktop は Vercel Labs が公開する Apache-2.0 の OS 操作 CLI です。npm で最新版をインストールし、macOS ではアクセシビリティ権限を付与してください。特定のバージョン固定要件はありません。 公式リポジトリも参照してください。
npm install -g agent-desktop
agent-desktop version
agent-desktop permissions --guide
06
エージェントの状態を確認
エージェントパネルで /status を実行すると Agent Desktop CLI の検出状態を確認できます。LLM チャットは次の手順で設定します。
/status
/snapshot

# Agent Desktop が PATH にない場合:
AGENT_DESKTOP_BIN=/path/to/agent-desktop npm run tauri dev
07
LLM に接続
エージェントパネル右上の歯車アイコンから「LLM 設定」を開きます。プロバイダー・Base URL・モデルを選び、必要なら API キーを保存して「保存して接続テスト」を実行してください。API キーは OS キーチェーンにのみ保存されます。
# 設定例
プロバイダー: OpenAI
Base URL: https://api.openai.com/v1
モデル: gpt-4o-mini

# ローカル LLM の場合
プロバイダー: Ollama
Base URL: http://localhost:11434/v1
モデル: llama3.2
操作macOSWindows / Linux
保存⌘ SCtrl S
すべて保存⌘ ⇧ SCtrl Shift S
コマンドパレット⌘ KCtrl K
コマンドパレット(代替)⌘ ⇧ PCtrl Shift P

3 段階のエージェントモード

用途に応じてモードを切り替える権限設計です。計画は LLM が生成し、承認するまで実行されません。

Passive / 受動
受動的支援
読み取り専用。チャット入力とエージェントによる UI 操作は無効です。
Assistive / 支援
能動的支援
チャット応答とファイル編集を支援します。計画は手順ごとに実行し、Agent Desktop の変更操作はネイティブ承認ダイアログを経由します。
Autonomous / 自律
自律実行
承認した計画を複数ステップで連続実行します。失敗した時点で停止し、変更操作には実行のたびにネイティブ承認ダイアログを表示します。

技術スタック

成熟した技術を組み合わせ、堅牢で拡張性の高いアーキテクチャを実現します。

Tauri 2.0
デスクトップ基盤 (Rust)
Phase 0
React 18
UI フレームワーク
Phase 0
Vite
ビルドツール
Phase 0
Zustand
状態管理
Phase 0
Monaco Editor
コードエディタ
Phase 0
Agent Desktop
OS アクセシビリティ操作
Phase 0 / 1
SQLite
ローカルデータベース
Phase 0
Rust
バックエンド / ファイル I/O
Phase 0

このサイトについて

Vercel の LP とブラウザデモは、Tauri 版が公開できるまでのサンプルです。製品版の開発は Tauri 2.0 のネイティブアプリが中心です。

対応 OS: macOS 11 以降(Windows / Linux は未検証)

配布版: GitHub Releases の DMG(Apple Silicon / Intel)。未署名・未公証のため、初回起動時に警告が出た場合は右クリック →「開く」を選択してください。

ソースからビルドする場合

npm ci
npm run tauri build
open "src-tauri/target/release/bundle/macos/Right-Stuff Agent IDE.app"

Agent Desktop CLI(OS 操作を使う場合)

npm install -g agent-desktop
agent-desktop version
agent-desktop permissions --guide

ブラウザデモは /app/ で確認できます。データはメモリ上のみで、再読み込みすると失われます。
Agent Desktop CLI は同梱していません。PATH に通すか、必要に応じて AGENT_DESKTOP_BIN を指定してください。

プライバシー: この LP とブラウザデモは、入力内容をサーバーへ送信しません。アカウント登録・テレメトリ・クラウド同期もありません。Tauri 版の原稿は、選んだフォルダのファイルとして端末内に保存されます。

よくある質問

このサイトは製品版ですか?
いいえ。Tauri 版が公開できるまでのサンプルです。開発の主力は Tauri 2.0 のネイティブアプリで、この LP とブラウザデモは構成と UI の参考実装として公開しています。
ブラウザデモの変更は保存されますか?
保存されません。デモは src/lib/demo.ts のインメモリ・ワークスペースで動作し、ページを再読み込みすると初期状態に戻ります。
どの機能が実装済みですか?
Phase 0 として、ワークスペース、Monaco エディタ、GFM プレビュー、SQLite のバージョン履歴、Agent Desktop ブリッジ、コマンドパレットが動作します。Phase 1 では、OpenAI 互換 LLM への接続、ストリーミングチャット、生成停止、接続テスト、API キーの OS キーチェーン保存に加え、計画立案と計画単位の承認フローを追加しました。検証ループと承認履歴の監査ログは今後追加します。詳細は README の「次の候補」と「制約」を参照してください。
Agent Desktop は同梱されていますか?
同梱していません。Agent Desktop(Apache-2.0)を npm install -g agent-desktop で別途インストールし、PATH に通すか AGENT_DESKTOP_BIN で指定してください。macOS では agent-desktop permissions --guide でアクセシビリティ権限を付与します。バージョン固定の要件はありません。
入力内容はサーバーに送信されますか?
送信されません。この LP とブラウザデモは静的サイトで、アカウント登録・テレメトリ・クラウド同期はありません。デモの編集内容はブラウザのメモリ上にのみ保持され、再読み込みすると失われます。Tauri 版の原稿も、選んだフォルダのファイルとして端末内に保存されます。
LLM を使った操作はできますか?
はい。Tauri 版では、エージェントパネル右上の歯車アイコンから OpenAI 互換 API(OpenAI / Ollama / LM Studio / OpenRouter / カスタム)に接続できます。API キーは OS キーチェーンに保存され、チャットはストリーミング表示・生成停止・接続テストに対応しています。Plan タブまたは /plan に意図を入力すると、LLM が許可アクションだけを使った実行計画を作成し、承認後に実行できます。ブラウザデモでは LLM を利用できません。
自作 IDE の参考にできますか?
はい。MIT ライセンスで公開しています。Tauri コマンド、パス検証、SQLite 履歴、Monaco と Zustand の構成を、自分の IDE の出発点として利用できます。