Jarvis: An AI assistant that uses tools to interact with the system
Project description
🤖 Jarvis AI 助手
像钢铁侠的 Jarvis 一样,让你的开发效率飞起来 🚀
一句话:本地运行、开箱即用、可深度定制的 AI 开发助手——写代码、做审查、跑自动化、做安全分析、搞 C→Rust 迁移,一个命令行搞定。
为什么选 Jarvis · 快速开始 · 访问方式 · 常用命令 · 文档导航 · 系统架构 · 参与贡献
👋 Jarvis 是什么?
Jarvis 是一个面向开发者的 AI 助手平台。它不只是对话工具,还能真正进入工作流:读代码、改代码、执行工具、管理上下文、复用经验,并在关键节点保持可控。
如果你希望 AI 不只是“给建议”,而是能在你的本地环境里 帮助分析、执行、验证和沉淀经验,Jarvis 就是为这种场景设计的。
适合谁使用?
- 想把 AI 引入日常开发流程的个人开发者
- 想统一代码修改、审查、验证流程的工程团队
- 需要做安全分析、自动化处理、C→Rust 迁移的专项场景用户
- 希望保留本地可控性、避免被单一平台深度绑定的用户
✨ 为什么选 Jarvis?
不是又一个“聊天机器人”,而是一个 真正能动手 的 AI 伙伴。
- 🎯 即用即走:一条命令启动,无需复杂配置,支持一键安装
- 💻 代码优先:专为开发者设计,自动 Git、构建验证、静态检查、影响分析
- 🧠 越用越聪明:方法论沉淀、记忆分层、规则按需加载,经验可复用
- 🔒 本地可控:数据留在本机,支持 Windows GUI 自动化,无 vendor lock-in
- 🔌 高度可扩展:自定义工具、MCP 集成、元代理自举、新平台适配,想加就加
你可以用它做什么?
- 分析项目结构,生成执行计划
- 修改代码后自动跑验证,减少手工来回切换
- 做安全扫描与报告聚合
- 执行 C→Rust 迁移流水线并支持断点续跑
- 沉淀团队方法论、规则和长期记忆
- 通过 CLI 或 Python SDK 集成到自己的流程中
📱 访问方式
Jarvis 提供三种访问方式,满足不同场景需求:
| 方式 | 适用场景 | 说明 |
|---|---|---|
| CLI | 终端用户、自动化脚本 | 命令行工具,支持 jvs、jca 等快捷命令 |
| Web | 浏览器访问、团队协作 | 通过 jarvis-service 启动 Web 网关,支持多节点分布式部署 |
| VSCode 插件 | IDE 集成开发 | 在 VS Code 中直接使用 Jarvis,集成 Agent 侧边栏、聊天面板和终端 |
CLI(命令行)
# 启动通用 Agent
jvs
# 启动代码 Agent
jca
# 启动安全分析
jsec
Web 网关
# 启动 Web 服务(默认监听 localhost:8000)
jarvis-service
# 指定监听地址和端口
jarvis-service --host 0.0.0.0 --port 9000
# 设置访问密码
jarvis-service --gateway-password your_password
启动后在浏览器访问 http://localhost:8000 即可使用。
支持分布式部署,详见 分布式网关部署方法。
VSCode 插件
插件信息:
- 名称:
Jarvis AI Assistant - VS Code Extension - ID:
jarvis-ai-assistant.jarvis-ai-assistant
在 VS Code 扩展市场搜索 Jarvis AI Assistant 或 jarvis-ai-assistant 即可找到。
VSCode 插件提供更紧密的 IDE 集成体验:
- 🤖 Agent 侧边栏:在 VS Code 侧边栏中直接访问 AI Agent
- 💬 聊天面板:与 AI 进行自然语言对话
- 🖥️ 终端面板:直接在扩展中运行命令行
- 🎨 Markdown 渲染:支持完整的 Markdown 渲染,包括代码高亮
- 📊 PlantUML 支持:支持 PlantUML 图表渲染
安装后点击左侧活动栏的 Jarvis 图标即可使用。
详细说明请参考 VSCode 插件用户手册。
🎯 核心能力
| 维度 | 能力 |
|---|---|
| 本地化 | 可操作本机任意资源(文件、命令、进程等) |
| 人机协作 | 执行前确认、虚拟终端、关键节点可介入,确保过程透明可控 |
| 方法论 | 成功经验自动沉淀为可复用方法论,支持中心库 Git 共享 |
| 记忆管理 | 标签化分层(短期 / 项目 / 全局),无向量计算,更轻量 |
| 代码开发 | 全自动 Git、Worktree 并行、波及分析、交叉引用、上下文推荐、独立 Agent 验证、静态检查、代码格式化、变更后自动处理 |
| 上下文压缩 | Git 上下文、任务列表、近期记忆、关键信息、意图识别等多机制,保证任务目标不偏离 |
| 任务列表 | 支线流程与主流程分离,不污染主 Agent 上下文 |
| 会话管理 | 自动保存、手动恢复,退出可继续 |
| 人格与规则 | 内置多种人格与开发规则,高效开发兼顾情绪价值 |
| 规则加载 | 前期固定流程筛选,后期按需自主加载,确保规则能被有效运用 |
| 工具自举 | 元代理(meta_agent)根据自然语言生成 / 改进工具并注册,支持自演化 |
| 工具调度 | 按任务智能筛选工具、工具组切换,支持多工具并行调用(无依赖时) |
| 智能提示 | 根据任务优化系统提示词,使 Agent 更贴合当前场景 |
| Windows 支持 | 支持 Windows,可自动化操作 Windows GUI 程序 |
与其他方案对比
| 项目 | 定位 | 形态 | 核心场景 |
|---|---|---|---|
| Jarvis | AI 助手平台 | CLI + Python SDK | 代码开发、安全分析、C→Rust 迁移 |
| LangChain | LLM 应用框架 | Python 库 | 通用 Agent、RAG、工作流编排 |
| AutoGPT | 自主 AI Agent | 独立应用 | 目标驱动的自主任务执行 |
| OpenClaw | 个人 AI 助手框架 | Node.js 应用 | 多通道消息、24/7 自主运行 |
| ZeroClaw | OpenClaw 轻量替代 | Rust 二进制 | 同 OpenClaw |
- Jarvis:面向代码开发,采用分层架构(Agent / CodeAgent),强调本地化、轻量记忆、任务分离、规则按需加载,并支持 Windows GUI 自动化。
- LangChain:通用编排框架,侧重生产级 RAG 与工作流,适合构建 LLM 应用。
- AutoGPT:早期自主 Agent 代表,目标驱动明显,但成本和稳定性控制要求更高。
- OpenClaw / ZeroClaw:更偏向消息渠道和日常自动化场景。
🚀 快速开始
💡 30 秒上手:安装后运行
jvs或jca,按提示配置 API Key,即可开始与 AI 协作开发。
系统要求
- 操作系统:Linux(主要)、Windows 10/11(WSL 或原生,支持 GUI 自动化)
- Python:3.12
- Docker(可选):镜像已预装依赖,无需本地 Python / Rust
安装
一键安装(推荐)
# Linux/macOS
bash -c "$(curl -fsSL https://raw.githubusercontent.com/skyfireitdiy/Jarvis/main/scripts/install.sh)"
# Windows PowerShell
iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/skyfireitdiy/Jarvis/main/scripts/install.ps1'))
安装脚本会自动完成以下操作:
- 下载 Jarvis 最新 tag 对应的源码(浅克隆,减少下载体积)
- 将仓库内置依赖目录加入当前会话
PATH - 使用仓库内置
uv执行uv tool install -e . --python 3.12 - 额外安装
playwright与ddgr
提示:当前仓库已内置
x86_64_linux平台依赖。一键安装脚本会优先使用仓库内置uv;如果当前平台没有对应内置依赖,脚本会明确提示您手动安装uv或改用受支持的版本。
手动源码安装
git clone --depth 1 --branch <latest-tag> https://github.com/skyfireitdiy/Jarvis.git
cd Jarvis
export PATH="$(pwd)/src/jarvis/jarvis_data/deps/x86_64_linux:$PATH"
uv tool install -e . --python 3.12
uv tool install playwright
uv tool install ddgr
Docker 相关说明请参考仓库中的容器/部署文档;主安装入口已统一为“源码下载 + 仓库内置
uv+uv tool安装”方式。
第一个任务
# 通用任务:让 AI 帮你分析、规划、执行
jvs -T "分析当前项目结构,找出可优化的依赖关系"
# 代码任务:自动读代码、改代码、跑测试
jca -T "在 user 模块添加忘记密码功能"
# 一键生成规范的 Git 提交信息
jgc
💡 常用命令
| 命令 | 快捷方式 | 功能 |
|---|---|---|
jarvis |
jvs |
通用 AI 代理 |
jarvis-code-agent |
jca |
代码代理(分析、修改、生成) |
jarvis-sec |
jsec |
安全分析套件 |
jarvis-c2rust |
jc2r |
C→Rust 迁移套件 |
jarvis-git-commit |
jgc |
自动生成 Git 提交信息 |
jarvis-platform-manager |
jpm |
管理大语言模型平台 |
jarvis-quick-config |
jqc |
快速配置工具 |
完整命令列表见 使用指南。
📚 文档导航
新用户推荐阅读路径
- 先看 README:快速判断 Jarvis 是否适合你的场景
- 再看用户手册:按任务直接上手 CLI、CodeAgent、平台配置和专项能力
- 需要系统性理解时再看 Jarvis Book:了解架构、概念与扩展设计
用户手册(推荐新用户优先阅读)
docs/用户手册 是更偏“怎么用”的任务型文档,适合首次接触项目的用户快速入门。
Jarvis Book(适合系统性阅读)
🐍 Python SDK 集成
from jarvis.jarvis_code_agent.code_agent import CodeAgent
agent = CodeAgent()
agent.run('修复 user/service.py 中的登录验证 bug')
from jarvis.jarvis_agent import Agent
agent = Agent(system_prompt="你是一个专业的文档维护助手。", name="DocGenerator")
agent.run('分析 README.md,补充用户群体信息')
🏗 系统架构
Jarvis 采用 分层架构:以通用 Agent 为核心,通过继承构建 CodeAgent 增强层,再实现专业应用(安全分析、C→Rust 迁移等)。
flowchart TB
subgraph 专业应用层["专业应用层"]
jsec["jarvis-sec (jsec) 安全分析"]
jc2r["jarvis-c2rust (jc2r) C→Rust 迁移"]
end
subgraph 功能增强层["功能增强层 CodeAgent"]
code["代码结构分析 | 文件编辑 | 变更影响分析"]
end
subgraph 核心基础层["核心基础层 Agent"]
agent["对话与工具执行 | 会话管理 | 工具注册 | 平台适配 | 事件总线"]
end
专业应用层 -->|使用| 功能增强层
功能增强层 -->|继承| 核心基础层
专业应用
| 应用 | 命令 | 说明 |
|---|---|---|
| jarvis-sec | jsec |
安全分析套件:启发式扫描 → 聚类 → Agent 验证 → 报告聚合,支持 C/C++ 与 Rust |
| jarvis-c2rust | jc2r |
C→Rust 迁移套件:scan → lib-replace → prepare → transpile → optimize,支持断点续跑 |
关键组件
| 组件 | 用途 |
|---|---|
| AgentRunLoop | 主运行循环,驱动“模型思考 → 工具执行 → 结果拼接”迭代 |
| SessionManager | 会话状态管理,支持保存、恢复、清理历史 |
| PromptManager | 构建系统提示与附加提示(工具规范、记忆引导等) |
| EventBus | 事件总线,关键节点广播,支持旁路扩展 |
| ToolRegistry | 工具注册表,发现、加载、执行工具(内置、外部、MCP) |
| MemoryManager | 记忆管理,短期 / 项目 / 全局三层架构 |
| TaskAnalyzer | 任务分析,满意度收集与方法论沉淀 |
| PlatformRegistry / BasePlatform | 平台适配层,屏蔽不同 LLM 服务商差异 |
| RulesManager | 规则管理,多来源加载与激活,与 Skills 标准兼容 |
| 输入处理器链 | 内置、Shell、文件上下文处理器,处理特殊标记、命令、文件引用 |
⚙ 配置说明
配置文件位于 ~/.jarvis/config.yaml,首次运行将启动交互式配置向导。
示例
llm_group: default
llm_groups:
default:
normal_llm: gpt-5
llms:
gpt-5:
platform: openai
model: gpt-5
max_input_token_count: 128000
llm_config:
openai_api_key: "your-api-key-here"
更多配置项见 使用指南。
🛠 扩展能力
- 自定义工具:在
~/.jarvis/tools/下创建并注册,支持中心工具仓库(central_tool_repo)团队共享 - 新 LLM 平台:在
~/.jarvis/platforms/下添加适配器 - MCP 集成:通过配置文件接入命令协议
详见 功能扩展。
Star History
🤝 贡献指南
欢迎一起把 Jarvis 做得更好!无论是修 Bug、加功能、写文档,还是分享使用心得,我们都期待你的参与。
参与流程:Fork 仓库 → 创建分支 → 提交更改 → 发起 Pull Request
⚠ 注意事项
- 模型使用:请遵守各模型平台服务条款,合理使用。
- 命令执行:Jarvis 具备执行系统命令能力,请谨慎输入;可启用
execute_tool_confirm: true进行执行前确认。
📄 许可证
MIT 许可证,详见 LICENSE。
如果 Jarvis 对你有帮助,欢迎给个 ⭐ Star
由 Jarvis 团队用 ❤ 制作。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jarvis_ai_assistant-3.0.25.tar.gz.
File metadata
- Download URL: jarvis_ai_assistant-3.0.25.tar.gz
- Upload date:
- Size: 42.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15ba9bf02849e079e990b25e7e603725a199f113bbf9423efd8ca9aa127a1996
|
|
| MD5 |
f3f25aa4bf39d562a32ce2c30a8224b4
|
|
| BLAKE2b-256 |
dd5d7d7573d24472da89865672f4b5a6c48ba3d4108d83415a391014d129ac4c
|
File details
Details for the file jarvis_ai_assistant-3.0.25-py3-none-any.whl.
File metadata
- Download URL: jarvis_ai_assistant-3.0.25-py3-none-any.whl
- Upload date:
- Size: 38.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80f5100f1a5f405fc4affc69f85460fd86009531790548ce7a68e2bc75c250de
|
|
| MD5 |
b6a20b034b7de51322c60333815b8d51
|
|
| BLAKE2b-256 |
0aa204aae14258ecb0c1b6dbf1f8747ce2b4d919e9c136cdd4f4d2103b84a8ca
|