UStackUStack
Mastra Code favicon

Mastra Code

Mastra Code 是一个基于 Mastra 基础组件构建的终端 AI 编程代理,提供多模型支持、持久化对话以及集成在精美 TUI 中的编码工具。

Mastra Code

什么是 Mastra Code?

什么是 Mastra Code?

Mastra Code 是一个先进的、基于终端的 AI 编程代理,旨在无缝集成到开发人员的工作流程中。它基于 Mastra 强大的 Harness、Agent 和 Memory 基础组件构建,将大型语言模型的能力直接带入您的命令行界面。它充当智能结对编程伙伴,能够在不离开终端环境的情况下理解上下文、执行命令和管理复杂的编码任务。

这个强大的代理连接到 70 多种不同的 AI 模型,允许开发人员针对特定任务利用最佳模型,或在对话中比较不同提供商的输出。其核心目的是通过提供对代码读取、搜索、编辑和执行功能的即时访问来提高生产力,所有这些都通过直观的文本用户界面 (TUI) 进行管理。

核心特性

  • 多模型支持: 连接并支持 70 多种 AI 模型,支持在单个会话中动态切换提供商(如 Anthropic 或 OpenAI),以实现最佳性能或成本管理。
  • 工作流模式: 提供不同的操作模式——Build(通用开发)、Plan(架构分析和规划)和 Fast(低延迟快速查找/编辑)——以匹配开发人员当前的工作重点。
  • 集成工具: 为基本开发任务提供内置工具,包括文件查看、编辑、代码搜索、执行 shell 命令和执行网络搜索。
  • 持久化上下文与配置: 支持项目范围的对话线程、MCP 服务器、自定义钩子和技能。线程持久性确保跨会话的连续性。
  • 可扩展性: 高度可定制,允许开发人员通过添加自定义模式、新工具、子代理和替代存储解决方案来以编程方式扩展功能。
  • 精美的 TUI: 采用使用 pi-tui 组件构建的现代、响应式终端界面,提供对操作、工具输出和 Token 使用情况的清晰可见性。

如何使用 Mastra Code

开始使用 Mastra Code 非常简单,它要求 Node.js(22.13.0 或更高版本)作为先决条件。

1. 安装: 使用 npm、yarn、bun 全局安装 Mastra Code,或直接通过 npxbun x 运行:

npm install -g mastracode
# 或者
bun x mastracode

2. 初始化: 导航到您的项目目录并启动代理:

cd your-project
mastracode

3. 身份验证: 将您的 API 密钥设置为环境变量(例如 export ANTHROPIC_API_KEY=...),或使用 /login 斜杠命令通过 OAuth 提供商进行身份验证。

4. 交互: 身份验证后,只需将您的请求或命令输入到 TUI 中即可。代理将流式传输响应,并可以在您的项目上下文中主动读取、编辑和执行代码。使用 /mode 等斜杠命令切换工作流或使用 /threads 管理对话。

用例

  1. 日常重构和调试: 快速要求代理解释复杂函数、建议重构改进、为特定模块生成单元测试,或直接从终端管理简单的 Git 操作。
  2. 架构规划: 利用 Plan Mode 向代理提供高层级需求。它可以分析现有代码结构,提出详细的实施计划,并在编写任何代码之前概述必要的文件更改。
  3. 快速上下文切换: 在处理遗留系统或不熟悉的代码库时,使用 Mastra Code 进行快速查找 (/mode Fast),以便即时搜索文档或查找特定变量的初始化位置,而无需打开多个文件。
  4. 模型比较测试: 处理性能关键任务的开发人员可以在对话中途切换模型(例如,比较 GPT-4o 的延迟与 Claude 3 Opus 的推理能力),以选择当前任务最合适且最具成本效益的 AI。
  5. 自定义工具集成: 团队可以定义针对内部部署脚本或专有数据库交互量身定制的自定义斜杠命令或子代理,将专业化的工作流程直接嵌入到代理的功能中。

常见问题 (FAQ)

问: 运行 Mastra Code 的最低系统要求是什么? A: Mastra Code 需要 Node.js 22.13.0 或更高版本才能有效运行。请确保您的环境满足此先决条件后再进行安装。

问: Mastra Code 如何处理对话历史记录和上下文? A: 它使用 LibSQL Storage 来实现线程持久性、消息历史记录和 Token 使用情况跟踪。对话通常限定在项目目录范围内,确保代理在会话中记住相关的上下文。

问: 我可以为代理定义自己的命令吗? A: 是的,Mastra Code 具有高度可扩展性。您可以通过创建 Markdown 文件来定义自定义斜杠命令,从而根据您特定的组织需求或内部工具定制代理的功能。

问: 如果代理正在运行一个长时间操作,会发生什么? A: 您可以使用标准的键盘快捷键 Ctrl+C 中断当前操作。这允许您立即停止正在运行的 shell 命令或正在进行的生成过程。

问: 我如何管理我正在使用的 AI 提供商? A: 您可以使用 /models 斜杠命令或设置相关的 API 密钥环境变量来在对话中途切换模型。该代理支持与 Anthropic 和 OpenAI 等主要提供商进行身份验证。

Mastra Code | UStack