
ai-memory AUR打包详解PKGBUILD到systemd单元的完整指南【免费下载链接】ai-memorySolution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors项目地址: https://gitcode.com/GitHub_Trending/ai/ai-memory在 Arch Linux 上ai-memory提供了两种 AUR 打包方案源码编译包ai-memory与预编译二进制包ai-memory-bin并配套交付了完整的 systemd 系统/用户服务单元。本文带你完整走一遍从 PKGBUILD 到 systemd 服务单元 的打包细节帮你快速在 Arch 上装好并跑起这个 AI 编码代理的长期记忆服务器。一、它是什么为什么 Arch 用户需要这个 AUR 包ai-memory 是一个本地优先local-first的 AI 编码代理长期记忆 MCP 服务器它在后台持续捕获 Claude Code、Codex、Cursor 等 20 多种代理的工作会话把经验沉淀为可搜索的 Markdown 页面实现跨代理、跨机器的任务交接。对 Arch 用户而言AUR 包的价值在于✅ 二进制安装到标准路径/usr/bin/ai-memory✅ 配置文件自动落到/etc/ai-memory/升级时不覆盖你的改动backup机制✅ 附带 systemd 单元开机自启、崩溃自动重启零额外配置✅ 安装完成后终端直接打印下一步指引新手也能跟上节奏二、两个 AUR 包怎么选ai-memory vs ai-memory-bin打包目录 packaging/aur/ 中维护了两份 PKGBUILD职责清晰维度ai-memoryai-memory-bin定义文件PKGBUILDPKGBUILD-bin安装方式从源码用本地 Rust 工具链编译直接下载预编译 Linux 二进制速度较慢需cargo build⚡ 最快架构x86_64 / aarch64x86_64 / aarch64按架构选不同 tar 包互斥关系conflicts(ai-memory-bin)conflicts指向ai-memory两者只能装一个几个值得留意的 PKGBUILD 细节占位符版本策略两份 PKGBUILD 里的pkgver和sha256sums都是占位值SKIP。发布时由 CI 工作流按 release 标签自动重写版本号和校验和再推送到 AUR——所以手动改这些值没有意义。bin 包的按架构源码PKGBUILD-bin 使用source_x86_64/source_aarch64分组下载对应平台的二进制 tar 包优雅地解决了多架构问题。编译包的质量门槛PKGBUILD 的check()函数会在打包时运行cargo test等于为每个 AUR 构建上了一道测试保险并通过RUSTUP_TOOLCHAIN1.95钉住工具链版本保证构建可复现。统一安装脚本两个包共用 ai-memory.install负责安装/升级后的终端提示见下文第五节。三、打包内容解剖装进系统里的都有什么package()函数把项目文件按 Arch 文件系统规范FHS铺到标准位置安装目标来源作用/usr/bin/ai-memory编译产物或预编译二进制主命令/usr/share/ai-memory/hooks/hooks/ 全部钩子脚本各代理的生命周期钩子/etc/ai-memory/config.tomlconfig.default.toml全局配置backup保护/etc/ai-memory/env环境变量模板存放 LLM API 密钥0640 权限/usr/lib/systemd/system/ai-memory.serviceai-memory.service系统级服务单元/usr/lib/systemd/user/ai-memory.serviceai-memory-user.service用户级服务单元/usr/lib/sysusers.d/ai-memory.confai-memory.conf创建ai-memory专用系统用户/usr/lib/tmpfiles.d/ai-memory.confai-memory.conf创建/var/lib/ai-memory数据目录0750注意depends非常克制只依赖ca-certificates、gcc-libs、glibc三个基础库——Rust 静态链接的代价干净利落。四、systemd 单元全解系统服务 vs 用户服务4.1 系统级服务沙箱拉满的生产方案ai-memory.service 是打包中最值得细看的文件它把 systemd 安全特性用到了教科书级别[Service] Typesimple Userai-memory Groupai-memory ExecStart/usr/bin/ai-memory --data-dir /var/lib/ai-memory \ --config /etc/ai-memory/config.toml serve --transport http --enable-web Restarton-failure RestartSec5s StateDirectoryai-memory ProtectSystemstrict PrivateTmptrue NoNewPrivilegestrue逐条翻译成人话Userai-memory不跑在 root 下而是跑在 sysusers 配置 声明的专用低权限用户下shell 为/usr/bin/nologin禁止登录。Restarton-failureRestartSec5s进程异常退出后 5 秒自动拉起服务近乎自愈。StateDirectoryai-memory数据统一存/var/lib/ai-memory目录创建、属主、权限0750全部交给 systemd 托管。ProtectSystemstrict整个根文件系统对服务只读只放行ReadWritePaths/var/lib/ai-memory一个目录——服务想乱写都写不了。NoNewPrivilegestrue/PrivateTmptrue禁止提权、隔离临时目录攻击面进一步收窄。4.2 用户级服务个人开发机最简方案ai-memory-user.service 走 XDG 标准路径无需 root数据目录~/.local/share/ai-memory配置与密钥~/.config/ai-memory/env 文件前缀-表示可选不存在不报错WantedBydefault.target登录后随用户会话自动启动怎么选个人笔记本、单人开发 → 用户服务家庭服务器、团队共享一台记忆服务器 → 系统服务。五、一键安装步骤从 yay 到服务运行5.1 安装yay -S ai-memory-bin # 预编译二进制x86_64/aarch64 最快 yay -S ai-memory # 源码编译5.2 读取安装提示安装完成后ai-memory.install 的post_install钩子会把后续步骤直接打印在终端里——这正是 AUR 打包的贴心之处用户服务模式先ai-memory init初始化配置然后systemctl --user enable --now ai-memory.service系统服务模式执行sudo systemd-sysusers和sudo systemd-tmpfiles --create应用两个 .conf 声明再以ai-memory用户身份init最后sudo systemctl enable --now ai-memory.service5.3 关键收尾# 把 LLM API 密钥写入 env 文件用户模式 nano ~/.config/ai-memory/env # 重载并启动用户服务 systemctl --user daemon-reload systemctl --user enable --now ai-memory.service systemctl --user status ai-memory.service启动后可通过--enable-web参数打开的 Web 界面直接管理项目与记忆页面完整说明见 docs/install.md 中的 AUR 章节。六、升级与发布打包如何保鲜升级很简单yay -S ai-memory-bin重新装一遍即可。post_upgrade钩子会提示一个易被忽略的动作——如果你用生命周期钩子建议重新执行ai-memory install-hooks --apply刷新各代理的钩子脚本。对维护者来说仓库内置了两层质量闸门详见 packaging/aur/README.md scripts/check-native-packaging.shCI 日常运行的非破坏性检查用临时 alternate root 验证单元语法、sysusers/tmpfiles 声明形态 scripts/test-native-arch-systemd-distrobox.sh发布前的终极冒烟在一个一次性 Arch distrobox 里真实安装、真实systemctl启动服务、验证钩子脚本落位发布流程完全自动化推一个vX.Y.Z标签CI 校验标签与Cargo.toml版本一致、重算校验和、生成.SRCINFO并推送两个 AUR 仓库——这也是为什么 PKGBUILD 里的版本号只是占位符。七、常见问题速答Q装了ai-memory-bin又装ai-memory会怎样A装不进去。两者互相声明了conflictspacman 会直接拒绝保证/usr/bin/ai-memory只有一个来源。Q修改/etc/ai-memory/config.toml后升级会被覆盖吗A不会。该文件与env都登记在 PKGBUILD 的backup数组里pacman 升级时会保留你的修改并生成.pacnew供对比。Q服务启动失败了先看哪里Ajournalctl -u ai-memory系统模式或journalctl --user -u ai-memory用户模式。90% 的情况是 env 文件里的 LLM 密钥缺失或格式不对。Q为什么depends里没有 RustARust 是编译期依赖makedepends运行时二进制是静态链接的只依赖 glibc 等基础库——所以 bin 包才能做到秒装。八、核心文件速查文件说明packaging/aur/PKGBUILD源码编译包定义packaging/aur/PKGBUILD-bin预编译二进制包定义packaging/aur/ai-memory.install安装/升级提示脚本packaging/systemd/ai-memory.service系统级 systemd 单元packaging/systemd/ai-memory-user.service用户级 systemd 单元packaging/sysusers/ai-memory.conf专用服务用户声明packaging/tmpfiles/ai-memory.conf数据目录声明packaging/aur/README.md打包者手册与发布清单docs/install.md官方安装文档含 AUR 章节写在最后这套 AUR 打包的教科书意义在于三点克制依赖最小化Rust 静态链接、权限最小化专用用户 ProtectSystemstrict、流程自动化占位符 PKGBUILD CI 全托管发布。对个人用户你只需要记住一条命令yay -S ai-memory-bin和一段systemctl --user enable --now对打包爱好者packaging/ 目录则是 Arch 原生打包 systemd 沙箱的最佳实践样本。【免费下载链接】ai-memorySolution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors项目地址: https://gitcode.com/GitHub_Trending/ai/ai-memory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考