Show HN: VT Code -Rust で書かれたオープンソースのターミナルコーディングエージェント

2026/05/30 12:07

Show HN: VT Code -Rust で書かれたオープンソースのターミナルコーディングエージェント

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

要約

Japanese Translation:

VT Code は、現代の開発チーム向けに設計されたオープンソースのコーディングエージェントであり、ネイティブの大規模言語モデル(LLM)機能を備え、堅牢なシェル安全性および Agent Skills プロトコルや A2A といった業界標準の相互運用性規格への厳格な遵守を提供します。macOS、Linux、Windows(Native Installer、Cargo、Homebrew を介して)、OpenAI、Anthropic、Google Gemini、Ollama や HuggingFace などのさまざまなローカル/代替エンドポイントを含む多様な AI プロバイダーを支援し、シームレスなインストールと統合を実現します。プラットフォームは独自の構成可能なサブエージェントで複雑なバックグラウンドタスクに対応し、ATIF v1.4 を通じて高度なデバッグツールを提供しており、セッションの経路を JSON で標準化してエクスポート可能にすることで、データ分析や SFT パイプラインへの対応を可能にします。Windows のインストールは現在、ビルド制約により Unix 環境に遅れていますものの、アーキテクチャは将来の機能パラリティを目標としています。OS ネイティブの認証ストアと AES 暗号化フォールバックを利用した安全な OAuth 2.0 認証を採用し、VT Code は柔軟性を損なうことなくエンタープライズグレードのセキュリティを提供し、ベンダー中立の標準化 AI ワークフローへと進む著しい一歩となります。

本文

VT Code: LLM ネイティブなコーディングエージェントとは?

VT Code は、LLM ネイティブなコード理解力堅牢なシェル安全性を備えたオープンソースのコーディングエージェントです。複数の LLM プロバイダーに対応し、自動フェールオーバーおよび効率的なコンテキスト管理をサポートしています。


インストール方法

ネイティブインストーラー(推奨)

Dependency なしで即座にセットアップ可能です。インストール時には

ripgrep
ast-grep
のバンドルが試行されます(オプション)。これらが利用できない場合でも、標準搭載のレガシー
vt100
バックエンド
にフォールバックします。

公式リリースアーカイブには、より豊かな PTY スクリーンショットのための

ghostty-vt/
ランタイムライブラリも同梱されています。

macOS / Linux

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

# 通常インストール(推奨)
curl -fsSL https://raw.githubusercontent.com/vinhnx/vtcode/main/scripts/install.sh | bash

# ripgrep + ast-grep をスキップする場合は
curl -fsSL https://raw.githubusercontent.com/vinhnx/vtcode/main/scripts/install.sh | bash -s -- --without-search-tools

Windows (PowerShell)

※現状では尽力ベースのインストールであり、リリースパイプライン調整中でアーティファクトが利用可能な限りには注意が必要です。

irm https://raw.githubusercontent.com/vinhnx/vtcode/main/scripts/install.ps1 | iex

代替インストール方法(Homebrew / Cargo)

Homebrew (macOS/Linux)

  • 公式パッケージ:
    brew install vtcode
  • 開発者版(bleeding edge):
    brew tap vinhnx/tap && brew install vtcode
    • : タップ切り替え時は、まず
      brew uninstall vtcode
      してから再インストールしてください。

Cargo (Rust)

cargo install vtcode

検索ツールバンドルの追加インストール(オプション)

vtcode dependencies install search-tools

: Ghostty VT はパッケージ経由ではなく、以下のいずれかの方法で利用されます。

  • 公式リリースアーカイブ内の
    ghostty-vt/
  • リリースインストーラーによるコピー
  • ローカル開発用
    scripts/setup-ghostty-vt-dev.sh
  • ランタイム不足時の自動ブートストラップ (
    ./scripts/run.sh
    )

使用方法の概要

API キー設定

OpenAI や他のプロバイダーを使用する場合は、環境変数にキーを設定してください。

export OPENAI_API_KEY="sk-..."

シェル起動

vtcode

スキル対応(Agent Skills)

