cat(Sebastian)中文教程:把带长期记忆的 AI 助手跑在自己电脑上
2026-10-27发表于
其他一、先搞清楚:这是个什么东西
入门
cat 是一个开源的 AI 助手程序,代号叫 Sebastian。它和网页版聊天机器人最大的区别有两个。
第一,它跑在你自己的机器上,数据留在本地,模型接口由你自己填。
第二,它有长期记忆。普通聊天机器人每次开新对话都会"失忆",你上次说过的偏好它一概不记得。而 Sebastian 会把聊过的关键信息存进自己的数据库,下次对话时自动调出来,越用越懂你。
可以把它理解成一个私人管家:你跟他说过"我对花生过敏""我女儿叫小雨",他把这些写进随身带的小本本,之后每次开口前都先翻一遍本子。
程序本身是用 Laravel(一种流行的 PHP 网页开发框架,负责处理网页请求、数据库读写这些底层脏活)写的,所以你能用成熟的 Web 工具链来部署和维护它。
注意:仓库的 README 模板还停留在 Laravel 默认样式,没有写清项目专属的安装细节。本文的安装流程是按标准 Laravel 项目的通用步骤整理的,实际配置项请以仓库里的
.env.example文件为准。
二、准备环境:装齐四样东西
入门
开始之前,你需要准备好下面几样软件。它们缺一不可,下面解释每个是干嘛的。
| 软件 | 作用 | 建议版本 |
|---|---|---|
| PHP | 运行这个程序的"发动机" | 8.2 或更高 |
| Composer | PHP 的包管理器,负责下载依赖库 | 最新版 |
| Node.js | 编译前端页面文件 | 18 或更高 |
| 数据库 | 存放记忆和对话记录 | 自带 SQLite 最省事 |
为什么 PHP 要 8.2 以上? 因为新版 Laravel 只支持新版本 PHP,版本低了装依赖时会直接报错。
数据库选什么? 零基础强烈建议用 SQLite。它不需要单独安装服务,就是一个普通文件,Laravel 会自动帮你创建。
在 Linux 或 macOS 上,可以参考这个思路安装(Ubuntu 为例):
sudo apt update
sudo apt install php8.3 php8.3-cli php8.3-xml php8.3-mbstring php8.3-sqlite3 php8.3-curl unzip
Windows 用户建议直接装 Laravel Herd 之类的集成环境,它会把 PHP 和常用扩展一次性配好,省去大量折腾。
三、安装与启动:五步跑起来
入门
环境装好后,打开终端(就是那个黑乎乎的命令行窗口,Windows 叫 PowerShell 或 CMD,macOS 叫"终端"),跟着做。
第一步:把代码下载到本地
git clone https://github.com/celaraze/cat.git
cd cat
第二步:安装依赖
composer install
npm install
第一条命令下载后端的 PHP 库,第二条下载前端的样式和脚本库。第一次跑会花几分钟,取决于网速。
第三步:复制配置文件并生成密钥
cp .env.example .env
php artisan key:generate
.env 是一个存放"秘密信息"的文件(数据库密码、API Key 等),它不该被公开,所以项目里只提供 .env.example 这个模板。第二条命令会给应用生成一串独一无二的加密密钥。
第四步:建表并构建前端资源
php artisan migrate
npm run build
第一条命令把数据库表结构建好(长期记忆就存在这些表里),第二条把前端文件编译成浏览器能直接读的版本。
第五步:启动
php artisan serve
看到 Server running on http://127.0.0.1:8000 这样的提示,就说明成功了。用浏览器打开这个地址,应该能看到 Sebastian 的界面。
想让程序在关掉终端后继续运行,可以研究 supervisor 或 systemd。日常试用阶段先用
php artisan serve就够了。
四、接入大模型:让它真正开口说话
入门
程序跑起来了,但它现在还是个"哑巴"——因为没连上大语言模型(LLM,也就是 ChatGPT 背后那种会写会聊的 AI 引擎)。
你需要一个模型服务商的 API Key。API Key 可以理解成一把门禁卡:你向服务商证明"我是付费用户,可以使用模型",程序每次提问都要刷这张卡。
拿到 Key 后,用文本编辑器打开项目根目录下的 .env 文件,找到填 Key 的位置,把你的 Key 粘进去。具体变量名请对照 .env.example 里的注释,本文不猜测它的写法,以免误导。
保存后重启服务(终端里按 Ctrl+C 停止,再重新执行 php artisan serve),配置才会生效。
第一次对话时可以这样验证记忆功能:
- 对它说:"我平时喜欢用 Python 写脚本。"
- 关闭浏览器标签页,重新打开页面(相当于开一个全新会话)。
- 问它:"我平时习惯用什么编程语言?"
如果它答对了,说明长期记忆已经正常工作。这就是这个项目最核心的价值所在。
五、日常使用与定制
进阶 · 推荐细读
调整运行端口
8000 端口被占用,或者想换个端口时:
php artisan serve --port=9000
开发模式
如果你打算改界面或交互逻辑,可以用开发服务器,改完文件刷新浏览器就能看到效果,不用重新构建:
npm run dev
代码结构速览
Laravel 项目的目录是有规律的,记住几个关键的就能自己摸索:
app/—— 核心逻辑,助手如何决定"记什么、回忆什么"大概率在这里routes/—— 定义网址和功能的对应关系database/migrations/—— 数据库表结构的演进记录resources/views/—— 页面长什么样的模板文件(项目主要语言是 Blade,就是 Laravel 的模板语言)
想改提示词、改助手的"人设",优先在 app/ 和 resources/ 里搜索关键词,比如 prompt、memory、system。
六、常见坑与排查
进阶 · 推荐细读
报错 composer: command not found
说明 Composer 没装,或者没加进系统路径。回到第二部分补齐。
composer install 时报 PHP 版本不匹配
项目要求的 PHP 版本比你装的高。用 php -v 看当前版本,然后升级 PHP。
页面能打开但助手不回答
大概率是 .env 里的 API Key 没填、填错位置,或者 Key 已经欠费失效。先确认 Key,再看终端里滚动的报错日志。
php artisan migrate 报数据库连接失败
检查 .env 里的数据库配置。用 SQLite 的话,确认目录下有 database/ 文件夹且当前用户有写入权限。
改了 .env 却不生效
Laravel 有配置缓存。执行下面两条命令刷新:
php artisan config:clear
php artisan cache:clear
遇到看不懂的报错,把完整报错信息直接贴给 AI 助手,让它解释,通常能很快定位。
七、值不值得用:一个判断建议
入门
适合你,如果: 你想要一个长期陪伴、能记住你偏好的私人 AI 助手;你在乎数据掌握在自己手里;你愿意花一点时间学基础的命令行操作。
可能不适合,如果: 你完全不想碰命令行,只是想随便聊聊。这种情况下直接用官方 App 体验更好,也不用自己配服务器和 API Key。
关于长期记忆需要知道的一点: 助手会把对话中的关键信息存进本地数据库。这意味着它比云端聊天工具更懂你,但也意味着你的偏好、笔记都躺在自己的机器上——记得定期备份项目目录下的数据库文件,尤其是 database/ 里的 SQLite 文件。
整个项目体量不大,跑起来之后从修改界面和提示词入手,是理解 Laravel 项目结构的不错起点。
项目信息
| 项目 | 值 |
|---|---|
| 仓库 | celaraze/cat |
| 语言 | Blade |
| Star | 899 |
| Fork | 196 |
| 主页 | 无 |
参考链接
延伸阅读
想继续探索?这些同领域的教程可能也适合你:
179
73
1
4969
文章目录
评论