mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-22 06:28:11 +02:00
Niveau supérieur (inspiré de Jean) : modes Plan/Build/Yolo + panneau Git & Diff
Modes d'exécution (composer) : - routes/chat : champ mode ; _apply_mode adapte la config — plan = outils lecture seule + plan forcé ; yolo = confirm_shell off ; build = comportement normal. - Frontend : ModeSelector dans le composer, mode dans le store + requête chat. Panneau Git & Diff (le workspace est un dépôt git, Aider commite) : - routes/git : /api/git/log (commits), /api/git/diff (commit ou working), /api/git/revert (git revert --no-edit, confiné au workspace). - Frontend : onglet Git dans le PreviewPanel — liste des commits, diff colorisé, bouton Annuler (revert) avec rafraîchissement de l'arbo. Bonus : le panneau Matériel explique que « GPU déclaré 12 Go » vient de GPU_VRAM_MB (valeur manuelle) — à corriger en 16000 pour une 16 Go. Tests : git log/diff/revert, modes plan/yolo/build via la route chat, builds. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SVay7z3y7q2gEe54ByAE6N
This commit is contained in:
9 files changed
+388
-15
No files matched your search
@@ -75,6 +75,9 @@ interface LokiState {
|
||||
removeSession: (id: string) => Promise<void>;
|
||||
sendMessage: (content: string) => Promise<void>;
|
||||
stopStreaming: () => void;
|
||||
|
||||
mode: "plan" | "build" | "yolo";
|
||||
setMode: (m: "plan" | "build" | "yolo") => void;
|
||||
}
|
||||
|
||||
let activeStreamController: AbortController | null = null;
|
||||
@@ -106,6 +109,9 @@ export const useStore = create<LokiState>((set, get) => ({
|
||||
config: null,
|
||||
availableTools: [],
|
||||
pendingShell: null,
|
||||
mode: "build",
|
||||
|
||||
setMode: (m) => set({ mode: m }),
|
||||
|
||||
approveShell: async () => {
|
||||
const cmd = get().pendingShell;
|
||||
@@ -350,7 +356,12 @@ export const useStore = create<LokiState>((set, get) => ({
|
||||
activeStreamController = controller;
|
||||
|
||||
await streamChat(
|
||||
{ session_id: sid, content, model: get().selectedModel || undefined },
|
||||
{
|
||||
session_id: sid,
|
||||
content,
|
||||
model: get().selectedModel || undefined,
|
||||
mode: get().mode,
|
||||
},
|
||||
{
|
||||
onToken: (t) => set({ streamContent: get().streamContent + t }),
|
||||
onThinking: (t) => set({ streamThinking: get().streamThinking + t }),
|
||||
|
||||
Reference in new issue
Block a user