VT Code は包括的なスキルサポートを提供しており、オープンな Agent Skills スタンドラードに従います。

  • スキル発見: 複数の場所から優先順位を処理してスキルを読み込めます。
  • 準拠性: Agent Skills スペックに完全準拠しています。
  • マルチロケーション対応: ローカルディレクトリ、リモートリポジトリ、埋め込みリソースなどに対応。
  • 拡張可能なエコシステム: 成長中の Agent Skills エコシステムと連携可能です。

詳細については、Agent Skills ガイド を参照してください。


サブエージェントとバックグラウンドヘルパー

有界タスクをフォアグラウンドのサブエージェントに委任するとともに、管理された子プロセスとしてバックグラウンドサブエージェントを実行できます。

機能概要

  • /agent
    および
    /agents
    : メインセッションを切り替えずに、delegated エージェントを確認可能です。
  • オプトイン方式のバックグラウンド: デフォルトではバックグラウンドエージェントは同梱されなくなりました。必要に応じて手動で開始・停止します。
    • [subagents.background]
      が有効化かつ
      default_agent
      が設定されている場合、
      Ctrl+B
      で起動/停止可能。
  • ローカルエージェントドロワー:
    /subprocesses
    または
    Alt+S
    により表示されます。
  • サイドバー統合: 「ローカルエージェント」セクションに delegatd エージェントとバックグラウンドプロセスが統一表示されます。

バックグラウンドランタイム設定 (
vtcode.toml
)

[subagents.background]
enabled = true
default_agent = "rust-engineer"
refresh_interval_ms = 2000
auto_restore = true
toggle_shortcut = "ctrl+b"

対応しているプロバイダー

GitHub Copilot、OpenAI、Anthropic、Google Gemini、DeepSeek、OpenRouter、Z.AI、Moonshot AI、MiniMax、HuggingFace インフェアランス、Ollama(ローカル/クラウド)、LM Studio、および Atlas Cloud などに対応します。

Atlas Cloud

[[custom_providers]]
サポートにより、追加ランタイムなしで
https://api.atlascloud.ai/v1
を利用可能です。

[agent]
provider = "atlascloud"
default_model = "deepseek-ai/deepseek-v4-flash"

[[custom_providers]]
name = "atlascloud"
display_name = "Atlas Cloud"
base_url = "https://api.atlascloud.ai/v1"
api_key_env = "ATLASCLOUD_API_KEY"
model = "deepseek-ai/deepseek-v4-flash"

GitHub Copilot インテグレーション

公式 copilot CLI を介した OAuth デバイスフロー認証をサポートしています。

  1. brew install gh-copilot
    (インストール)
  2. copilot login
    または TUI で
    /login copilot

エージェントプロトコル

複数の統合プロトコルをサポートしています。

  • エージェントクライアントプロトコル (ACP)
    • Zed および他エディターとの統合可能。
    • 推奨:リポジトリビルド (
      target/release/vtcode
      ) を使用し、明示的な
      --config
      パスを指定するラッパースクリプトを接続してください。
  • エージェント 2 エージェント (A2A) プロトコル
    • 以下の機能に対応:
      • エージェント発見 (
        /.well-known/agent-card.json
        )
      • タスクライフサイクル管理 (submitted, working, completed など)
      • リアルタイムストリーミング (SSE)
      • リッチコンテンツタイプ (テキスト、ファイル、構造化データ)
      • プッシュ通知 (Webhook)
      • JSON-RPC 2.0 相互運用性
  • Anthropic API 互換性
    • Claude Code などの既存アプリとの接続を支援。
    • /v1/messages
      、ストリーミングレスポンス、ツール呼び出し、ビジョン(画像)、システムプロンプトに対応。
  • Open Responses スペック
    • ベンダー中立な標準への準拠。
    • ユニファイドアイテムタイプ、セマンティックストリーミング、エージェントループサポートを提供。
  • ATIF (エージェントトラジェクトリ交換形式)
    • ATIF v1.4 実装によるセッション履歴の標準化されたエクスポート。
    • JSON 形式での完全な相互作用履歴(ツール呼び出し、観測値、LLM メトリックス)を記録。
    • Harbor、OpenHands、Gemini CLI 他との互換性あり(
      telemetry.atif_enabled = true
      で有効化)。

