Drawgent:ライブ Excalidraw キャンバス上でのコーディングエージェント

2026/09/27 0:56

Drawgent:ライブ Excalidraw キャンバス上でのコーディングエージェント

RSS: https://news.ycombinator.com/rss

要約▶

Japanese Translation:

Drawgent は、ローカル AI エージェント(Claude Code、Codex、または opencode)をライブ描画キャンバスに接続するための単一の Rust バイナリとして機能することで、ソフトウェア開発を革新します。これは Anthropic Computer Protocol (ACP) を介して実現されます。視覚的なコード生成を効率化するため、ユーザーは「AGENT:」といった直接の命令を発行したり、Excalidraw インターフェース内でのレーザーゾーンを利用して特定のエディットを行うことができます。本システムは、シーンデータの取得やスクリーンショットの取得、要素または Mermaid ダイアグラムの操作、および excalidraw.com のパブリック暗号化ルームとの相互作用など、包括的な機能をサポートしています。セットアップには Node.js 18 以上と TOML ファイルによる設定が必要で、カスタムクローン URL を持つセルフホストインスタンスから、Chromium サーバーとは別途エージェントを実行する Docker セットアップまで、柔軟なデプロイオプションを支援します。また、Drawgent はヘルスチェックやシーン管理のために REST API および WebSocket API を公開しており、外部接続を必要とせず、高度な AI 補助を直接ビジュアルワークフローに統合するチーム向けに堅牢で効率的なツールとなっています。

本文

drawgent: ライブ Excalidraw キャンバス上のコーディングエージェント

drawgent は、ユーザー自身の Claude Code、Codex、または opencode を Excalidraw ホワイトボードに接続するツールです。チャットパネルでダイアグラム作成を依頼するか、変更したい図の部分に指示を入れることで、エージェントがキャンバスを確認し、ライブで編集して結果をチェックします。

1. フィードの構成

フィードに含めたいアクティビティの種類を選択してください:

  • イシュー (Issues)
  • プルリクエスト (Pull Requests)
  • コミット (Commits)
  • タグ (Tags)

2. リポジトリのクローン

パーマリンクを使用してリポジトリをクローンします。

クローン URL

  • HTTPS:
    https://tangled.org/yanndegat.tngl.sh/drawgent
    https://tangled.org/did:plc:3zklierfkckthy6sodbm4af3
    
  • SSH:
    git@tangled.org:yanndegat.tngl.sh/drawgent
    git@tangled.org:did:plc:3zklierfkckthy6sodbm4af3
    

注意: 自己ホストされた Knots の場合、クローン URL は環境設定に応じて異なる場合があります。

ダウンロードオプション

  • tar.gz
    アーカイブをダウンロード
  • .zip
    アーカイブをダウンロード

3. コミットと機能説明

Excalidraw エディタは、レーザージェスチャー(

onPointerUpdate
)を記録し、それを
customData.drawgentZone
というタグが付けられたロックされた赤いフリードローなトレースとして保持します。

  • チャットパネル: カバーされた要素をリストしたチップと共にフォーカスが付き、次のメッセージにゾーンが含まれて送信されます。
  • サーバー処理: ゾーン範囲とカバーされた要素(最もカバーされているものが多い順)をプロンプトに追加します。
  • トレースの削除: ターン終了時(管理セッションの場合)またはライブ接続セッションがアイドル状態になったときに削除されます。
  • get_scene: テーブルタイプ "zone" として報告します。

コマンドラインツール

単一の Rust バイナリで、シーンを保持しながらユーザー自身のエージェントに接続します:

  • setup <agent>
    : インストールされた CLI とログインを確認し、ACP ブリッジを準備し、ヘッドレス Chrome を検索/インストールし、設定ファイルを作成します。
  • up
    : 現在のワークスペースで新しいエージェントセッションを開始します。
  • up --attach [id]
    : 実行中のセッション(ACP 経由の Claude フォーク、ライブ opencode、
    codex queue
    )をリストします。

