项目目录

这里是我所有业余项目的总览,按技术栈分类。


OpenResty / Lua — LLM API 网关

balancer_body — 带请求体替换的降级链

基于 OpenResty 的负载均衡原型,实现主备切换 + 请求体重写。核心流程:access 阶段解析路由头 → proxy_pass 主目标 → 5xx 时 error_page 跳转 @retry → 遍历降级目标,为每个目标改写 body(替换 model 字段),支持流式响应透传。

  • 技术栈:OpenResty, LuaJIT, resty.http, cosocket
  • 端口:8000(主),9001/9002/9003(mock 后端)

token-quota — Token 配额/限流模块

LLM 网关的配额管理核心。三级限流(API / APP / Model)、多周期(日/月/年/自定义 P45D)、双路径结算(安全期内存缓冲 + 危险期实时 Redis)。13 个 Lua 模块,1975 行代码,29 个端到端测试用例。

  • 技术栈:OpenResty, Redis standalone + cluster, MySQL, Lua EVAL
  • 端口:8000

nginx_retry_fallback

合并重试+降级服务器列表为一组,插件式架构,支持 should_run / calc_timeout / select_server 三个自定义 hook。4 个 mock 后端(8080-8083)。

llm-gateway-demo / llm-gateway-plugin

全功能 LLM 网关原型和轻量插件版。动态 upstream 管理、API 路由、admin REST 接口。通过 start.sh 启动,端口 8080。

其他 Lua 项目

项目 说明
balancer_demo / balancer_plugin_demo balancer_by_lua_file 重试+降级早期原型
context-length-route / model-context-length-route 按请求上下文长度路由到不同模型后端
dynamic-routing 基于 Redis 的动态路由
process 多 nginx phase 与 Redis 交互原型
fail-retry resty.http 简单重试 demo
unit-test iresty_test 单元测试框架
debugger / debugger-test LuaPanda + VSCode 调试集成

Node.js — API 网关

LLM API Gateway

聚合 Anthropic / Moonshot / DashScope / 本地 Ollama 四个提供商的统一网关,OpenAI 兼容接口。支持三种路由模式:direct(指定模型)、auto(能力矩阵评分)、smart(LLM 自主路由)。内置免费配额追踪,配额耗尽自动降级。

  • 技术栈:Node.js 原生 http, js-yaml, YAML 配置
  • 端口:3000

Chrome 扩展 — JsProj/ChromeExt/

SmartBookmarkExt — 智能自动收藏夹

追踪用户在每个页面的停留时间,超过阈值自动收藏到指定文件夹。自动提取关键词标签(从标题/SEO/URL 中),支持搜索和去重。

  • 技术栈:Manifest V3, Chrome bookmarks/storage/tabs API
  • 核心文件:background.js(22KB)

FeishuAutoExt — 飞书应用自动配置助手

open.feishu.cn 上自动化创建自建应用:填表单、添加机器人、批量导入权限、创建版本、配置事件订阅、提取 App ID/Secret。

  • 核心文件:scripts/content.js(42KB DOM 自动化)

其他 Chrome 扩展

扩展 功能
DailySpinExt 每日签到自动化
ExtensionManagerExt 扩展管理工具
HotNewsExt 热点新闻聚合
HuggingfaceExt Hugging Face 集成(webpack 构建)
ResumeHelperExt 简历辅助工具
TableMateExt 表格管理(xlsx 支持)
WebRagExt 网页 RAG 扩展
WorkdayExt 工作日计算器

微信小程序 — 哆啦工具袋 (JsProj/toolbox/)

包含 12 个实用工具的微信小程序,使用 WeUI 组件库和微信云开发。

工具 说明
工时记录 多段计时,时薪收入计算
乐了么 情绪打卡,日历统计
台球记录 实时计分器
斯诺克 100 位职业球员数据 + 对战统计
素材收集 文字/图片/链接收集
保质期管家 扫码+OCR 识别,到期提醒
汇率换算 多银行实时汇率
种菜模拟器 真实环境参数种菜
续费管理 自动续费服务提醒
财富自由计算器 多币种资产建模
个人财富追踪器 多平台资产管理
随口记 AI 语音/文字记账

4 个云函数:fetchArticle、getExchangeRate、ocrDate、speechRecognition。


Python 项目

Bailian Batch API Client (PyProj/batch_api_project/)

阿里云百炼批量推理 API 客户端,处理文件上传(JSONL)、创建批处理任务、轮询状态、下载结果的全流程。批量价格仅为实时 API 的 50%。

  • 技术栈:Python 3.7+, httpx, python-dotenv

Snooker Data Scraper (snooker/)

爬取 cuetracker.net 斯诺克对战数据,支持单球员对和批量 top 8 球员(28 对)。断点续爬,输出 JSON/SQLite。

  • 技术栈:Python, requests, BeautifulSoup, SQLite

Java — 条件路由算法 (JavaProj/)

条件路由等价性检测,用 HashSet 做顺序无关的比较。javac *.java && java ConditionRouteTest 编译运行。


基础设施

Docker Compose 搭建的 OpenSearch + Logstash + Filebeat 环境,用于日志存储、搜索和可视化。关闭安全特性,Apple Silicon 优化。

1
2
docker-compose up -d
./test-search.sh

FRP 内网穿透 + Hexo 博客 (frp/)

frp 将本地服务暴露到公网:hexo 博客、LLM 网关、Ollama、NAS 影音等 6 个代理。VPS 端 OpenResty 处理 SSL 终结。

AI Gateway 限流设计 (aigw/)

Redis + Lua 限流系统设计文档(Node.js 实现)。支持 5 种算法、多维规则、过滤器条件限流。尚未实现代码。


个人站

🤖 AI 博客助手
你好!我是博客 AI 助手,可以回答关于博客文章内容的问题。试试问我吧~