ShowDEV:我用 Rust 构建了一个 AI 原生 shell,因为我厌倦了在 Google 上搜索 CLI 错误

发布: (2026年2月20日 GMT+8 22:59)
5 分钟阅读
原文: Dev.to

Source: Dev.to

ShowDEV 封面图:我用 Rust 构建了一个 AI 原生 Shell,因为我厌倦了在谷歌搜索 CLI 错误

你听说过漫威《钢铁侠》里的 J.A.R.V.I.S. 吗?它是为托尼·斯塔克提供支持的高度智能、礼貌的 AI 助手。我一直梦想打造自己的 J.A.R.V.I.S.,帮助我完成日常开发工作。

但现实中,我们的日常工作流程根本不像那样。你是否曾经运行过一个命令,得到一个晦涩的错误,然后不得不把输出复制粘贴到浏览器或 ChatGPT 中,才能弄清楚到底哪里出了问题?

作为开发者,我们每天都会这样做好几次。这完全打断了我们的专注状态。我想停止这种做法。我想要一种真正的“J.A.R.V.I.S.”式体验——一个居住在我的 shell 中的助手,已经知道刚刚发生了什么,并能立即帮助我。

于是,我构建了 Jarvish

Jarvish 标志

🤵 Jarvis Shell (jarvish)

状态
版本

🌐 日文版 README 请点击此处

💡 关于

“我想要 J.A.R.V.I.S. 作为我的伴侣——但在我的终端里。”

Jarvish 是一个用 Rust 编写的 下一代 AI 集成 Shell,灵感来源于漫威《钢铁侠》中的 J.A.R.V.I.S.。它在你的日常 Shell 体验中原生嵌入 AI 智能——不再需要把错误复制粘贴到浏览器。只需向 Jarvis 提问。

jarvish demo

✨ 功能

🧠 AI 驱动的辅助

  • 💬 用 自然语言 与 Jarvis 对话——直接在你的 shell 提示符下。
  • 🔍 当命令失败时,Jarvis 会 自动调查 错误,利用 stdout/stderr 上下文。
  • 🛠️ Jarvis 能 读取和写入文件,并以具备工具调用能力的 AI 代理身份执行命令。

🐟 类 Fish 的用户体验

  • 🎨 在输入时提供 实时语法高亮
  • ⚡ 为命令(PATH 可执行文件、内建命令)和文件路径提供 自动补全
  • 📜 基于历史记录的建议,由 reedline 提供支持。

📦 黑盒

  • 🗃️ 每次命令执行都会 持久化——包括命令、时间戳、工作目录、退出状态和 I/O。

🛠️ 为什么不只是一个 AI CLI 工具?

现有工具如 GitHub Copilot CLI 与 shell 环境是分离的;你必须显式调用它们,并且它们缺乏对你刚刚运行的命令的上下文。

Jarvish 与众不同。它是一个功能完整的交互式 shell。

  • No mode switching: ls -la 正常运行;Jarvis, why did my last build fail? 被路由到 AI。
  • The “Black Box” context: Jarvish 静默捕获所有 stdout/stderr,压缩后存入本地 SQLite 数据库。当你与 AI 对话时,它会自动检索最近的 I/O 历史作为上下文。

🦀 使用 Rust 构建

  • reedline – 提供丰富的、类似 Fish 的 REPL 体验(语法高亮、自动建议)。
  • os_pipe – 将子进程的输出分流,捕获供 AI 使用,同时仍在终端渲染。
  • async-openai – 为代理循环提供动力;Jarvish 使用函数调用自主读取文件、执行命令并调查问题。

🚀 试一试!

Jarvish 当前版本为 v1.0.1,并且是其作者的日常使用工具。它是开源的——欢迎尝试。

cargo install jarvish

享受一个会“说话”的 shell。

0 浏览
Back to Blog

相关文章

阅读更多 »