KI-Shell-Architektur

Von Bedeutung

Seit Januar 2026 wird das AI-Shell-Projekt nicht mehr aktiv gewartet. Dieses Projekt sollte aus ingenieurtechnischer Sicht als archiviert betrachtet werden.

AI Shell-Architekturdiagramm.

AIShell.Abstraction

Dieses Projekt wird als NuGet-Paket veröffentlicht. Es enthält alle Schnittstellen zum Definieren eines Agent-Plug-Ins, das mit AI Shell interagiert.

Diese Abstraktionsebene umfasst:

  • IShell: Stellt einen Proxy der KI-Shell dar.
  • IHost: Stellt einen Proxy des Shellhosts dar.
  • IRenderElement: Stellt die header/value- oder label/value-Paare zum Rendern von Objekten im Tabellen- oder Listenformat dar.
  • IStreamRender: Stellt ein spezielles Rendern für das Rendern der Streamingantwort dar.
  • ILLMAgent: Stellt ein Agent-Plug-In dar.
  • IOrchestrator: Abgeleitet ILLMAgent. Stellt einen speziellen Agent dar, der eine Abfrage an den am besten geeigneten Agent weiterleiten kann.
  • ICodeAnalyzer: Abgeleitet ILLMAgent. Stellt einen speziellen Agent dar, der Code für Sicherheitsbedenken analysieren kann.
  • CommandBase: stellt einen Befehl dar, den ein Agent bei der Shell registrieren kann, wenn er geladen wird.

Die wichtigste Schnittstellenmethode in ILLMAgent ist Task<bool> Chat(string input, IShell shell), die von der Shell aufgerufen wird, wenn eine Abfrage vom Benutzer stammt. Es bietet extreme Flexibilität bei der Implementierung eines Agenten. Ein Agent kann alles tun, was er für ein beliebiges AI-Back-End verwenden möchte, und die Ausgabe mithilfe der von IShellbereitgestellten Dienstprogramme rendern.

Ein Agent-Plug-In ist für die Verwaltung seines eigenen Chatverlaufs verantwortlich.

AIShell.Kernel

Dies ist die Implementierung von AI Shell. Sie besteht aus den folgenden Komponenten:

  • ReadLine
  • Rendern (Markdown-Rendern, Stream-Rendern, Paging-Render)
  • Plug-In-Verwaltung
  • Host (eine Reihe von Hilfsmethoden zum Schreiben von Ausgabe und interaktiven Eingabeaufforderungen)
  • Command Runner und eingebaute Befehle
  • Dienstprogramme (Zwischenablage, Registerkartenabschluss, Predictive IntelliSense)
    • Codeausführung für python, powershell, cmdund bash (damit Agents Funktionsaufrufe mit LLM ausführen können. noch nicht gestartet)
  • Shell-Integration (tiefe Integration in die Befehlszeilenshell. noch nicht gestartet)
  • Konfiguration (Farben, Tastenbindungen usw. noch nicht gestartet)

AIShell.App

Dies ist ein dünner Wrapper über AIShell.Kernel zum Erstellen einer ausführbaren Datei. Die erste Idee besteht darin, AIShell.Kernel einer Bibliothek zu erstellen, damit sie von anderen Anwendungen verwendet oder gehostet werden kann. Wir können AIShell.App einfach in AIShell.Kernel zusammenführen, wenn diese Idee nicht mehr sinnvoll ist.