主な機能:

  • チャットパネル、AGENTS キャンバスノート、ビジョン機能を備えた MCP キャンバスツール。
  • Excalidraw.com ルームクライアント(AES-GCM, socket.io, Firestore)。
  • Musl 静的ビルド付きの Makefile、Nix デブシェル、サーバー専用 Docker イメージ。

4. README.md: クイックスタート

前提条件:

  • claude
    、
    codex
    、または
    opencode
    のいずれかがインストールされ、ログイン済みである必要があります。
  • Claude および Codex のブリッジには Node.js ≥ 18 (npm) も必要です。

基本コマンド

以下のコマンドを実行してください:

# エージェントごとに一度実行:claude | codex | opencode
drawgent setup claude 
cd ~/my-repo
# 新しいエージェントセッション + ブラウザ上のキャンバスを開始
drawgent up 

# または: 実行中のセッションのいずれかを選択して接続
drawgent up --attach

セットアップ (
drawgent setup
)

一度にすべてを確認し、欠落している場合その場で修正方法を提示します。以下を構築・確認します:

  1. エージェント CLI: PATH 上の
    claude
    /
    codex
    /
    opencode
    。
  2. ログイン:
    claude auth status
    ,
    codex login status
    , または
    opencode auth list
    で確認可能。
  3. ACP ブリッジ:
    • opencode
      : 自身で ACP を使用(
      opencode acp
      )。
    • Claude Code および Codex: 公式の ACP アダプターを使用(約 60MB のアダプターを
      ~/.cache/drawgent/adapters
      にインストール)。
  4. レンダラー用のヘッドレス Chrome:
    • Chrome/Chromium を持っている場合はそれを使用します。
    • 持っていない場合は提案された方法でダウンロード(テスト用 Chrome, 約 120 MB)またはパッケージマネージャー (
      apt
      ,
      brew
      など) を使用してインストールします。

非対話モードでの Chrome 指定:

--chrome download | system | /path/to/chrome

注意:

drawgent up
は、そのエージェントのセットアップが成功するか、記録された情報が消滅しない限り起動しません。

セッション接続 (
drawgent up
)

現在のディレクトリ(ワークスペース)で動作します:

  • エディターと API を
    127.0.0.1:7300
    に起動(使用中の次の自由なポートを使用)。
  • ワークスペース内で ACP 経由のエージェントの新しいセッションを開始。
  • ブラウザを開きます(ヘッドレスボックスの場合、代わりに
    ssh -L
    コマンドを出力します)。

シーンデータは

.drawgent/scene.json
に保持され、git で自動的に無視されます。

セッション接続 (
drawgent up --attach [id]
)

既に実行中のセッションにキャンバスを接続します。ID を指定しない場合は、見つかったセッション(現在のディレクトリから最初)をリストし、選択できます:

エージェント発見と接続の詳細
Claude Code
claude agents --json
。
fork
: ACP を通じて drawgent でドライブされる、完全な会話を保持する新しいセッション。端末セッションは変更されません。
opencodeローカルでリスニングするサーバー(
opencode --port 4096
)。
live
: メッセージは実行中のセッションに送信されます。
drawgent はそのサーバーにランタイムで MCP ツールを追加。TUI で入力した返信やツール呼び出しがチャットパネルに反映されます。
Codex
~/.codex/sessions
内のセッション。
live
:
codex queue --thread <id>
。
返信はセッションのロールアウトファイルから反映されます。セッションは drawgent MCP の登録が必要です。

5. キャンバスの使用法

チャットパネル(右側)

  • リクエストを送信し、返信とツール呼び出しがストリーミングされるのを確認します。
  • 許可プロンプトを承認し、Stop を押してターンをキャンセルできます。

キャンバス上での操作

  • 指示入力:
    AGENT: next
    で始まるテキストを書き込みます。
  • 図形描画: 図形に記述するか、ノートから図形へ矢印を描画します。
  • 発火処理: 入力停止後約 2.5 秒後に位置、指す対象、および近くの要素と共に発火し、エージェントはそれを緑色の
    DONE: …
    ノートに解決します。

