项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2979
使用教程
环境要求
- Node.js 运行环境(README 提到 Node 20+ 会自动启用 OS Permission Model)
- npm 包管理器(README 中的安装与示例命令均基于 npm)
- 一个 LLM 提供商的 API Key(示例从环境变量或 .env 读取,如 OPENAI_APIKEY)
- Go 1.23+(仅在使用 Go 实时音频包时需要)
安装与启动步骤
-
1安装核心包
在 TypeScript/JavaScript 项目中安装 Ax 主包 @ax-llm/ax,Ax 是 TypeScript 优先的。
npm install @ax-llm/ax -
2按需安装扩展包
Bedrock provider、Vercel AI SDK v7 集成、MCP stdio 与 JS 运行时扩展都是可选包,用到再装。
npm install @ax-llm/ax-ai-aws-bedrock npm install @ax-llm/ax-ai-sdk-provider npm install @ax-llm/ax-tools -
3其他语言包(可选)
若使用编译生成的 Python/Rust/Go 库,用各自包管理器安装;Java 用 Maven Central 的 dev.axllm:ax,C++ 用 CMake FetchContent。
pip install axllm cargo add axllm go get github.com/ax-llm/ax/packages/go -
4克隆示例仓库
公开示例和运行脚本都在仓库内,需克隆后才能执行 npm run example 系列命令。
git clone https://github.com/ax-llm/ax.git cd ax -
5查看示例列表
列出 TS、Python、Java、C++、Go、Rust 的公开示例,加 --json 可输出结构化结果。
npm run example -- list -
6配置密钥并运行示例
示例会调用真实提供商,密钥从环境变量或 .env 读取;这里以 OpenAI 生成示例为例。
OPENAI_APIKEY=your-key npm run example -- ts src/examples/typescript/generation/axgen-openai.ts
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_APIKEY | 是 | 运行 OpenAI 相关示例时使用的 API 密钥 | your-key |
如何确认成功
执行 npm run example -- list 能列出各语言示例,或带 OPENAI_APIKEY 运行任一示例后看到模型返回结果。
常见问题
Q:ax 只支持 TypeScript 吗?
A:不是。Ax 以 TypeScript 优先,但同一套签名、provider 映射、agents、flows 和优化器也会编译成 Python、Java、C++、Go、Rust 库。
Q:运行示例需要什么凭证?
A:示例调用真实提供商,会从 .env 或环境变量读取凭证,例如 OPENAI_APIKEY。请先配置好对应提供商的密钥。
Q:AxJSRuntime 是安全沙箱吗?
A:它是针对 LLM 生成代码的纵深防御,不是容器或 VM 边界。宿主回调和授予的权限仍是信任边界,密钥应留在宿主侧。
Q:如何切换不同的模型提供商?
A:通过命名部署配置(deployment profiles)选择,部署名决定线路行为,模型 ID 只在该部署内部解析。
注意事项
- 实时音频需额外依赖:Python 用 pip install axllm[realtime],Rust 加 --features realtime,C++ 用 -DAXLLM_ENABLE_REALTIME=ON。
- memories 的生命周期只有一次 .forward(),要跨调用保留必须自行外部持久化。
- 默认沙箱已冻结 intrinsics、锁定 ShadowRealm 与 worker IPC,并阻止 import(),只在需要时授予 NETWORK、FILESYSTEM 等权限。
- 所有生成的 Python、Java、C++、Go、Rust 库均为 Apache-2.0 许可。
核心亮点
- 提供类型安全的 DSPy 风格 API,减少运行时错误
- 内置优化器,自动改进提示和模型行为
- 与主流 LLM 提供商集成,上手快
不足之处
- 项目较新,文档和社区生态仍在完善
- 相比 Python 版 DSPy,功能覆盖可能不全
适用场景
- 构建需要多步骤推理的复杂 LLM 应用
- 希望以声明式方式管理提示和模型调用的 TypeScript 项目
- 需要自动优化提示以提升模型输出质量的场景
替代项目
DSPy (Python)、LangChain.js、Vercel AI SDK
上一篇:Hyper-Extract
下一篇:hamilton
同类项目推荐
lua-openai
开源
在 Lua 项目里轻松调用 ChatGPT,快速集成 AI 对话能力。
OpenAI API bindings for Lua
agent-framework-go
开源
用 Go 原生写多智能体工作流,直接嵌进后端服务
A framework for building, orchestrating and deploying AI agents and multi-agent work···
sactive-bot
开源
一套代码,让机器人跑遍所有聊天平台
:smiling_imp: An extensible chat bot framework. sactive-bot is an evolution of the ···
llm-engineer-toolkit
开源
一张清单搞定 LLM 工具选型,120+ 库按类挑。
A curated list of 120+ LLM libraries category wise.
sixb
开源
一套 TypeScript 代码,同时服务人和 AI 智能体的业务系统
Open-source TypeScript framework for building operational software used by humans an···
local-rag-researcher-deepseek
开源
本地跑通深度研究,私密数据不泄露,自动生成报告
Local RAG researcher agent built using Langgraph, DeepSeek R1 and Ollama
AgentVerse
开源
编排多智能体协作,搞定复杂任务与模拟场景
AgentVerse is designed to facilitate the deployment of multiple LLM-based agents in···
langchain4j-community
开源
按需引入社区模块,让 Java 应用快速接上各家大模型与向量库
LangChain4j integrations that are maintained by the community
building-with-typesafe-jev
开源
让编码智能体一次写对 Jev 类型化决策代码
Unofficial skill that teaches coding agents to build with TypeSafe AI's Jev: typed d···