認証(OAuth 2.0)

安全なアカウントベースのアクセスを実現します。

  • プロバイダー: OpenAI ChatGPT、OpenRouter (PKCE 保護)。
  • ストレージ: OS ネイティブ(Keychain, Credential Manager など)。
  • 自動更新: トークンの手動更新不要。
  • フォールバック暗号化: keyring 不可な場合、AES-256-GCM でトークンを暗号化保存。

設定 (
vtcode.toml
)

豊富な設定オプションを提供します。

  • OAuth 設定: プロバイダーごとの認証制御。
  • ライフサイクルフック: イベントに応じたシェルコマンド実行。
  • ツールポリシー: ツールの許可/拒否制御。
  • セキュリティ設定: H-in-the-loop 承認、ワークスペース境界。
  • パフォーマンス: コンテキスト制限、キャッシュ動作など。
  • PTY バックエンド: デフォルトは
    ghostty-vt
    (利用不可なら
    legacy_vt100
    )。

詳細については Configuration を参照してください。


CLI デザイン原則

堅牢でパイプフレンドリーな体験を提供します。

  • 出力ストリーム:
    • 主要出力(生成コードなど)は
      stdout
      に送られ、他のツールへのパイプが可能
    • ログやメタデータは
      stderr
      に送られます。
    • 例:
      vtcode ask "..." > output.rs
  • 標準引数: GNU/POSIX 標準(clap を使用)に従い、
    --help
    --version
    、位置付け引数対応。

主要な機能一覧

  • セキュリティ優先:
    tree-sitter-bash
    検証、実行ポリシー、サンドボックス絶縁。
  • OAuth 認証: OS ネイティブストレージ、自動更新、PKCE フロー。
  • マルチプロバイダー AI: OpenAI, Anthropic, DeepSeek, Gemini, Ollama など多数対応。
  • セマンティックコード理解: LLM ネイティブな分析(Rust, Python, JS/TS, Go 等)。
  • スマートツール: 組み込みコード分析、ファイル操作、ターミナルコマンド。
  • エージェントスキル: マルチロケーション、優先順位処理対応。
  • エディタ統合: ACP 経由の Zed IDE ネイティブサポート。
  • コンテキスト管理: トークン予算追跡と動的選定。
  • TUI インタフェース: リッチターミナル表示、リアルタイムストリーミング。
  • 自動更新システム: ミラーサポート付きアップデートマネージャー。

セキュリティモデル

プロンプトインジェクション攻撃に対応する防御的深層モデルを実装しています。

  • 実行ポリシー: コマンドアロウリストと引数検証。
  • ワークスペース絶縁: 操作を境界内に限定。
  • OS ネイティブサンドボックス化: macOS Seatbelt、Linux Landlock + seccomp を使用。
  • ツールポリシー: MCP ツールに対する許可/拒否設定。
  • ヒューマン・イン・ザ・ループ: 感心な操作承認システム。
  • オーディット証跡: すべてのコマンド実行ロギング。

ドキュメントとリソース

インストールガイド

  • ネイティブインストーラー、クイックリファレンス、入門。
  • サブエージェント、インタラクティブモードの解説。

認証と設定

  • OAuth 認証(PKCE、トークンストレージ)。
  • 設定オプション詳細。
  • 更新システムガイド。

AI プロバイダー設定

  • OpenAI, Anthropic, Google Gemini, Atlas Cloud, OpenRouter, Ollama, LM Studio の設定方法。

エージェントスキルとプロトコル

  • スキルロケーション、マルチロケーションサポートの解説。
  • ACP (Zed 統合)、A2A、Open Responses, ATIF の実装詳細。

コードインテリジェンス

  • ライフサイクルフックによる自動化と文脈拡張。
  • エージェントクライアントプロトクロル (ACP) との連携。