レーザーゾーン (Laser Zone)

  • Excalidraw のレーザー(
    K
    )を選択し、図の一部を円形か描画で選択します。
  • 処理:
    1. キャンバス上に赤い輪郭が残ります。
    2. チャットパネルが開き、ゾーン下の要素がリストされます。
    3. 次のメッセージにはゾーン情報が含まれてエージェントへ送信されます。
    4. エージェントが完了するとトレースが消えます。
  • ルール: 4 秒以内のストロークは一つのゾーンを形成します(× を押して破棄)。

excalidraw.com ルーム

共有キャンバスでの協働が可能です:

  • drawgent up --room 'https://excalidraw.com/#room=<id>,<key>'
  • drawgent は「🤖 Agent」としてルームに参加し、カーソルは編集に従って移動します。
  • 人間は excalidraw.com 上で作業できます(
    AGENT:
    ノートがエージェントに届き、編集もライブで表示されます)。
  • セキュリティ: トラフィックはルームキーでエンドツーエンド暗号化されています。

6. その他のコマンドと機能

drawgent mcp

  • キャンバスツールの stdio MCP サーバーです。
  • エージェントはそれを起動し、自動的に実行中の
    drawgent up
    を発見します。

drawgent serve

  • 明示的なエージェント(セットアップ済みまたは任意の ACP エージェント)を備えた低レベルサーバーです。
  • スクリプトおよびコンテナ用として使用します。

オプションパラメータ (
up
/
serve
)

  • ネットワーク:
    --port
    ,
    --room
  • 認証:
    --token
    (API ベアラー + ?token= in the URL)
  • 権限:
    --permissions canvas|ask|all
    (デフォルト
    canvas
    : デrawing ツールは自動承認)
  • データ管理:
    --data
    ,
    --settle-ms

Docker での実行

エージェントは決してバインドされず、常に独自のセットアップで動作します:

docker compose up --build

キャンバスサーバー(drawgent + Chromium)を実行し、共有キャンバスやサーバー上のルームブリッジをホストするために使用できます。

7. ビルドとテスト

ソースからのビルド

npm ci && npm run build      # エディターおよびレンダラーページ -> dist/
cargo install --path .       # または: cargo build --release

テスト

  • cargo test
    (分数指数、ルーム暗号/フレーミング)
  • node scripts/smoke.mjs [url]
    (チャットターン + AGENT: ノートに対する実行中の drawgent)
  • node scripts/e2e-browser.mjs [url]
    (実ブラウザでのテスト)
  • node scripts/room-e2e.mjs
    (ルーム間の双方向通信)
  • node scripts/laser-e2e.mjs
    (レーザーゾーン機能のテスト)

8. API エンドポイント

主な REST API と WebSocket です:

  • GET /api/health
  • GET /api/scene
  • GET /api/screenshot?ids=&padding=&max=
  • POST|PATCH|DELETE /api/elements
  • POST /api/mermaid
  • POST /api/clear
  • GET /api/instructions
  • POST /api/instructions/{id}/resolve
  • POST /api/status
  • POST /api/chat {agent?, text}
  • WS
    /ws
    : ブラウザ同期 + チャットイベント

9. レイアウト構造

src/ (Rust) の主要モジュール:

  • main.rs
    : CLI エントリーポイント。
  • setup.rs
    ,
    config.rs
    ,
    chrome.rs
    : セットアップ処理、設定、レンダラーインストール。
  • attach.rs
    : セッション発見と選択ロジック。
  • agents.rs
    +
    acp.rs
    : ACP ドライバー(新規/フォークセッション)。
  • live.rs
    : ライブ opencode / Codex ドライバー。
  • hub.rs
    : ルーティング、ノート、チャットログ管理。
  • scene.rs
    : ストアと編集操作処理。
  • renderer.rs
    : CDP (Chrome DevTools Protocol) 経由の Chrome コントロール。
  • mcp.rs
    : MCP サーバー実装。
  • room.rs
    : Excalidraw.com クライアント接続。
  • fractional.rs
    ,
    geometry.rs
    ,
    el.rs
    : 幾何学計算などのヘルパー。

