PSAI
让 PowerShell 脚本获得 AI Agent 能力的原生框架,一行命令安装,注册任意函数为工
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 PowerShell 脚本获得 AI Agent 能力的原生框架,一行命令安装,注册任意函数为工
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
作者 Doug Finke 在 2024 年 4 月开源了 PSAI——一个专为 PowerShell 打造的高自主性 AI 框架。它的核心理念不是把 AI 变成一个「聊天机器人」,而是将 AI 能力融入脚本、文件系统和企业 API 中,成为真正的工程组件。
如果把传统的 AI 助手比作一个只会回答问题的秘书,PSAI 则像是一个能听懂指令、调用工具、执行多步任务、并把结果写回文件的数字工程师。它完全运行在你的终端里,不需要浏览器,不需要 Docker,更不需要离开你熟悉的 PowerShell 环境。
PowerShell 一直是 Windows 和服务器管理领域的核心工具——自动化运维、批量处理、系统管理,几乎没有它搞不定的事情。但当需要让 AI 模型帮你分析日志、查询股票、处理文档时,通常的做法是把数据发给某个在线 AI 服务,再把结果拿回来。这个过程既繁琐,又有数据泄露风险。
PSAI 解决了这个痛点。它在本地建立起一套完整的 AI Agent 运行时,让你可以直接在 PowerShell 脚本中调用 OpenAI 或 Azure OpenAI 的模型,同时注册任意 PowerShell 函数作为 Agent 的「工具」。这意味着 AI 可以读写本地文件、调用系统命令、访问企业 API——所有操作都在你掌控的范围内。
1. 智能对话与快速提示
最基础的用法是直接提问:
Invoke-OAIChat 'How do I output all files in a directory PowerShell?'
这和普通聊天没有区别,但 PSAI 支持将 PowerShell 函数作为工具传入,实现更复杂的交互:
$agent = New-Agent -Tools (New-CalculatorTool) -ShowToolCalls
$agent | Get-AgentResponse 'is 3 * 5 + 6 a prime number?'
通过 -ShowToolCalls 参数,你能看到 Agent 调用了哪些工具、每一步的推理过程。
2. 多工具 Agent
PSAI 支持同时注册多个工具,组合成强大的多工具 Agent:
$tools = $(
New-TavilyAITool # 网络搜索
New-StockTickerTool # 股票数据
)
$agent = New-Agent -Tools $tools -ShowToolCalls
$agent | Get-AgentResponse '微软股价多少?最近有什么新闻?'
Agent 会自动规划用哪个工具、调用几次、把结果整合成回复。
3. GitHub 仓库转 AI 友好格式
ConvertTo-AIPrompt 是 PSAI 非常实用的一个功能——它能把任意 GitHub 仓库打包成一个 AI 工具能直接消费的格式:
ConvertTo-AIPrompt -RepoSlug "dfinke/ImportExcel" -OutputPath "D:\ImportExcel.txt"
支持按文件类型筛选(只导出 .ps1 和 .md)、按目录筛选、排除特定类型。这对于将本地代码库喂给 Claude Code 等 AI 编程工具非常方便。
4. 交互式 CLI 会话
Invoke-InteractiveCLI 提供了一个带斜杠命令的交互式会话界面:/clear 清屏、/rewind n 撤销最近 n 条消息、/listmsgs 列出对话历史,对话结果自动复制到剪贴板。
PSAI 采用了典型的模块化分层架构:
技术栈完全基于 PowerShell Core 7.1+,核心逻辑通过 PowerShell AST(抽象语法树)解析器实现函数签名到 OpenAI Function Spec 的转换,从而支持任意 PowerShell 函数作为 Agent 工具。向量存储(Vector Store)、文件搜索(File Search)、代码解释器(Code Interpreter)等 OpenAI Assistants API 的高级功能也都有对应的命令。
代码质量方面,PSAI 在 GitHub Actions 上跨 Windows/macOS/Ubuntu 三平台运行 CI,自动化程度较高。
安装只需一行命令:
Install-Module -Name PSAI
这得益于 PowerShell Gallery 的生态——无需克隆仓库、无需安装依赖、解压即用。安装完成后,PSAI 自动在 $env:OpenAIKey 读取 API Key(支持 OpenAI 和 Azure OpenAI 两种 Provider),整个配置过程不超过 1 分钟。
图1:PSAI 在 PowerShell Gallery 的版本状态和累计下载量徽章。
PSAI 高度依赖 OpenAI API Key 的可用性和配额,不支持本地模型(如 Ollama)意味着无法在没有网络的环境中使用。此外,作为一个新兴框架(v0.5.3),其 API 仍在迭代,部分功能(如 YouTube Assistant 工具)在代码中被注释,稳定性有待观察。
PSAI 代表了一个趋势:AI 能力向本地化、工程化工具链渗透。不是每个人都想用浏览器版的 AI 助手,也不是每个企业都愿意把数据送到云端。PSAI 让 PowerShell 开发者能在自己熟悉的工具链中构建 AI 工作流,门槛低、集成深。
作者 Doug Finke 是 PowerShell 社区的知名贡献者(ImportExcel、PSGraph 等明星项目的作者),项目背后有社区贡献者持续参与,质量有保障。