yasuraok / SimpleTextRefine

VSCode Extension for fast writing document using LLM
https://marketplace.visualstudio.com/items?itemName=yasuraok.simple-text-refine
MIT License
2 stars 1 forks source link

workspace外のファイルを使った場合の対応を考える #1

Closed yasuraok closed 5 months ago

yasuraok commented 6 months ago

LLM応答をファイルに書き出してdiffとして表示するために、現状では.vscode以下に元ファイルと同様の相対パスのところにLLM応答を書き出している。workspace外のファイルだとパスが分からない。

そもそもとして、LLM応答を書き出すファイルの置き場所の条件は主に以下3つ。これを満たしさえすれば案2はどういう実装でもよい

shimajima-eiji commented 6 months ago

問題は

workspace外のファイルだとパスが分からない。

だと思うので、これも Prompt_path同様に設定側で指定するか、あるいはPrompt_pathに指定した場所に.simple_text_refine_cache を作るのではダメですかね? Prompt_pathが設定されてない場合は現状通りエラー吐いていいと思いました。

コードで関連しそうなのは以下ですかね?

yasuraok commented 5 months ago

Prompt_pathが設定されてない場合は現状通りエラー吐いていいと思いました。

https://github.com/yasuraok/SimpleTextRefine/pull/14#issue-2305085747 に書いた通り、空プロンプト + appendならこの条件でも続行可能なので、そのようにしてみた。 こうやってどんどんエラー中断自体を減らしていきたい。

shimajima-eiji commented 5 months ago

内容が多いので(後で読み直した時に間違えないように)現状版を転記しておきます。最新は↑のコメント内リンクから

workspace未設定のファイルの場合 output.type == append の場合、現在編集中のエディタに直接応答を書き込むので、workspace未選択でprompt pathやcache pathが定まらない場合でもシステムプロンプトなしでLLM呼び出しをすることが可能になる。 そこで、workspace未選択 (かつdefault prompt path未設定) の場合の挙動を改善する。

before: エラーを吐いて諦める after: システムプロンプトなし、output.type == appendでLLMを呼び出す

全体設計として

エラー中断自体を減らしていきたい

が大事なポイントだと思いました! この方針はいいと思います!

shimajima-eiji commented 5 months ago

@yasuraok 以下で解決済みっぽいIssueの整理をしてます


本件のクローズ要件がわかってないですが、個人的にはタイトルの「workspace外のファイルを使った場合の対応を考える」について前向きに対応する方針で進めてるように見えるので、タイトルのままであれば解決かなーと思ってます

yasuraok commented 5 months ago

ゴールとしては「workspace未設定・カスタムプロンプトパス設定なしの場合にプロンプトファイルをどこで管理するかを決め、エラーが出ないようする」でしたが、ノープロンプトでも警告を出しつつ動くようにしたので、優先度はさがりました。次にこの近辺をいじる時は目的感が変わっている気がするので、別issueになると想定して、これはクローズしちゃいます。