🦭 会记忆、能持续推进目标、会动态编排多 Agent 的跨端桌面 AI 助手,也可服务化常驻 NAS / 云端 | A cross-device desktop AI agent with memory, autonomous goals, dynamic workflows, and headless deployment
$ npx -y skills add shiwenwen/hope-agent --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: shiwenwen/hope-agent
What's inside
Hope Agent 是一个本地优先、桌面优先,也能服务化常驻的个人 AI Agent。它像成熟的桌面软件一样打开即用,又真正具备 Agent 的行动力:理解长期上下文、调用工具完成工作,并在你离开后继续可靠地推进目标。
Hope Agent 很早就开始探索桌面 AI Agent。 在桌面 Agent 还很少见、Codex 尚处早期形态的阶段,我们就已经开始构建这个项目。我们一直专注于产品本身,而不是制造声量。随着桌面 AI Agent 逐渐成为热门方向,越来越多产品开始探索相似路径,也印证了我们最初的判断:AI 助手终将走出聊天框,成为可以长期托付工作的个人软件。
心智模型:Goal 定义最终结果,Workflow 负责一次具体执行,Loop 决定何时再次推进,Task 呈现当前进度,Mode 控制自主执行强度。它们可以组合,也可以独立使用。
更完整的版本变化请查看 CHANGELOG.md,实现细节见 docs/architecture/。
📦 各平台完整安装包列表:Releases
🌏 访问不了 GitHub? 所有安装包同时镜像在 https://repo.hopeagent.ai/download/latest/(Cloudflare R2,与 apt / dnf 软件源同域名),下面每个手动安装入口都给了镜像直链。桌面应用的自动更新也优先走这个镜像,GitHub 作为兜底。历史版本按
https://repo.hopeagent.ai/download/v<版本>/长期保留。
brew tap shiwenwen/hope-agent
brew install --cask hope-agent
已经手动装过
Hope Agent.app?在brew install后面加--adopt(接管同版本现有应用,不重新下载)或--force(强制重下覆盖)。
到 Releases 下载 Hope.Agent_*.dmg,拖到「应用程序」即可。镜像直链:Hope.Agent_aarch64.dmg。
若启动时提示"已损坏"或"无法验证开发者",请在终端执行:
sudo xattr -cr /Applications/Hope\ Agent.app sudo codesign --force --deep --sign - /Applications/Hope\ Agent.app
Apple Silicon 与 Intel Mac 均提供原生构建(arm64 / x64 DMG),Homebrew 与手动下载都会按你的硬件自动选对版本。
open -a "Hope Agent" / hope-agenthope-agent server start,只启动服务、不打开桌面窗口hope-agent acpscoop bucket add hope-agent https://github.com/shiwenwen/scoop-hope-agent
scoop install hope-agent
到 Releases 下载 Hope.Agent_*-setup.exe 双击安装。镜像直链:Hope.Agent_x64-setup.exe。Windows 端尚未完成充分测试,欢迎反馈问题。
若启动时提示"由于找不到 MSVCP140_1.dll,无法继续执行代码"或类似缺失
VCRUNTIME140.dll/MSVCP140.dll,请安装 Microsoft Visual C++ 2015–2022 运行库(x64)后重启应用。
当前仅 x64。
hope-agenthope-agent server start,只启动服务、不打开桌面窗口hope-agent acpyay -S hope-agent-bin # 或 paru / 任意 AUR helper
预编译二进制版(沿用 GitHub Release 的 .deb),不从源码编译。
curl -fsSL https://repo.hopeagent.ai/pubkey.gpg | \
sudo gpg --dearmor -o /usr/share/keyrings/hope-agent.gpg
echo "deb [signed-by=/usr/share/keyrings/hope-agent.gpg] https://repo.hopeagent.ai/apt stable main" | \
sudo tee /etc/apt/sources.list.d/hope-agent.list
sudo apt update
sudo apt install hope-agent
sudo curl -fsSL https://repo.hopeagent.ai/rpm/hope-agent.repo \
-o /etc/yum.repos.d/hope-agent.repo
sudo dnf install hope-agent # 或 sudo yum install hope-agent
历史命令
sudo dnf config-manager --add-repo …在 dnf5(Fedora 41+)已经废弃,用上面的curl写法对 dnf4 / dnf5 / yum / zypper 都兼容。
openSUSE 用户:
sudo zypper addrepo https://repo.hopeagent.ai/rpm/hope-agent.repo
sudo zypper install hope-agent
到 Releases 下载(包名含架构后缀,按你的机器选 _amd64 / _arm64 或 .x86_64 / .aarch64):
Hope.Agent_*.AppImage —— chmod +x 后直接运行。镜像:amd64 · aarch64Hope.Agent_*.deb —— sudo dpkg -i Hope.Agent_*.deb。镜像:amd64 · arm64Hope.Agent_*.rpm —— sudo rpm -i Hope.Agent_*.rpm。镜像:x86_64 · aarch64提供 amd64 (x86_64) 与 arm64 (aarch64) 两种原生构建,覆盖普通 PC、树莓派 4/5、Apple Silicon 跑 Asahi Linux、Graviton / Ampere 云主机。apt 与 dnf 都会按 dpkg --print-architecture / $basearch 自动选对版本。
hope-agenthope-agent server start,只启动服务、不打开桌面窗口hope-agent acprepo.hopeagent.ai 镜像,GitHub Releases 兜底),应用内 设置 → 关于 检查更新并一键安装;或者直接在对话里说「升级」或「检查更新」。自动更新下载的安装包一律经内置公钥验签,镜像与 GitHub 走同一套校验(手动下载的安装包由系统安装,不经这道验签)要从手机或另一台电脑访问,在「设置 → 服务器」中设置 API Key,并把监听地址改为
0.0.0.0:8420;重启后访问http://<运行 Hope Agent 的设备 IP>:8420。不要在没有鉴权的情况下把端口暴露到局域网或公网;公网使用请前置 HTTPS 反向代理,详见 Docker 部署指南。
把 Hope Agent 跑在家用 NAS / VPS / homelab 上、用浏览器访问 Web GUI 的场景:
docker run -d \
--name hope-agent \
-p 127.0.0.1:8420:8420 \
-v hope-data:/data \
ghcr.io/shiwenwen/hope-agent:latest
容器跑起来后浏览器打开 http://127.0.0.1:8420,按 Onboarding 向导配 Provider API Key。镜像覆盖 linux/amd64 + linux/arm64(含 Apple Silicon / 树莓派),随每次 Release Tag 自动构建。
要用 docker compose / 配合 Ollama 本地 LLM / 暴露到 LAN / 反向代理与 TLS / 升级流程,见 docs/deployment/docker.md。
git clone https://github.com/shiwenwen/hope-agent.git
cd hope-agent
pnpm install
pnpm dev:desktop # 默认桌面开发(前端 + Rust 热重载)
# 其他常用命令
pnpm typecheck # 前端类型检查(tsc -b)
pnpm lint # Lint
pnpm tauri build # 打生产包
桌面开发按需启用额外二进制,避免普通 UI / 业务开发等待不相关的 Rust crate:
| 命令 | Browser Host | Eval Sidecar | 用途 |
|---|---|---|---|
pnpm desktop | 按选择 | 按选择 | 交互选择以下模式 |
pnpm dev:desktop | 不构建 | 不构建 | 默认 UI / 业务开发 |
pnpm dev:desktop:browser | 构建 | 不构建 | Chrome 插件联调 |
pnpm dev:desktop:eval | 不构建 | 构建 | 评测功能开发 |
pnpm dev:desktop:full | 构建 | 构建 | 完整桌面能力验证 |
默认命令底层执行 pnpm exec tauri dev --config src-tauri/tauri.dev.conf.json;一般使用上面的脚本,避免启动参数与可选组件约定漂移。生产 pnpm tauri build 仍会构建并打包 Browser Host 和 Eval Sidecar。
本地开发时如果想在浏览器里看“网页版”并实时刷新,运行 pnpm dev:desktop 后打开 http://localhost:1420。这是 Vite dev server,和 Tauri 窗口共用前端热更新;http://localhost:8420 是内嵌 HTTP/WS 服务提供的静态 Web GUI(来自 dist/ / embedded bundle),用于模拟打包后的浏览器入口,不会跟随源码 HMR。若本地 Server 开了 API Key,1420 页面请求 8420 可能返回 401,开发时可先在设置里临时清空 Server API Key 后重启。
| 模式 | 启动方式 | 场景 |
|---|---|---|
| 桌面 GUI | 双击图标 / pnpm dev:desktop | 功能最全的入口:完整 GUI 体验,并内嵌 HTTP/WS 服务,桌面在用的同时可对外提供接入 |
| Server + Web GUI(HTTP/WS) | 通过 server start 子命令;server install 可注册成 launchd / systemd 开机自启 | 无 GUI 守护进程,24 小时在线,IM 渠道 / Cron 不断线;前端 React UI 通过 rust-embed 内嵌进 server 二进制,浏览器打开 http://<server>:port 即得完整 Web GUI,手机 / 平板 / 任意电脑都能直连 |
| ACP(stdio) | 通过 acp 子命令 | IDE 直连,兼容 ACP 协议的编辑器把 Hope Agent 当 agent 后端调 |
三种模式共用同一套 ha-core 核心逻辑;配置、会话、记忆全部落在 ~/.hope-agent/ 下。
Cargo Workspace 分层多 Crate 架构:kernel 能力在 ha-core,独立特征业务在特征 crate(ha-acp / ha-browser / ha-design / ha-mac / ha-mcp / ha-media / ha-pet / ha-updater / ha-vcs / ha-weather,随 crate 拆分继续迁出):
crates/
ha-base/ 基础设施底层(paths / logging / platform / security)
ha-config-schema/ AppConfig 配置 wire 类型(纯数据定义)
ha-core/ Rust 核心库(零 Tauri 依赖)— kernel 与大部分业务逻辑
ha-acp/ ACP 特征 crate(stdio server 模式 + 外部 agent 控制面)
ha-browser/ 浏览器特征 crate(扩展 backend / CDP / browser 工具)
ha-design/ 设计空间特征 crate(artifacts 存储 + 编译/导出 + 三工具)
ha-mac/ macOS 控制特征 crate(Accessibility / 截屏 / mac_control 工具)
ha-mcp/ MCP 客户端特征 crate(McpManager / transport / OAuth / 两工具)
ha-media/ 媒体特征 crate(图/音生成 adapters + STT 引擎 + 两工具)
ha-pet/ 桌面宠物特征 crate(sprite 库 / 导入 / creator / 活动投影)
ha-updater/ 自升级特征 crate(依赖 ha-core,壳层 wire() 装配)
ha-vcs/ VCS/本地执行特征 crate(git 控制平面操作 + Docker 沙箱机器 + SearxNG 部署)
ha-weather/ 天气特征 crate(依赖 ha-core,壳层 wire() 装配)
ha-server/ axum HTTP/WS 守护进程(薄壳)
ha-browser-host/ 浏览器辅助进程
ha-eval-spec/ 评测协议(不依赖 ha-core)
ha-eval/ 评测 CLI
src-tauri/ Tauri 桌面 Shell(薄壳)
src/ React 19 + TypeScript 前端
skills/ 内置技能(随应用发行)
完整的模块拓扑、架构约定、编码规范见 AGENTS.md。
主分支处于活跃开发阶段,欢迎 issue / PR。贡献前请先读一遍 AGENTS.md 的 "架构约定" 和 "编码规范" 两节。
常用命令:
pnpm dev:desktop # 默认桌面开发
cargo check --workspace # Rust 依赖 / 类型检查
cargo test -p ha-base -p ha-config-schema -p ha-core -p ha-acp -p ha-browser -p ha-design -p ha-mac -p ha-mcp -p ha-media -p ha-pet -p ha-updater -p ha-vcs -p ha-weather -p ha-server # 核心测试
node scripts/sync-i18n.mjs --check # 检查翻译缺失
.dockerignore
.github/
CODEOWNERS
scripts/
install-nasm-windows.ps1
workflows/
build-macos-x64.yml
docker.yml
lint.yml
mirror-release-r2.yml
release.yml
rust.yml
update-aur.yml
update-homebrew-tap.yml
update-linux-repo.yml
update-scoop-bucket.yml
.gitignore
.husky/
pre-push
.npmrc
.prettierignore
.prettierrc
AGENTS.md
assets/
alpha-logo.png
screenshots/
chat-home.png
dashboard.png
design-space.png
knowledge-space.png
transparency-logo.png
aur/
hope-agent-bin/
.SRCINFO.tmpl
PKGBUILD.tmpl
README.md
Cargo.lock
Cargo.toml
CHANGELOG.md
CLAUDE.md
CONTRIBUTING.en.md
CONTRIBUTING.md
crates/
ha-acp/
Cargo.toml
src/
acp/
acp_control/
config.rs
events.rs
health.rs
mod.rs
registry.rs
runtime_stdio.rs
session_manager.rs
types.rs
agent.rs
event_mapper.rs
mod.rs
protocol.rs
server.rs
session.rs
types.rs
lib.rs
tool.rs
tests/
approval_fail_closed.rs
ha-base/
Cargo.toml
src/
blocking.rs
crash_journal.rs
event_bus.rs
execution_mode.rs
lib.rs
logging/
app_logger.rs
config.rs
db.rs
file_ops.rs
file_writer.rs
mod.rs
types.rs
paths.rs
permissions.rs
platform/
keep_awake.rs
mod.rs
service.rs
system_permissions.rs
unix.rs
windows.rs
process_registry.rs
runtime_lock.rs
runtime_role.rs
security/
dangerous.rs
http_stream.rs
mod.rs
ssrf.rs
service_install.rs
terminal.rs
ttl_cache.rs
util.rs
weather_location_macos.rs
workflow_mode.rs
ha-browser/
ha-browser-host/
Cargo.toml
src/
lib.rs
main.rs
protocol.rs
build.rs
Cargo.toml
src/
browser/
browser_state.rs
browser_ui.rs
backend_select.rs
backend.rs
cdp_backend.rs
extension/
backend.rs
broker.rs
diagnostics.rs
embedded.rs
events.rs
mod.rs
registry.rs
frame.rs
launch_circuit.rs
mod.rs
observe_buffer.rs
profile.rs
runtime.rs
singleton_lock.rs
spawn.rs
user_attach.rs
lib.rs
tool/
mod.rs
ha-channel/
build.rs
Cargo.toml
proto/
pbbp2.proto
src/
channel/
accounts.rs
attach_sync.rs
discord/
api.rs
format.rs
gateway.rs
inbound_media.rs
media.rs
mod.rs
feishu/
api_approval.rs
api_bitable.rs
api_calendar.rs
api_contact.rs
api_docx.rs
api_drive.rs
api_hire.rs
api_wiki.rs
api.rs
auth.rs
data_cache.rs
format.rs
inbound_events.rs
inbound_media.rs
media.rs
mod.rs
proto.rs
ws_event.rs
googlechat/
api.rs
auth.rs
format.rs
inbound_media.rs
jwt.rs
mod.rs
webhook.rs
imessage/
client.rs
format.rs
media.rs
mod.rs
inbound_media_common.rs
irc/
client.rs
format.rs
mod.rs
protocol.rs
line/
api.rs
format.rs
inbound_media.rs
mod.rs
webhook.rs
media_helpers.rs
mod.rs
process_manager.rs
qqbot/
api.rs
auth.rs
format.rs
gateway.rs
inbound_media.rs
mod.rs
rate_limit.rs
signal/
client.rs
daemon.rs
format.rs
inbound_media.rs
media.rs
mod.rs
slack/
api.rs
format.rs
inbound_media.rs
media.rs
mod.rs
socket.rs
start_watchdog.rs
telegram/
api.rs
format.rs
inbound_media.rs
media.rs
mod.rs
native.rs
polling.rs
rich.rs
webhook_server.rs
wechat/
api.rs
inbound_media.rs
login.rs
media.rs
mod.rs
polling.rs
whatsapp/
api.rs
format.rs
inbound_media.rs
media.rs
mod.rs
polling.rs
worker/
approval.rs
ask_user.rs
delivery_report.rs
dispatcher.rs
eviction_watcher.rs
media.rs
mod.rs
pipeline.rs
provider_lane.rs
slash_callback.rs
slash.rs
startup_state.rs
startup_watcher.rs
streaming.rs
tests.rs
turn_queue.rs
ws.rs
im_mirror.rs
lib.rs
tools/
feishu/
approval.rs
bitable.rs
calendar.rs
contact.rs
docx.rs
drive.rs
hire.rs
mod.rs
wiki.rs
mod.rs
ha-config-schema/
Cargo.toml
src/
acp_control.rs
awareness.rs
browser/
extension.rs
mod.rs
channel.rs
config.rs
context_compact.rs
design.rs
hooks.rs
issue_reporting.rs
knowledge/
chunker.rs
maintenance/
config.rs
mod.rs
mod.rs
search.rs
types.rs
lib.rs
mcp.rs
media_gen.rs
memory/
dreaming.rs
embedding.rs
mod.rs
recall_summary.rs
runtime_config.rs
types.rs
permission.rs
pet.rs
provider.rs
session_title.rs
skills.rs
sprite.rs
stt.rs
tools/
canvas.rs
image.rs
mod.rs
pdf.rs
web_fetch.rs
web_search.rs
updater.rs
ha-core/
build.rs
Cargo.toml
src/
activity.rs
agent/
agent_config.rs
agent_lifecycle.rs
agent_loader.rs
active_memory.rs
api_types.rs
coding_profile.rs
config.rs
content.rs
context.rs
errors.rs
event_rewrite.rs
events.rs
llm_adapter.rs
migration.rs
mod.rs
plan_context.rs
preflight.rs
providers/
anthropic_adapter.rs
anthropic.rs
cancel.rs
codex_adapter.rs
codex.rs
mod.rs
openai_chat_adapter.rs
openai_chat.rs
openai_responses_adapter.rs
openai_responses.rs
related_notes.rs
resolver.rs
retrieval_planner.rs
runtime_ledger.rs
side_query_stream.rs
side_query.rs
streaming_adapter.rs
streaming_loop.rs
token_manifest.rs
types.rs
vision_bridge.rs
app_init.rs
ask_user/
mod.rs
questions.rs
types.rs
async_jobs/
approval_bridge.rs
approval_projection_watcher.rs
cancel.rs
db.rs
error.rs
events.rs
injection.rs
manager.rs
mod.rs
output_tail.rs
retention.rs
retry.rs
slots.rs
spawn.rs
types.rs
wait.rs
attachments.rs
automation/
... 1600 moreShowing a partial view of a very large repo.
FAQ
hope-agent is a Claude Code plugin with 28 hand-picked skills for automation work, indexed on Flowy. Install it with the command on its page. It includes email-draft, feishu, ha-browser. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.