這很重要
截至 2026 年 1 月,AI Shell 專案已不再積極維護。 這個專案應該從工程角度視為存檔。
AIShell.Abstraction
此專案將會以 NuGet 套件的形式發行。 其中包含定義與 AI Shell 互動之代理程式外掛程式外掛程式的所有介面。
此抽象層包括:
-
IShell:代表 AI 殼層的 Proxy。 -
IHost:代表殼層主機的 Proxy。 -
IRenderElement:代表數據表或清單格式轉譯物件的header/value或label/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)
-
python、powershell、cmd及bash的程式代碼執行(讓代理程式能夠使用 LLM 呼叫函數。尚未啟動的)
-
- 殼層整合 (與命令行殼層的深度整合。尚未啟動的)
- 組態(色彩、按鍵系結等 尚未啟動)
AIShell.App
這是建立可執行文件的精簡包裝函式 AIShell.Kernel。 初始概念是 AIShell.Kernel 連結庫,以便供其他應用程式使用或裝載。 如果這個想法不再有意義,我們可以輕鬆地將 AIShell.App 合併到 AIShell.Kernel。