我的 AI 项目作品集


作为一个保安,我平时喜欢折腾各种小工具。这里汇总一下我做过的几个 AI 相关项目,都是从零开始写的,全部自包含、无复杂依赖。

项目一览

项目 语言 用途
Ledger Python 命令行消费记账
LocalKB Python 本地私有知识库(RAG)
dinggang-scheduler Shell 顶岗排班自动提醒
mcp-server-persona Node.js 人设记忆 MCP 服务
ftp_video_server Python 局域网 FTP 视频服务器
malu-blog Hexo 这个博客本身

1. Ledger — 命令行记账

Python 标准库 + SQLite 单文件,零第三方依赖。

1
2
3
4
5
6
7
8
# 记一笔
python3 ledger.py add 35 餐饮 猪脚饭

# 查最近5条
python3 ledger.py query --limit 5

# 月度总结
python3 ledger.py summary --month 2026-10

特点:

  • 只有一个 ledger.py + 一个 ledger.db,拷到哪都能跑
  • 预设 8 大分类(餐饮/交通/购物/居家/娱乐/医疗/学习/其他)
  • 支持补记历史、关键词搜索、分类统计
  • 数据库随项目目录走,换机器直接拷

2. LocalKB — 本地知识库

基于 Ollama + ChromaDB 的私有 RAG 知识库,所有数据都在本地,不上云。

模型配置:

  • 嵌入模型:bge-m3(中文优化)
  • 对话模型:qwen3.5:4b(关闭思考模式)
1
2
3
4
5
6
7
8
# 建库
python3 build_kb.py

# 命令行问答
python3 query_kb.py

# 局域网 Web 界面(手机也能访问)
python3 web_kb.py

特点:

  • 把 Markdown 文档转向量,支持自然语言问答
  • 局域网手机可访问,躺在沙发上就能查笔记
  • 所有文档、向量库都在本地,隐私不出门
  • 对比测试过多个模型,最终选了 qwen3.5:4b 关闭思考模式(31秒出结果,准确率最高)

3. dinggang-scheduler — 顶岗提醒

保安顶岗排班的自动提醒脚本,28天轮班制(14天夜班+14天白班),自动算班次、自动跳过休息日。

1
2
3
4
# 休息日配置(周一、周四休息)
cat rest-days.conf
# 1
# 4

特点:

  • 挂在 crontab 上,每趟顶岗时间点自动发微信提醒
  • 配置完全自包含,改休息日只改一个文件
  • 夜班第三趟自动判断”昨天是不是休息日”
  • 支持彻底脱离微信通道,改成 macOS 本地弹窗

4. mcp-server-persona — 人设记忆服务

把 AI 助手的人设和长期记忆做成标准 MCP Server,其他 AI 实例可以跨进程读取。

技术栈:

  • 纯 Node.js,无外部依赖
  • HTTP + SSE 传输
  • launchd 开机自启

提供的工具:

  • read_persona — 读取人设文件
  • read_memory — 读取长期记忆
  • search_memory — 关键词搜索记忆
  • append_memory — 追加新记忆
  • read_daily_note — 读取每日日志

特点:

  • 多个 AI 实例共享同一份记忆,不用每个都重新教一遍
  • 只能追加不能覆写,防止误删
  • 读和写路径分离,读快照写主库,自动镜像

5. ftp_video_server — 视频服务器

局域网 FTP 视频传输,手机传视频到电脑自动分类整理。


6. malu-blog — 这个博客

就是你现在看到的这个网站。

技术栈:

  • Hexo 6.3 + matery 主题
  • GitHub Pages 免费托管
  • 自定义域名 malu.website
  • 打赏收款码、About 页、文章分类全配齐

写在最后

这些项目都是工作之余一点点攒出来的。作为一个保安,写代码不是我的工作,但它是我跟这个世界对话的方式。

工具是为人服务的,能解决自己的实际问题(记账、排班提醒、查笔记),比什么架构都强。


Author: malu
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source malu !
赏
  TOC