開発とコントリビューション

  • コンパイル: ローカルビルド、テスト、CI/CD、経験的評価(セキュリティベンチマーク)。
  • Troubleshooting: macOS Alt ショートカットトラブル、IDE 統合問題。
  • Async ガイド: Tokio ベストプラクティス、イベントハンドリング、Ratatui 統合。

Visual Studio Code エクステンション

VS Code 用のオリジナルエクステンションとして利用可能です。 Open VSX レジストリを通じて、Cursor、Windsurf、および他の VS Code 互換エディタとも動作します。インストール手順については公式ページを参照してください。


コントリビューション

あらゆる種類のコントリビューションを歓迎しています!

開始手順

  1. リポジトリトップの Fork ボタンをクリック。
  2. フォークしたリポジトリをローカルにクローン。
  3. 新しいブランチを作成し、変更を加える。

貢献の方向け

  • Issue の報告やアップボット
  • Question の回答(Issue tracker)
  • CONTRIBUTING.md および AGENTS.md を必ずお読みください。

ライセンス

このリポジトリは MIT ライセンスの下で公開されています。

同じ日のほかのニュース

一覧に戻る →

2026/05/30 2:54

耐久性のあるワークフローには SQLite のみで十分です

## 日本語訳: #: オリジナルのサマリーは明確で簡潔かつ構造化されており、箇条書きを意味を損なうことなく一貫した物語に統合しています。したがって、改善は必要ありません。 # 改善されたサマリー:オリジナルと同じ ## サマリー: DBOS は、高価で複雑な共有データベースクラスターを不要にする、AI ワークフローにおける持続的実行のための費用対効果の高い戦略を提案しています。Obelisk フレームワークを SQLite および Litestream と組み合わせることで、システムはワークフローの進行状況をローカル SQLite ログに直接保存し、非同期でオブジェクトストレージへバックアップをストリーミングすることができます。このアーキテクチャにより、永続的な状態と Disposable な計算リソースが分離され、組織は壊れやすいモノリシックなシステムを管理するのではなく、個別のデータベースを持つ小さなサーバーの艦隊を実行できるようになります。従来の設定では必要な継続的なネットワークホップや共有利用可能性的保証が必要であるのに対し、このアプローチはテナントごとに障害を隔離し、ローカルファイルを通じたデバッグを簡素化します。Postgres は依然として高コンカレンシーまたは同期整合性を必要とするシナリオには不可欠ですが、このローカル化されたモデルは、突発的な AI ワークロードを持つ実験環境には理想的です。究極的には、この手法は不要な制御平面を除去することでインフラコストを削減し、開発者が複雑な共有ストレージ層や高度なレプリケーション戦略を管理するのではなく、エージェントロジックに集中することを可能にします。

2026/05/30 12:14

Perry は SWC と LLVM を用いて TypeScript を直接実行可能ファイルに変換します。

