HomeLab:中年男人的快乐源泉
未读简介 一年前购买了一张 Tesla P40, 花了 700+, 现在已经涨价到 1500+, 显卡真的是理财产品. 年前将装在公司服务器上的的 Tesla P40 带回了家, 想着如何在家将这张卡再次利用起来, 找了一圈了最终选择使用猛兽峡谷 11 代计算卡 + 外置机箱来配合这张卡. 硬件配置我比较喜欢开放型机箱, 相比有大比笨重的传统机箱, 我更喜欢看到内部的元器件, 所以这次还是挑选的一个开放型平台: 1200W CSPS 电源 + CSPS 转接板; 猛兽峡谷 11 代, i7 11700B 计算卡; Tesla P40 显卡; 华为 SP310 双光口万兆网卡; 温控版; 其他小配件; CSPS 电源第一次玩儿 CSPS 电源, 小黄鱼有大量改装配置, 相比于传统的 SFX 电源便宜的多: CSPS 是 Common Slot Power Supply 的缩写,如今,随着 CPU 和显卡频率的增加,对于电源的需求也越来越大,而现在的好的电源非常贵,而以往 500 瓦走天下的时代已经一去不复返了,这导致玩家只能一边骂电源厂商一边当韭菜,而这时,CSPS 的优点就 ...
简介在数字化时代,一张吸引人的封面图片对于博客来说至关重要。它不仅能够提升文章的视觉效果,还能在第一时间吸引读者的注意力。制作封面的方法多种多样,从自行设计到基于现有模板进行修改,每种方式都有其独特之处。然而,如果你希望以最快捷的方式输入标题或基本信息,直接生成封面,那么在线封面生成器无疑是你的最佳选择。今天,就让我带你一起探索几款优秀的在线封面生成工具,为你的技术博客增添一抹亮色。 CoverView:开发者的首选 链接: CoverView | GitHub 仓库 CoverView 以其丰富的内置模板和图标而著称,尤其是针对编程语言的图标,这使得它成为开发者制作技术博客封面的理想工具。无论是 Java、Python 还是 React,你都能在这里找到合适的图标和模板,快速打造出专业且符合技术氛围的封面。 Cover-Image-Generator:灵活调整,创意无限 链接: Cover-Image-Generator | GitHub 仓库 虽然没有内置模板,但 Cover-Image-Generator 的灵活性却为其赢得了众多粉丝。你可以自由移动标题和副标题的位置,调 ...
前言在 AI 时代,越来越多的开发者开始使用 AI 编程助手来提升开发效率。为了让 AI 更好地理解和学习我们的技术文档,社区提出了 llms.txt 规范。本文将以开发一个生成 llms.txt 的 Hexo 插件为例,介绍 Hexo 插件开发的基本流程。 什么是 llms.txt?背景随着 ChatGPT、Claude 等大语言模型的普及,越来越多的开发者开始使用 AI 编程助手。但是这些 AI 助手在访问网站内容时,往往需要处理复杂的 HTML 结构,这不仅增加了处理成本,还可能影响理解的准确性。 llms.txt 规范llms.txt 类似于 robots.txt,它是一个专门为 AI 准备的纯文本格式的站点内容索引。通过提供结构化的纯文本内容,可以帮助 AI 更好地理解和学习网站的内容。 主要特点: 纯文本格式,易于解析 包含文章的标题、描述和链接 可选包含完整的文章内容 支持 Markdown 格式 查看本站的 llmx.txt 和 llmx-full.txt Hexo 插件开发基础插件类型Hexo 支持多种类型的插件: Generator:用于生成静态文件 ...
简介在 Docker 生态中,命令行操作虽然强大,但繁琐的命令记忆和跨终端窗口的容器管理往往让开发者头疼。Lazydocker 应运而生,这是一款基于终端的 Docker 管理工具,凭借简洁的 UI 设计和一键式操作,成为众多开发者提升效率的利器。本文将从功能、安装到实际体验,全面解析这一工具。 Lazydocker 的核心功能 一站式容器管理通过终端 UI 界面,Lazydocker 支持实时查看 Docker 容器、镜像、卷和网络的运行状态,无需在多个终端窗口切换。 快捷操作与调试 日志流分类查看:支持按服务或容器分类显示日志,快速定位问题。 一键重启/重建容器:按下快捷键即可重启、重建或删除容器,尤其适合调试服务故障。 镜像与磁盘管理:查看镜像层级结构,清理无用镜像或卷以释放磁盘空间。 自定义与扩展性用户可绑定自定义命令或快捷键,甚至通过配置文件修改界面布局,满足个性化需求。 安装指南(支持多平台)Lazydocker 支持多种安装方式,以下是主流操作系统的快速安装方法: Linux/macOS 一键脚本安装(推荐):1curl h ...
HomeLab:中年男人的快乐源泉
未读简介哪吒面板是一个开源的监控解决方案,旨在帮助用户轻松实现服务器和应用的实时监控。通过 Dashboard、Agent 以及前后台前端资源的配合,用户可以全面掌握系统运行状态。 v1.x 版本相较于老版本简化了部署方式, 我主要用于监控家中的设备, 并开放到了公网, 为了安全起见做了响应的防护, 接下来将简单介绍一下自托管与安全防控. 部署可参考 官方文档 部署, 因为我需要对前端页面做相应的修改, 所以这里选择使用源码的方式部署. 资源下载 Dashboard: nezha/releases Agent: agent/releases 后台前端资源: admin-frontend/releases 前台前端资源: nezha-dash-v1/releases 本人使用 pm2 在家中的服务器上部署, 为了简化部署就写了一键部署脚本, 所以这里需要讲一下部署包的目录结构: 1234567891011121314.├── agent # 代理服务目录, 包含代理配置和二进制文件│ ├── config.yml ...
简介一直在使用 TianliGPT 作为博客的摘要生成服务, 便宜好用. 年前爆火的 DeepSeek-R1 算是把 LLM API 的价格打下来了, 便有了替换 AI 文章摘要的想法. 其实在 使用 Node.js 开发数字名片并集成 Chat 服务 这篇文章已经将本地的 LLM API 服务搭建好了, 因为 TianliGPT 的语音播报服务无法使用, 所以一直在等 Kokoro TTS 的中文模型, 正好今天开源了, 所以又可以开始折腾了. 需求整理 使用自建 AI API 代替 TianliGPT API 来生成文章摘要; 使用 Kokoro TTS 将文章摘要生成语音并播放; 需求其实挺简单, 就是替换成部署到 HomeLab 的 API, So easy 🙉. 架构图 一、环境准备1. 技术栈概述 博客框架:Hexo AI 服务:本地部署的 LLM 以及在线免费的 LLM 服务 API, 通过 one-api 代理(替代 TianliGPT) 语音合成:Kokoro TTS 2. 硬件与软件要求 服务器环境: Mac mini M2(16G 内存), 用于部 ...
简介PM2 是一个功能强大的 Node.js 进程管理工具,不仅适用于 JavaScript 项目,也能很好地守护 Python 应用。本文将详细介绍如何在服务器上使用 PM2 来守护一个基于 Flask 的 Python 应用。 1. 安装环境安装 Node.jsPM2 是基于 Node.js 的工具,因此需要先安装 Node.js 环境: 1234sudo apt update && sudo apt install curl -ycurl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -sudo apt install nodejs -y 安装 PM2使用 npm 全局安装 PM2: 1npm install pm2 -g 验证安装是否成功: 12pm2 -v # 查看版本pm2 list # 列出当前管理的所有进程 2. 准备 Flask 应用生成依赖文件在 Python 项目中,通常会使用 requirements.txt 来管理依赖包。如果尚未生成该文件,可以通过 ...
简介最近在使用 Node.js 写一个数字名片的小项目, 直接使用 npx dong4j 就可以使用, 大概是这样的: 其中有一个 Chat with AI Assistant 🤖 的小功能: 这个功能使用 one-api 对接各家 LLM 接口来提供 Chat 服务: 我的需求很简单: 用户能够免费使用; 我也不需要付费购买 token; 在 Github 找了一圈后, LLM Red Team 最符合需求, 所以这里记录一下这个 Chat 服务的搭建过程. one-apione-api 是一个 OpenAI API 接口管理工具, 相当于一个代理, 提供了多个渠道以及 key 管理功能, 它的衍生项目也非常多, 感兴趣的可以了解一下. 不过最近爆出来 one-api 镜像被 投毒了, 还好我使用的是老版本: 2024 年 12 月 27 日,One API 项目的 Docker Hub 镜像被发现存在安全问题。攻击者获取了项目维护者的 Docker Hub 凭证,并重新推送了包含挖矿程序的恶意镜像版本(v0.6.5 至 v0.6.9)。这些被污染的镜像会导 ...
引言VSCode 插件开发可能对初学者来说有些陌生。本文将从最简单的 Hello World 插件开始,一步步带你实现一个实用的图片处理工具。我们会先开发一个最基础的插件,然后逐步添加功能,最终实现一个可以帮助博主快速处理图片的工具。 第一部分:Hello World 插件1. 环境准备首先,确保你的电脑上已安装: Node.js(建议 14.x 或更高版本) Visual Studio Code Git(可选) 2. 创建第一个插件 安装 VSCode 插件生成器: 1npm install -g yo generator-code 创建插件项目: 1yo code 按照提示填写基本信息: 123456? What type of extension do you want to create? New Extension (TypeScript)? What's the name of your extension? hello-world? What's the identifier of your extension? hello- ...
简介在这篇文章中,我将以一个实际项目为例,带你从零开始学习 Chrome 插件开发。我们将开发一个图片上传工具,它能帮助博主快速处理和上传图片。通过这个项目,你将学习到 Chrome 插件开发的基础知识和实战技巧。 为什么要开发这个插件?作为一名技术博主,我经常需要在文章中插入图片。每次处理图片都需要经过以下步骤: 在网上找到合适的图片 下载到本地 压缩图片 转换格式 上传到图床 复制链接 插入 Markdown 标签 这个过程不仅耗时,而且每添加一张图片都要重复一遍。作为一个程序员,我觉得这种重复性的工作应该被自动化。这就是我开发这个 Chrome 插件的初衷。 解决方案:Chrome 扩展为了解决这个问题,我开发了一个 Chrome 扩展:Image Uploader。它能让你通过简单的右键点击就完成上述所有步骤。 主要功能 一键上传:右键点击网页上的任何图片,选择”上传图片”即可 自动压缩:可配置的图片压缩功能,平衡图片质量和文件大小 格式转换:支持将图片转换为 WebP 格式,进一步优化加载性能 多语言支持:支持中文和英文界面 自定义配置:可设置自己的图床 API ...
AI:人工智能
未读在上一篇 AI助力博客创作:自动生成摘要与标签的实战指南 中使用 AI 自动生成文章摘要和 Tags, 这次我们依旧利用 AI 来帮我们为文章进行智能分类. 理解分类和标签分类 (Categories)在图书馆中,每本书都会被归入一个特定的分类。我们所熟知的图书馆分类系统,例如杜威十进制分类法,便是依据主题将书籍进行系统划分的工具。杜威分类法将书籍划分为十个主要类别(如哲学、社会科学、语言学、自然科学等),并在此基础上根据主题进一步细分为子类。 将这一概念类比至博客分类,可以视作一种类似图书馆的分类体系,旨在将文章按照主题进行有序组织。例如,“编程技术”作为一个主要类别,类似于图书馆中的“技术科学类”,在此主类别下,又可细分为“前端开发”、“后端开发”、“数据库”等子分类,这与图书馆的子类系统颇为相似。 主要特点: 层次感强:一个大类下可以有多个子分类,比如 “编程” 下面可以再分成 “Java”、“Python” 等。 一个分类为主:每篇文章通常会归入一个主要的分类,帮助读者明确文章的核心主题。 作用: 帮助读者导航:让人一进来就知道文章讲的是哪个大方向。 SEO 加分:搜索 ...
AI:人工智能
未读在信息爆炸的时代,如何让您的博客内容在浩如烟海的资讯中脱颖而出,成为吸引读者眼球的关键。而标签和摘要在这一过程中扮演着至关重要的角色。今天,我们将探讨如何利用 AI 技术为博客自动生成标签和摘要,从而提升内容的可发现性和阅读体验。 标签与摘要的重要性标签是博客内容的“关键词”,它们能够简洁、直观地反映文章的主题和核心内容。好的标签不仅有助于搜索引擎优化(SEO),还能引导读者快速找到感兴趣的内容。摘则是博客的“门面”,它以简短的文字概括文章的主要内容,激发读者的阅读兴趣。一个吸引人的摘要能够有效地提高文章的点击率。 AI 在标签和摘要生成中的优势传统上,标签和摘要的生成依赖于人工撰写,这不仅耗时耗力,而且难以保证一致性和准确性。而 AI 技术的引入,为这一领域带来了革命性的变化: 高效性:AI 能够快速处理大量文本,生成标签和摘要在短时间内完成,大大提高了内容发布的效率。 准确性:通过机器学习算法,AI 能够准确识别文章的主题和关键信息,生成相关度高的标签和摘要。 个性化:AI 可以根据不同的内容和风格需求,定制化的生成标签和摘要,满足多样化的内容创作需求。 AI 生成标签 ...
简介随着博客文章的数量不断增加,尤其是长篇文章中需要插入大量图片,发布一篇博客变得更加复杂。这包括图片的剪切、格式转换、清理多余图片、上传图床、替换 Markdown 中的图片标签,以及最终发布到站点。如果全程手动操作,无疑会非常繁琐。为了解决这个问题,我将这些步骤全部实现为独立的脚本,最后通过 Makefile 将它们串联起来,打造了一套完整的 Hexo 部署工作流。 那么接下来就是讲怎么实现这个流程了, 这里就以 Hexo 为例, 只要了解整个思路, 我觉得其他的任何博客都可以实现这套流程. 图片处理一图胜千言,因此我非常喜欢在博客中插入大量图片。无论是截图、网络图片,还是用 Drawio 绘制的 SVG,精心挑选的配图不仅能够提升博客的视觉效果,还能直观地增强内容的表达力和吸引力。 以前我对图片的处理步骤大致为: 第一步是使用截图工具简单的处理一下图片, 比如截图, 调整尺寸, 打马赛克, 添加圆角, 添加阴影等等; 第二步是将图片转换成 webp, 尽量在保证图片质量的前提下减小图片尺寸; 第三步就是上传到图床, 然后替换原来的图片标签; 上面的步骤是一个正向流程, ...
如果你使用的是群晖 NAS (本文在 DSM 7.2 版本测试通过),可能会遇到无法下载 Docker 镜像的情况。通过配置代理,你可以轻松绕过这些限制,顺利下载和更新镜像。本教程教你如何为 Docker 设置代理,让 Docker 本身的网络请求走你指定的 HTTP 或 SOCKS5 代理服务器。 为什么需要代理?国内目前网络环境可能会限制你访问 Docker 镜像库(例如 docker pull 等操作),尤其是官方的国外镜像库。配置 HTTP 或 SOCKS5 代理可以让你绕过这些限制,顺畅地拉取镜像。 操作步骤1. 登录到群晖 NAS首先,你需要通过 SSH 连接到你的群晖 NAS。在 DSM 中,进入 控制面板 > 终端机与 SNMP,启用 SSH 服务。然后打开命令行工具(Windows 用 PuTTY,Mac 或 Linux 用 Terminal),输入以下命令:(命令回车执行) [CMD] Windows SSH 连接服务器教程 (系统自带方式) 替换 <用户名> 为你的群晖管理员用户名,<NAS_IP> 为 NAS 的 IP 地址。接 ...