web/: エディター(

main.jsx
,
chat.jsx
,
laser.js
)およびレンダラーページ(
render.jsx
)。

10. リミットと注意

  • レンダラー依存: Chrome の必要があり、ネイティブレンダラーは計画済みですが未実装です。
  • Claude attach: フォーク方式のため、公開方法としての実行中の端末セッション注入は現時点でサポートされていません。
  • Codex: ライブ接続の実装はありますが、ログイン済みの Codex に対するテストはまだ行われていません。
  • 同期制限: ワークスペースにつき一つのシーンのみ。画像やファイルの同期は行われません。

同じ日のほかのニュース

一覧に戻る →

2026/09/25 22:48

ジョージ主義は機能するのか。五年後

## Japanese Translation: ヘンリー・ジョージの地価税(LVT)に関する立法の動量は、世界的に加速しており、これは擁護活動と、土地に対する財産税と建物に対するそれらを分離した分割率課税を可能にする新たな州法によって牽引されています。本年 4 月、バージニア州とケンタッキー州は、自治体が LVT に参加することを許すことを目的とした啓能法を可決し、2026 年の立法シーズンにおける主要な勝利者となりました。ワシントン州は、中心地であるランド・エコノミクス・センターを通じて新たな法案の検討を進めており、同センターは現在、ジョージ著『進歩と貧困』に関する 2021 年の書評で ACX コンテストを制したラルス・ドゥセツによって率いられています。その書評はゲーリズムに関する継続的な報道を引き起こしました。ニューヨーク州のゴシュル知事は、交通プロジェクトのために地価キャプチャーを使用することを都市に権限を与える期間を延長し、IBX の地下鉄拡張を含む可能性があります。国際的には、バーデン・ヴュルテンベルク州政府は裁判所の挑戦を乗り越えた後、2025 年 1 月に LVT を導入しました。イギリスの首相アンディ・バーナムと韓国大統領李在明も LVT を支援していますが、彼らの現在の野望は低水準の既存課税率に直面しています。ドゥセツは、多くの反対意見が誤解に基づくものだと指摘しており、例えば地価集中に関する誤解を挙げます。また、彼は効果的な実施には正確な評価が必要であり、データクリーニングが高度なアルゴリズムよりも重要で、適切に行えばコストアプローチも妥当であると述べています。陳腐化した評価はピッツバーグに見られるように反発を引き起こすことができ、一方韓国では組織化されたシステムによって 5 ヶ月以内に個々の区画全体に対する完全な年間評価を達成しました。CivicMapper などのツールは、低価値の使用に割当てられた高価値の土地(例:地上駐車)を視覚化するのに役立ちます。AI は上昇する地価価格が注目を集めることで支持を加速させる可能性がありますが、採用度は管轄区によって異なります。経済学者たちは LVT を理想的な税制政策として概ね受け入れているものの、実現可能性については議論が続いています。成功した実施は、現在のいくつかの地域の効果的な税率が modest なままであり地域産業の複雑さが実用的な障壁となる場合でも、大規模なインフラプロジェクトの資金調達が可能になりつつ土地使用の不効率を是正する可能性があります。 ## Text to translate: Legislative momentum for Henry George's land value tax (LVT) is accelerating globally, driven by advocacy and new state laws enabling split-rate taxation—separating property taxes on land from those on buildings. In April this year, Virginia and Kentucky passed enablement laws allowing municipalities to opt into LVT, making them major winners in the 2026 legislative season. Washington State is collaborating on new bills through the Center for Land Economics, which Lars Doucet now leads after winning an ACX contest with a 2021 book review of George's *Progress and Poverty* that sparked ongoing coverage on Georgism. New York Governor Hochul extended authority for cities to use land value capture for transit projects, potentially including the IBX subway expansion. Internationally, Baden-Württemberg implemented LVT in January 2025 after surviving a court challenge; UK PM Andy Burnham and South Korea's President Lee Jae Myung advocate for LVT, though their current ambitions face low existing rates. Doucet argues many objections stem from misunderstandings—such as misconceptions about land value concentration—and notes that effective implementation requires accurate assessments: data cleaning outweighs advanced algorithms, and the cost approach is sound when done correctly. Stale valuations can trigger revolt, as seen in Pittsburgh, whereas Korea's organized system achieved full annual valuation across individual parcels in five months. Tools like CivicMapper help visualize high-value land dedicated to low-value uses (e.g., surface parking). AI may accelerate support as rising land prices capture attention, but adoption will vary by jurisdiction. Economists broadly accept LVT as the ideal tax policy, though feasibility remains debated; successful implementation could fund large infrastructure projects while correcting land use inefficiencies, even if current effective rates in some places remain modest and local industry complexity presents practical barriers.

