Qwen Code 週間レポート:/loop 自律モード、デスクトップ音声入力、Settings タブビュー
今週 Qwen Code は v0.19.4 をリリースし、80以上の PR がマージされ、3つの方向性をカバーしました:
/loop は離席中も実行可能。 裸の /loop で自律モードを起動——agent は離席中に確立済みの作業を推進し、新しいタスクを勝手に作ったり不可逆な操作を行ったりしません。.qwen/loop.md タスクファイルを追加すると、ループは編集可能なチェックリストを再読み込みし、削除後は no-op tick を送信してループを維持します。Claude Code が先週エージェントループ入門ガイド を公開し、agent が既定の計画を繰り返し実行することを解説していましたが、/loop の自律モードも同様の動作をします。ただし追加のレイヤーがあります:タスクリストはいつでも編集可能で、ループは変更を自動的に検知します。
デスクトップ音声入力が登場。 CLI と Web Shell ではすでに音声入力がサポートされていましたが、デスクトップ版だけ不足していました。このバージョンで最後のインターフェースが補完され、3つのプラットフォームで統一された体験が実現しました。
ターミナルインタラクションのギャップが縮小。 /settings がフラットリストからタブビューに変更され、検索・ステータス・統計が一画面で完結。Virtualized History モードでメニュー、補完、入力ボックスがマウスのクリックとホバーに対応しました。
✨ 新機能
/loop 自律モード + loop.md タスクファイル
/loop が2つの新しいモードをサポートしました:
自律モード:裸の /loop(prompt なし、interval なし)は使用法のヒントを表示する代わりに、自律ループを起動します。agent は離席中に確立済みの作業を推進——進行中の PR のメンテナンス、途中の作業の続行、約束の実行——ですが、transcript で確立されたものだけを実行し、新しいタスクを勝手に作らず、明示的な許可なしに不可逆な操作(push/delete/send)を行いません。静かになったら停止します。自律 preamble は最初に1回だけ送信され、以降は各 tick で短いリマインダーのみを送信し、トークンコストを低く抑えます。
loop.md タスクファイル:プロジェクトルートまたは ~/.qwen/ に .qwen/loop.md を作成し、wakeup/cron の prompt を sentinel(<<loop.md-dynamic>> または <<loop.md>>)に設定すると、ループは毎回 fire 時にファイルを再読み込みします。初回は全文を送信し、以降は変更がなければ短いリマインダー、ファイルを編集すると全文を再送信します。ファイルがなくなるとループは no-op tick を送信(agent は何もせず、ループの維持のみ)し、自律モードの基本動作に戻ります。loop.md を再作成すると、次の tick で自動的に変更を検出し、全文を再送信します。
チャンネルループ:/loop はターミナルに限定されず、DingTalk、Feishu チャンネルでも実行可能です。グループチャットで /loop add "0 9 * * 1-5" CI ステータスを確認 で定期ループを作成、/loop list で現在のチャンネルのすべてのループを確認、/loop inspect <id> で実行回数と最新の結果を確認、/loop cancel <id> で停止できます。ループは channel session router を通じて実行され、現在アクティブな turn が終了してから開始し、結果はチャンネルを通じて書き戻されます。ワンショットループは成功または失敗後に自動的に無効化されます。
できること:
- 裸の
/loopで離席中に agent に作業の推進を任せる .qwen/loop.mdで永続的かつ編集可能なタスクリストを管理、各 tick で再説明不要- loop.md を削除してもループは no-op tick で維持、再作成後にシームレスに復帰
- DingTalk/Feishu グループで
/loop addで定期ループを設定、agent が定期的に作業を推進
デスクトップ音声入力:3プラットフォーム対応完了
音声入力は CLI と Web Shell ですでにサポートされていましたが、デスクトップ版では未対応——ユーザーが音声を設定してもデスクトップに切り替えるとその機能が使えなくなりました。このバージョンで最後のインターフェースが補完されました。
composer ツールバーにマイクボタンが追加され、録音中はツールバーが録音バーに変化します(点線ガイド → リアルタイム波形 → タイマー)。停止後にトランスクリプション結果が入力ボックスに挿入され、確認できます。トランスクリプションはサーバーサイドで実行され、CLI の音声パイプライン(バッチ qwen3-asr-flash とリアルタイム *-realtime モデル)を再利用します。provider の認証情報は renderer に入りません。音声は Settings → Input と composer のモデルドロップダウンで有効/無効を切り替え、モデルを選択できます。
できること:
- マイクをクリックして話すだけで、リアルタイムに波形とタイマーを確認
- realtime モデル(
qwen3-asr-flash-realtimeなど)を選択すると、話し中に interim テキストをリアルタイム表示 - タブレットやマルチモニター環境でハンズフリー入力
PR #5856 を参照
使い方
- リポジトリをクローン:
git clone https://github.com/QwenLM/qwen-code.git
- ディレクトリに移動
cd qwen-code/packages/desktop
- 依存関係をインストールして開発モードを起動
bun install && bun run dev
Mobile Sidebar Drawer + qwen serve の体験改善
これまでスマホブラウザで qwen serve にアクセスすると、サイドバー(セッションリスト、検索、新規セッション)は 760px 以下で display: none で完全に隠され、セッションを切り替える方法がありませんでした。現在は overlay drawer モードに変更:チャットパネルのヘッダーにメニューボタンが表示され、クリックするとサイドバーが左側からスライドインし、半透明のオーバーレイが表示されます。セッションの選択、新規セッション作成、オーバーレイクリックのいずれかで drawer が閉じます。デスクトップのレイアウトには一切影響しません。
これは qwen serve を「使える」から「使いやすい」にする一連の変更の一端です:
- セッション遅延作成(#6066 ):最初の prompt までセッションを作成せず、空セッションのオーバーヘッドを削減、Web Shell の起動が高速化
- workspace remember(#5884 ):serve モードがワークスペースを記憶し、再起動後に再指定不要
- session archive(#6058 ):daemon がセッションアーカイブをサポート、長期セッションの管理が可能に
できること:
- スマホブラウザで
qwen serveにアクセスし、メニューボタンでセッションを切り替え - 複数プロジェクト間を切り替える際、serve が自動的にワークスペースを記憶
- 長期セッションをアーカイブして、削除せずに保管
PR #6003 を参照
| 説明 | サイドバー折りたたみ | サイドバー展開 |
|---|---|---|
| テストスクリーンショット | ![]() | ![]() |
TUI マウスクリックとホバー
CLI の Virtualized History モードではこれまでマウスホイールとスクロールバーのみサポートされ、ポインタインタラクションは対応していませんでした。Virtualized History(ui.useTerminalBuffer)を有効にすると、3種類のインタラクションが利用可能になります:
- 選択メニューとダイアログ(権限確認、
/model、/config、テーマなど):ホバーで行をハイライト、クリックで選択 /コマンドと@ファイル補完リスト:ホバーで候補をハイライト、クリックで受け入れ- 入力ボックス:左クリックでテキストカーソルを移動(複数行の折り返し、スクロールオフセット、ワイドキャラクターに対応)
できること:
/modelダイアログでマウスクリック直接モデルを選択、矢印キー不要/入力後にマウスクリックで補完候補を選択- 複数行入力でクリックしてカーソルを再配置
PR #6011 を参照

Settings タブダイアログ:検索・ステータス・統計が一画面
/settings がフラットリストからタブビューに刷新されました。Claude Code の /config デザインを参考にしています。上部のタブバーで Settings / Status / Stats の3ページに分類され、Settings ページには検索ボックスが追加され、入力すると即座にフィルタリングされます。
Status ページは /status と同じシステム情報を表示し、Stats ページは完全な /stats ダッシュボード(Session / Activity / Efficiency サブタブ)を埋め込んでいます。キーボードフォーカスはタブバー → 検索ボックス → 設定リストの順に縦方向に移動し、ハイライトは実際にフォーカスを保持している領域にのみ表示されます。
できること:
/settingsを開いて直接キーワードを入力して設定項目をフィルタリング- ←/→ で Status ページに切り替えてランタイム情報を確認、
/statusを個別に実行不要 - Stats ページで Tab で Session / Activity / Efficiency を切り替え、Efficiency テーブルがダイアログの高さを超える場合は自動的に “+N more” に折りたたみ
PR #6044 を参照

Chrome 拡張機能:ブラウザ内で直接チャット + ページ操作
Chrome 拡張機能が daemon-direct アーキテクチャで復活——拡張機能は Native Messaging ホストではなく、ローカルの qwen serve daemon のシンクライアントとなりました。
サイドバーチャットは DaemonSessionProvider を通じて qwen serve に直接接続(HTTP+SSE、web shell と同じパス)し、daemon に接続できない場合は “qwen serve を実行してください” とプロンプトを表示します。ブラウザツール(ページ読み取り、スクリーンショット、コンソール、ナビゲーション、クリック、フォーム入力)はクライアントホストの MCP server として daemon WebSocket 経由で agent に公開され、チャットとツールの両方のパスから Native Messaging が不要になりました。
注意:リバースツールチャンネルは現在 QWEN_SERVE_CLIENT_MCP_OVER_WS 環境変数で有効化され、デフォルトではオフです。qwen serve 起動時にこのフラグを明示的に設定する必要があります。
できること:
- Chrome サイドバーで直接 Qwen Code とチャット、OS ネイティブホストのインストール不要
- agent に現在のページの読み取り、スクリーンショット、ブラウザ要素の操作を指示
- web shell の共有 UI を再利用、一貫した体験
PR #5777 を参照

📊 その他の新機能
| 機能 | PR | 影響 |
|---|---|---|
/config key=value:プロンプトで直接任意の設定を変更、Tab 補完 + スペル修正 | #5773 | settings.json を開く必要なし |
| セッションタイムライン rail:web shell の左側にコンパクトなタイムライン、ホバーで turn の詳細を表示 | #6078 | 長いセッションで turn を素早く特定 |
| /skills ACP 出力強化:description と level を表示 | #6117 | skills リストの情報がより完全 |
auto-mode 全 shell 分類:classifyAllShell 設定を追加(デフォルトオフ) | #6040 | 本番環境の縦深防御 |
qwen tag グループチャット複数アイデンティティ:DingTalk グループ共有セッションで [sender] 発言者マーカーをサポート | #5888 | グループチャットで agent が発言者を区別 |
| group history backfill:グループ履歴メッセージのバックフィル | #6074 | 新メンバーが履歴を閲覧可能 |
| browser tab favicon:web shell のブラウザタブアイコン | #6091 | 複数タブの識別が容易 |
| chat UI とテーブル描画の最適化:web shell チャットインターフェースの改善 | #6099 | ビジュアル体験の向上 |
| queued-prompt UX:web shell の Esc 割り込みを改善 | #6025 | 中断操作がよりスムーズ |
| resumable /acp session stream:Last-Event-ID によるレジュームをサポート | #5852 | SDK 接続の安定性向上 |
| glob patterns in mcp.allowed/excluded:MCP ホワイトリストにワイルドカードをサポート | #6012 | MCP 設定がより柔軟 |
inline model override:/model でワンタイムモデルオーバーライドをサポート | #6022 | 一時的なモデル切り替えがより便利 |
| leader approval for plan-required teammates:計画必須の teammate は leader の承認が必要 | #6138 | マルチ agent 連携の安全性向上 |
🔧 重要な修正
| 修正 | PR | 影響 |
|---|---|---|
| MCP ツールアイドルタイムアウト:サーバーが5分間無応答の場合に自動中止、セッションのハングを防止 | #6061 | 長時間実行 MCP ツールの無限待機が解消 |
| diff 空白のみ編集の表示:空白のみ変更の場合に “No changes detected” を表示しないように修正 | #6141 | diff 出力の精度向上 |
| TUI 入力遅延の最適化:addItem 後に React に yield、入力のもたつきを削減 | #6059 | タイピングがよりスムーズ |
| 非 VP モードマルチ agent スクロール:マルチ agent 実行中に transcript をスクロール可能に | #6015 | マルチ agent 場面で履歴を確認可能 |
HTTPS/TLS サポート:qwen serve に --tls-cert と --tls-key フラグを追加 | #6032 | 自己署名証明書環境で利用可能 |
Windows チルダパス:Windows 形式の ~ パス展開をサポート | #6029 | Windows ユーザーのパス互換性 |
👥 貢献者
| 貢献者 | 貢献内容 | 参考 PR リンク |
|---|---|---|
| @qqqys | /loop 自律モード + loop.md タスクファイル、音声入力、qwen tag グループチャット複数アイデンティティ、group history backfill、channel loop サポート | #5890 , #5991 , #5856 , #5888 , #6074 , #6073 |
| @DragonnZhang | /effort 推論強度統一、TUI マウスクリックとホバー、Settings タブダイアログ | #6072 , #6011 , #6044 |
| @doudouOUC | session archive、skills ACP 出力強化、leader approval for plan-required teammates、diff 空白のみ編集の表示 | #6058 , #6117 , #6138 , #6141 |
| @DennisYu07 | /config コマンド、auto-mode 全 shell 分類、MCP ホワイトリストワイルドカード、MCP ツールアイドルタイムアウト | #5773 , #6040 , #6012 , #6061 |
| @pomelo-nwu | Mobile Sidebar Drawer、HTTPS/TLS サポート | #6003 , #6032 |
| @callmeYe | workspace remember、セッションタイムライン rail | #5884 , #6078 |
| @ytahdn | セッション遅延作成、chat UI とテーブル描画の最適化 | #6066 , #6099 |
| @chiga0 | resumable /acp session stream、非 VP モードマルチ agent スクロール | #5852 , #6015 |
| @yiliang114 | Chrome 拡張機能復活 | #5777 |
| @wenshao | browser tab favicon | #6091 |
| @carffuca | queued-prompt UX 改善 | #6025 |
| @Alex-ai-future | TUI 入力遅延の最適化 | #6059 |
| @VectorPeak | Windows チルダパス展開 | #6029 |
| 🆕 @Minerest | 🎉 初貢献:auto-memory 有効時のみ memory recall をトリガーするように修正 | #5963 |
| 🆕 @TianYuan1024 | 🎉 初貢献:--insecure フラグで TLS 検証をスキップ、/model インラインモデルオーバーライドを追加 | #5962 , #6022 |
| 🆕 @gauravyad86 | 🎉 初貢献:critical レベルの npm セキュリティ脆弱性(simple-git、shell-quote などランタイム依存)を修正し、CI 監査チェックを追加 | #6065 |
アップグレード方法:npm i @qwen-code/qwen-code@latest -g を実行して最新バージョンにアップグレードしてください。
ご質問やご提案があれば、GitHub Issues でお知らせください!

