Skip to content

feat(launcher): make the launch options editable and merge the room channel into them #26

Description

@smileygames

目的

セッションの起動オプションを画面から編集できるようにし、アプリが付ける channel エントリを利用者の指定と統合する。

前提(Master 要望、2026-08-21)

希望する起動形:

claude --dangerously-skip-permissions --dangerously-load-development-channels server:github-webhook-mcp

現状:

claude --dangerously-load-development-channels server:liplus-chat-room
  • args を編集する UI が無い。保存済み config.jsonargs は空。
  • channel の対象は SERVER_NAME 固定で、利用者が足せない。

設計

args の入力欄を一つ追加し、利用者が起動オプションをそのまま書けるようにする。アプリは自分の channel エントリをそこへ統合する。

  • args--dangerously-load-development-channels が含まれている場合、その直後へ server:liplus-chat-room を挿入する。既に含まれていれば重複させない。
  • 含まれていない場合は、従来どおりフラグごと末尾へ足す。

したがって Master が上の希望どおり書くと、実際の起動は次になる。

claude --dangerously-skip-permissions --dangerously-load-development-channels server:github-webhook-mcp server:liplus-chat-room

部屋の入力路は常に確保され、利用者の指定も失われない。設定項目を増やさずに済む。

未検証の前提

一つのフラグに server: エントリを複数並べられるかは未確認。 liplus-desktop #90 の実測が確定しているのは「--channels を併記すると二重登録で不通になる」ことであり、同一フラグへの複数エントリは扱っていない。

--print での確認は無意味である(--print では channel の読み込み自体が走らないため、通っても何の証拠にもならない。実測済み)。対話セッションでのみ確かめられる。

したがって本 issue の実装後、Master の実行がそのまま検証になる。通らない場合は端末にエラーが出るため切り分けられる。

制約

  • 部屋の channel エントリは常に含める。利用者の指定で落とせない。落ちると部屋の入力路が消える。
  • reject_incompatible_flags の対象(--channels / --print / --input-format / --output-format)は引き続きエラーで止める。
  • 引用符を含む引数を黙って壊さない。空白分割のみだと "C:\Program Files\..." のような指定が壊れる。
  • 統合の形をテストで固定する。

対象ファイル

  • crates/mcp-config/src/lib.rs
  • src/main.ts, index.html, src/styles.css
  • README.md, docs/0-requirements.md

完了条件

  • 起動オプションを画面から編集でき、保存される。
  • 利用者が channel フラグを書いた場合、部屋のエントリがそこへ統合される。
  • 部屋のエントリが常に含まれることがテストで固定されている。
  • 引用符付きの引数が壊れない。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancement新機能・改善要望ready本文が実装開始できる形まで収束している状態。ただし更新は継続可能

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions