ChatGPT 打字机显示效果的背后:Server-sent Events 介绍

在使用 [[ChatGPT]] 的时候总是对它一个字一个字的出结果感到焦急,虽然也知道 AI 生成内容的时候确实是一个字一个字计算出来的。OpenAI 使用这样的一个打字机效果也确实符合这个使用场景。但是当我想要自己去实现这样的效果的时候就突然遇到了我的知识盲区,观察 Chrome DevTools,我原本还以为是用 Web Socket 实现的,但是观察了一番发现并没有 Web Socket 的连接。再观察 https://chat.openai.com/backend-api/conversation 接口,发现 content-type: text Read more ...


Google Guice 轻量依赖注入使用

Guice 是 Google 推出的一个轻量级的依赖注入框架(dependency injection),可以帮助我们管理 Java 应用程序中的对象依赖关系。如果我们使用 Spring Framework 那可以直接使用 Spring 提供的 DI,但如果是使用 [[Javalin]] 或者自己的小型项目,但是也想使用灵活的 DI,但又不想要引用庞大的 Spring,就可以考虑 Guice。 Guice 根据’Apache 许可证版本 2’(Apache License version 2)发布,允许任何人免费使用、修改和重新发布,用于商业和非商业用 Read more ...


在 Hestia CP 的 VPS 上安装 ionCube Loader

Hestia Control Panel ([[HestiaCP]]) 是一个免费开源的 Web 服务器控制面板,它提供了一个易于使用的 Web 界面来管理 Web 服务器和网站。Hestia CP 支持多种 Linux 发行版,包括 Ubuntu、Debian、CentOS 等,可以安装和配置 Apache 或 Nginx、PHP、MySQL 等常见的 Web 服务器和数据库软件。Hestia CP 还提供了一些额外的功能,如邮件服务器、防火墙、文件备份和恢复等。 ionCube Loader 是一个 PHP 扩展程序,用于解密和执行使用 ionCu Read more ...

2023-04-20 hestiacp , php , hestia , linux , vps

我购买了一台软路由:倍控 3865U 六网口千兆软路由

在国内的时候买了一台软路由,倍控 3865U 六网口千兆软路由,在北京的时候还在上面安装了 Proxmox VE,然后测试安装了 [[iKuai]],[[pfSense]],[[OpenWrt]],[[LEDE]],但是来了日本之后就变成了一台小型家用主机,安装了一个 Ubuntu 22,然后安装了 [[Swizzin]] 变成了家庭影音的中心。 这篇文章一直在我的 Obsidian 中没有发出来,现在就记录一下相关的配置,以及我的折腾笔记。 倍控 3865U 六网口千兆软路由介绍 我买的是一台准系统,923.44 人民币,应该是买的稍微贵了一些。 Read more ...

2023-04-18 router , openwrt , proxmox , pve , proxmox-ve

Chatwoot Nignx 代理丢失 Header 信息

之前的一篇文章介绍过如何使用 Docker 自建 [[Chatwoot]],但是最近调用 API 的时候总是发现问题。在调用最普通的接口的时候,按照要求在 Header 中传了 api_access_token,但是接口返回 401 或者是 {"errors":["You need to sign in or sign up before continuing."]} 简单的查询了一下之后,发现问题出现在 Nginx 上,Nginx 默认情况下不允许带下划线的 Header,所以当请求到 Nginx,然后转发到后台 Chatwoot 的时候这个 a Read more ...


Proxmox VE 安装 Ubuntu Server 22.04

之前的时候,有一台小主机,在上面安装了 [[Proxmox VE]],然后在其中安装了 [[iKuai]] 和 [[OpenWrt]] 作为软路由使用。现在已经不需要再将其作为软路由代理使用,所以今天就拿出来整理一下,正好放在家里面作为一个 Linux 小服务器,跑一些小一点的程序,然后顺便挂载一个硬盘作为一个小型的媒体服务器。 因为之前在 Proxmox VE 上安装过很多次的系统,这里就不展开,把一些重要的配置和截图放在下面。 准备 ISO 在创建虚拟机之前,需要到 Ubuntu Server 官网 下载最新的 ISO 镜像,然后把镜像上传到 Read more ...


CoinPayments 加密货币支付网关

