mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-11 17:26:57 +02:00
- module github.com/R0m1k3/Loki, cmd/loki, internal/loki (package loki) - LOKI_HOME, LOKI_MODEL_DIRS, LOKI_SERVICE, LOKI_DL_CONNS ; /etc/loki ; units loki-engine / loki-ui ; binaire et aide CLI - updateRepo pointe sur R0m1k3/Loki (l'auto-update ne tirera plus les binaires AJEAN amont) Conservé à l'identique : le domaine ajean.link (service de tunnel amont), les littéraux de migration 0.7.x (migrate_07.go), RELEASE_NOTES.md et LICENSE (historique et licence de l'amont). go build/vet/test : verts.
50 lines
1.5 KiB
Go
50 lines
1.5 KiB
Go
package loki
|
|
|
|
import "fmt"
|
|
|
|
// Le « mode agent » est l'unique interrupteur qui donne à l'IA l'accès à ses
|
|
// outils : le shell (run_shell), l'écriture de fichiers et sa mémoire
|
|
// (mem_search/mem_read/mem_add/mem_edit).
|
|
|
|
func agentEnabled() bool { return getBool(bkState, "agent") }
|
|
|
|
func setAgentEnabled(on bool) error { return putBool(bkState, "agent", on) }
|
|
|
|
func cmdAgent(args []string) error {
|
|
sub := ""
|
|
if len(args) > 0 {
|
|
sub = args[0]
|
|
}
|
|
switch sub {
|
|
case "on":
|
|
if err := setAgentEnabled(true); err != nil {
|
|
return err
|
|
}
|
|
fmt.Println(green("[ok]") + " mode agent activé — l'IA dispose du shell complet (" + shellName() + "), de l'écriture de fichiers et de sa mémoire")
|
|
case "off":
|
|
if err := setAgentEnabled(false); err != nil {
|
|
return err
|
|
}
|
|
fmt.Println(green("[ok]") + " mode agent désactivé")
|
|
case "", "status":
|
|
state := dim("off")
|
|
if agentEnabled() {
|
|
state = green("on")
|
|
}
|
|
fmt.Printf("%s état: %s\n", cyan("Mode agent"), state)
|
|
fmt.Printf(" outils : %s (timeout %ds, max %ds) + write/edit + mémoire (mem_search/mem_read/mem_add/mem_edit)\n", shellName(), toolDefaultTimeout, toolMaxTimeout)
|
|
mem := MemList()
|
|
if len(mem) == 0 {
|
|
fmt.Printf(" mémoire : aucune page — crée %s/<nom>.md\n", memoryDir())
|
|
return nil
|
|
}
|
|
fmt.Printf(" mémoire (%s) :\n", memoryDir())
|
|
for _, p := range mem {
|
|
fmt.Printf(" %s %s\n", bold(p.Name), p.Title)
|
|
}
|
|
default:
|
|
return fmt.Errorf("usage: loki agent [on|off|status]")
|
|
}
|
|
return nil
|
|
}
|