AI Shell 架構

這很重要

截至 2026 年 1 月,AI Shell 專案已不再積極維護。 這個專案應該從工程角度視為存檔。

AI Shell 架構圖表。

AIShell.Abstraction

此專案將會以 NuGet 套件的形式發行。 其中包含定義與 AI Shell 互動之代理程式外掛程式外掛程式的所有介面。

此抽象層包括:

  • IShell:代表 AI 殼層的 Proxy。
  • IHost:代表殼層主機的 Proxy。
  • IRenderElement:代表數據表或清單格式轉譯物件的 header/valuelabel/value 組。
  • IStreamRender:代表轉譯串流回應的特殊轉譯。
  • ILLMAgent:代表代理程式外掛程式。
  • IOrchestrator:衍生 ILLMAgent。 表示可將查詢路由傳送至最適合代理程式的特殊代理程式。
  • ICodeAnalyzer:衍生 ILLMAgent。 表示特殊代理程式,可分析程式碼的安全性考慮。
  • CommandBase:表示代理程式在載入時可以向殼層註冊的命令。

ILLMAgent 中最重要的介面方法是 Task<bool> Chat(string input, IShell shell),當查詢來自使用者時,殼層會呼叫此方法。 它為代理程序的實作提供極大的彈性。 代理程式可以執行任何想要以任意 AI 後端為目標的動作,並使用 IShell所提供的公用程式來轉譯輸出。

代理程式外掛程式負責管理自己的聊天記錄。

AIShell.Kernel

這是 AI Shell 的實作。 包含下列元件:

  • ReadLine
  • 轉譯(Markdown 轉譯、數據流轉譯、分頁轉譯)
  • 外掛程式管理
  • 主機 (用於撰寫輸出和互動式提示的公用程式方法範圍)
  • 命令執行器和內建命令
  • 公用程式(剪貼簿、索引標籤完成、預測性 Intellisense)
    • pythonpowershellcmdbash 的程式代碼執行(讓代理程式能夠使用 LLM 呼叫函數。尚未啟動的
  • 殼層整合 (與命令行殼層的深度整合。尚未啟動的
  • 組態(色彩、按鍵系結等 尚未啟動

AIShell.App

這是建立可執行文件的精簡包裝函式 AIShell.Kernel。 初始概念是 AIShell.Kernel 連結庫,以便供其他應用程式使用或裝載。 如果這個想法不再有意義,我們可以輕鬆地將 AIShell.App 合併到 AIShell.Kernel