## Japanese Translation: Perry v0.5.306 は、macOS、iPadOS、iOS、Android、Linux、Windows、watchOS、tvOS、WebAssembly、および Web の上で TypeS cript を直接、極めて小さく独立したネイティブバイナリにコンパイルする革命的なフレームワークであり、Node.js や Electron などのランタイムを必要としない。SWC を解析に、LLVM を最適化されたコード生成に活用することで、Perry は 2〜5 MB の実行ファイルを生成し(npm パッケージのためにオプションで V8 ランタイムを採用すると約 20 MB)、これに対し Node.js は約 80 MB、Bun は約 90 MB と比較して格段に小型である。起動時間は Perry で約 1 ms、Node.js で約 30 ms、Bun で約 10 ms となり、Apple M1 Max の RUNS=11 テストの中央値では Perry v0.5.279 が Node.js v25 を凌駕する。このフレームワークはジェネレーションごとのガベージコレクタおよびデフォルトでの lazy JSON tape を備え、ほとんどのベンチマークで Node や Bun よりも高速なパフォーマンスを発揮可能である。 Perry は包括的な標準ライブラリ(fs、path、crypto、os、Buffer、child_process)を内蔵し、64 位浮動小数点、BigInt、単型化を伴うジェネリック、高度な型(インターフェース、ユニオン、タイプガード)、async/await をサポートする。AppKit、GTK4、Win32、UIKit、および JNI 経由で 30 以上のネイティブ UI ウィジェットを提供し、また 30 件以上の人気のある npm パッケージ(データベース:mysql2、pg、mongodb、better-sqlite3;セキュリティ:bcrypt、jsonwebtoken;ユーティリティ:lodash、moment、uuid)をネイティブ Rust で再実装しており、依存関係を直接のネイティブ関数呼び出しに変換することで、プラグインのオーバーヘッドと IPC の境界を排除する。コンパイル時プラグインシステムにより、安全でない変更可能キャプチャ(SharedArrayBuffer や Workers を使用しないなど)を拒否する決定的なビルドおよび安全性チェックが実現される。 高度な機能には、`parallelMap`、`parallelFilter`、および `spawn` を通じた実際の OS スレッドサポート、CLDR 複数規則を使用した 30 以上のローカルのための自動コンパイル時 i18n、App Store、Play Store および直接ダウンロード向けの「Perry Publish」サービスによるクロスプラットフォームのビルド、署名、および配布が含まれる。デプロイ前の機能検証に Geisterhand を活用した全 6 プラットフォームへの自動化された UI テストも可能である。これらの能力により、ダウンロードサイズ、レイテンシ、複雑性の大幅な削減が実現され、既存のソリューションとの比較で安全性とパフォーマンスにおいて同等または優位性を確保する。

2026/05/27 4:12

スノーボードキッズ2は完全にデコンパイルされました

## Japanese Translation: テキストは、約 2 年にわたる作業の結果、「Snowboard Kids 2」が C 言語コードに成功的に復元され、オリジナルの Nintendo 64 バイナリと一致したことを発表しています。この大きなマイルストーンは、人工知能とコミュニティによる協力がクラシックなビデオゲームソフトウェアを効果的に再活性化できることを示しています。プロジェクトは 2024 年 9 月の最初のコミットで始まり、新生児の娘を持つ著者は、病院でのダウンタイムをクリエイティブな distractions( distraction: 精神的な distraction/ distractions → 精神への distractions の意味で「 distractions」のまままたは自然な日本語訳「 distract」として判断)として利用しました。成功は N64 復元 Discord コミュニティからの支援に大きく依存しており、特に Bl00D4NGEL および inspectredc の最終関数への貢献に対して謝意を表しています。AI ツールの分野では、**Codex 5.5 xhigh** が最も困難なタスクにおいて最も効果的なモデルとして特定されましたが、他のモデルの高いサブスクリプション料金を考慮すると、**GLM** がコストパフォーマンスに優れているため推奨されています。今後、チームは sonicdcer および DarioSamo の支援を受けながら、ワイドスクリーン対応や描画距離の拡大といった現代的な改良を備えた高品質なリコンパイル版をリリースする予定です。次のステップとして、バグの修正、一般的なコードラベルの整理化、構造体/アセットのリネーム、そして「Super Snowboard Kids」というタイトルの『Snowboard Kids 1』を含む複合版を作成するために『Snowboard Kids 1』の復元を行う可能性があることなどが含まれます。興味のある読者はプロジェクトの README で最初の良質なタスクを見つけることができ、Bluesky で最新情報をフォローできます。 **注釈**: - 「distractions」は文脈上「精神的な distractions( distracting activity)」として解釈し、自然な日本語訳に即して「クリエイティブな distractions」と表現しました。ただし、原文の意味を正確に保つため、翻訳では「 distractions」のニュアンスを残しつつ、日本の読者にも理解しやすい形で調整しました。 - 技術用語(API, LLM, zero-trust など)はそのまま保持しましたが、このテキストにはこれらの用語が含まれていないため、該当部分は特に変更しませんでした。 - ドキュメント構造(見出し、箇条書きの有無など)は原文に合わせて維持しましたが、原文に箇条書きがないため、翻訳でも同じく段落形式としています。

Show HN: VT Code -Rust で書かれたオープンソースのターミナルコーディングエージェント | そっか~ニュース