CoinPayments 是全球第一个加密货币支付网关,成立于 2013 年 8 月加拿大,CEO 是 Alex Alexandrov。商家可以借助 CoinPayments 来接受加密货币的支付订单。CoinPayments 接受非常多的加密货币,不仅支持流行的比特币(BTC),以太坊(ETH),还支持非常多的小众代币。CoinPayments 还提供了大量的购物车插件,以及定制的支付解决方案和商家工具。 CoinPayments 收取 0.5% 的固定佣金,相较于 Stripe 的 2~3%,以及信用卡更高的佣金,CoinPayments 非常有优 Read more ...


Sieve 一个过滤邮件的语言

之前在搭建 Mailcow 邮件服务器的时候简单的了解到了 Sieve 这个可以用来编程过滤邮件的语言。刚好现在要充分利用起 Mailcow,所以系统地学习一下 Sieve 这个邮件过滤编程语言。 什么是 Sieve Sieve 是由 RFC 5528 定义的一门专门用来处理电子邮件的语言。它被设计不仅可以用于邮件客户端的邮件过滤,也可以在邮件服务器端进行过滤。设计它的目的在于扩展性,且独立于邮件架构和操作系统。 它适合运行在不允许用户执行程序的邮件服务器上运行,例如在 IMAP 服务器上。因为 Sieve 中没有变量,没有循环,也不运行调用外部的 Read more ...


Raycast AI 使用体验

在之前的文章中就提到过 Raycast,前不久看到 [[Raycast]] 快速跟进了 OpenAI,现在推出了 Raycast AI,我没有想到的是,Raycast 的使用场景可以如此完美地和 AI 结合在一起。 Raycast 代替了如下我过去常常做的事情: 再不需要打开网页,或者 ChatGPT 客户端再输入问题 再不需要打开 Papago(或者 DeepL 等客户端)翻译段落(短句和单词基本靠 Chrome 插件和 [[GoldenDict]]) 再不需要打开 OpenAI Translator 对文本进行润色 直接在 Ob Read more ...

2023-04-09 raycast , launcher , macos , openai , ai , chatgpt

强大的网络调试和抓包工具 Whistle

在我之前的文章中介绍过不少的本地抓包和代理工具,比如非常常见的 Charles,以及开源的 mitmproxy,还有能抓更底层的 wireshark,Fiddler 等等。今天想要介绍的这一款 whistle 是另一款基于 Node.JS 实现的功能强大的跨平台抓包调试工具,可以作为 HTTP(默认),HTTPS 代理,Socks 代理,反向代理等。 功能 whistle 是一个 NodeJS 实现的 Debug 代理工具。 支持 macOS,Windows,提供 Windows 和 macOS 客户端 可以作为 HTTP,HTTPS,W Read more ...


最近文章

  • 推荐我使用的 Agent Skills 随着 AI 编程助手的快速发展,[[Claude Code]]、[[Codex]]、[[Gemini CLI]] 等工具已经成为开发者日常工作中不可或缺的伙伴。然而,这些工具的默认功能往往只是冰山一角。通过安装和配置 Agent Skills,我们可以大幅扩展这些 AI 助手的能力,让它们更加智能、更加专业。
  • Antigravity Agent Skills 功能介绍与实战指南 2026 年 1 月 14 日,[[Google]] 为其 AI 驱动的开发工具 [[Antigravity]] 推出了 Agent Skills 功能。这个开放标准的技能系统让开发者可以将专业知识打包成可复用的技能包,极大地扩展了 AI 智能体的能力边界。
  • Gemini CLI Agent Skills 功能介绍与上手指南 [[Gemini CLI]] 最近推出了一个非常强大的新功能,名为 [[Agent Skills]]。这个功能极大地扩展了命令行 AI 助手的边界,允许用户根据自己的需求定制专业的技能包。
  • 我购买了一个 DJI Mic Mini 最近为了提升移动拍摄时的收音质量,我入手了 DJI Mic Mini。虽然大疆提供了带充电盒的套装,但我只购买了单机版本(发射器+接收器,2 TX 1 RX 版本),因为对于我日常的拍摄需求来说,本体的续航已经完全足够了。
  • Auto Claude:Vibe Kanban 的终极形态?让 AI 并行开发的“指挥中心”来了 在上一篇文章 《Vibe Kanban:当 AI 开始并行协作,我们的开发方式变了》 中,我分享了一种利用 [[Vibe Kanban]] 和 AI Agent 实现并行开发的工作流理念。我们可以利用 Vibe Kanban 来统一管理多个并行任务。