2026/09/27 3:22

DeepSeek エラスティックコンピューティング(DSec)

## Japanese Translation: 要約は理解しやすく、しかし「重要ポイントリスト」で示された詳細な技術情報が不足しています。以下は、その不足している具体的な情報を統合しつつ、流れを保った改良版です: **改良された要約:** DeepSeek Elastic Compute(DSec)は、大規模な大言語モデル(LLM)のトレーニングと評価のための堅牢で生産環境に準拠したサンドボックスプラットフォームです。その核心的な革新点は、巨大クラスター全体にわたるリソース配分および状態保存を統括する統一システムとして機能することにあります。DSec は、メモリ共有、回収、高度な CPU スケジューリング機構などを統合し、複数のサンドバックエンド(FnCall、コンテナ、マイクロ VM、フル VM)を公開する単一の開発インターフェースを通じてこの効率性を達成します。アーキテクチャはデータ読み込みとトレーニングプロセスを分離しており、Fire-Flyer ファイルシステム(3FS)を利用してバージョン付けされた層から環境を構築します。強化学習フレームワークと共に重要な意味で共同設計されており、DSec は報酬ハッキングなどのエージェントの不適切な行動を防ぎ、ロールアウト状態を維持するために、ステートフルなロールアウト実行と非予約 GPU トレーニングを分離しています。このアプローチは、過剰な環境設定時間やイメージ配布のオーバーヘッドといった業界上の課題に対処します。実際の運用では、約 160 ノードに及ぶ単一のプロダクションスケールユニットは、毎日 300 万回以上のサンドボックス作成を維持し、約 38 万の同時利用可能なサンドボックスを提供することができます(作成速度は毎秒 5,000 回を超えます)。これにより、テクノロジー企業が負荷下でもレイテンシに敏感なパフォーマンスを損なうことなく、急速な実験とスケーラブルな AI 開発を実施できるようになります。

2026/09/25 19:55

PipePipe:SponsorBlock を実装した NewPipe のハードフォーク

## Japanese Translation: PipePipe は、2022 年初頭に NewPipe から派生した独立した Android メディアプレイヤーであり、開発哲学の相違により別プロジェクトとして確立され、アップストリームのコードベースに対する更新共有や変更プッシュを行わない状態で運営されています。同アプリは YouTube と Bilibili の高度なストリーミング機能を備え、プライバシー保護、SponsorsBlock を利用した広告なし視聴、クッキーベースのログインによる制限コンテンツへのアクセスを重視しています。アプリは高品質な AV1 および VP9 コーデック対応、Danmaku チャットオーバーレイ、バックグラウンド音楽再生、スワイプによる探索ナビゲーション、Shorts と有料動画のブロックに対応します。追加機能として、非ローカライズされたオリジナルタイトルの表示、高度な検索フィルタリング、キーワード/チャンネル管理、完全なプレイリストダウンロード、アラームタイマー(スリープタイマー)、再生速度制御が含まれます。寄付を介した Ko-Fi および Liberapay を通じてコミュニティによって開発が行われた PipePipe は、公式アプリに関連するデータ追跡なしでユーザーにメディア消費の深い制御を提供します。

Drawgent:ライブ Excalidraw キャンバス上でのコーディングエージェント | そっか~ニュース