博客精装修

新logo 叫 gpt 给我画了个 logo,元素就是姓名首字母啦,还是蛮喜欢的 本次博客换了个主题和评论系统,参考文章放在末尾了。算是找到比较靠谱的几篇文章。由于我使用较新的版本,所以并不是能很好的复现文章中的效果,不过也足够满意了 装修点 原先使用hugo-theme-stack 主题是由于接触 hugo 的教程中使用的就是这个,为了避免不必要的麻烦,初次基本都是按部就班复刻教程为主,这次心血来潮还是想换一个,挑了挑就觉得 papermod 不错,简单不复杂,不是很爱花哨的,但是也不想博客太丑了点 评论区 原先为了自部署,用了 waline,结果发现 papermod 没有直接支持。由于我前端功力不够,又不会 go,在 gpt-5 的帮助下也没成功用上,只能放弃用个简单的,挑了挑还是选择Giscus Hugo博客系统添加Giscus评论功能 - Whohhの博客 参考这篇文章倒是一点困难没有就完成了,只是还是想要有自己部署的心里才舒服,不明白这是什么心态,精力有限,现在博客是无人问津的状态,也不需要操心这件事情 便于阅读 Mermaid图 这个还是特别有用的,尤其是在 LLM 的帮助下,不少文章中画一个 markdown 中能渲染的流程图框架图之类的变得异常轻松 以下摘用自台运鹏大佬的文章 Mermaid js 可以可以让我们用代码的方式画流程图(如上图),在文章的概念比较多或者关系复杂时,流程图就可以让读者更容易看懂,故而也引入了 mermaid 的实现 首先创建 layouts/_default/_markup/render-codeblock-mermaid.html,写入以下内容: 1 2 3 4 5 <!-- 因为正常写会有 ```meraid ... ``` --> <pre class="mermaid"> {{- .Inner | htmlEscape | safeHTML }} </pre> {{ .Page.Store.Set "hasMermaid" true }} 这样就可以将 mermaid 这种特殊的 codeblock 加入渲染机制里,同时设置 hasMermaid 为 true,方便后面判断是否加载 mermaid js。接着我们创建 layouts/partials/mermaid.html,来让 mermaid js 对我们写的代码进行渲染 ...

August 13, 2025 · 6 min · 1080 words · Updated: December 10, 2025 · Ray

PG connect 字符串错误

PostgreSQL: Documentation: 17: 32.1. Database Connection Control Functions 使用 pg mcp 连接数据库时遇到的问题 贴出的命令中密码改了 [bash] 显示已折叠代码(16 行) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 (MCBot_py311) yangr@172-16-99-32-Dev:/data/yangr/gitRepos/LG_rag_hw$ npx -y @modelcontextprotocol/server-postgres "postgresql://lmi:abc#123@172.16.99.32:5432/lmi" node:internal/url:818 href = bindingUrl.parse(input, base, true); ^ TypeError: Invalid URL at new URL (node:internal/url:818:25) at file:///home/yangr/.npm/_npx/cd1ce99963b5e8b1/node_modules/@modelcontextprotocol/server-postgres/dist/index.js:21:25 at ModuleJob.run (node:internal/modules/esm/module_job:271:25) at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:547:26) at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:116:5) { code: 'ERR_INVALID_URL', input: 'postgresql://lmi:abc#123@172.16.99.32:5432/lmi' } Node.js v22.12.0 问了 G 老师,遇到 TypeError: Invalid URL 错误,通常是因为你的连接 URI 中包含了 未经转义 的 “#” 字符——这在 URL 语法中会被误解析为fragment 分隔符,导致 Node.js 的 URL 构造器无效 。 ...

August 4, 2025 · 1 min · 144 words · Updated: December 10, 2025 · Ray

自动部署前端

写在前面 在公司偶尔会同时维护三四个甚至五六个项目。稀烂的项目管理导致每次快速更新迭代时部署成了重复性超高且烦人的事情 部署流程 由于原先开发规范不够,git 使用不足,所以暂时一直拖着。现在对项目管理严抓想起来这件事情。 Javaer 一定见过下面这个 Jenkins 。这是个Java 编写的开源的持续集成工具 持续集成是啥意思,CI/CD 啥意思 解释:CI/CD或CICD通常指的是持续集成(英语:continuous integration)和持续交付(英语:continuous delivery)或持续部署(英语:continuous deployment)的组合实践 from wiki 这就能懂啦,我对前端不是很明白但是现在我们的开发流程一般是 1 前端同学开发完毕->build->发 dist 给管服务器的同学->(往往是我),我把 dist 放在对应的 nginx 目录下 如果他不发给我的情况。我就需要 1 git 拉取源码-> npm 更新依赖 -> build -> mv to nginx/html 那么这里很明显是可以通过 github/gitlab 的通知机制实现自动化部署的 Webhooks 凑巧找到一篇文章完美作为教程 【CI/CD】写给前端的自动化部署攻略序 ​ 对于前端开发而言,静态页面的部署是容易的。只需要将打包好的页面,放入已经配 - 掘金 简而言之,git 仓库会提供 webhooks 功能。就是如果你对仓库做了某些操作,git 将通过 http 向你提供的地址发送操作信息(json) 这里这位佬用的 gitlab 做的例子。我们自部署的也是 gitlab,太好了 这是新建 webhooks 的页面 我们暂时不用 release ,所以就以 tag push event 作为发布的信号 ...

May 22, 2025 · 1 min · 90 words · Ray

weclone 跟风

克隆自己 GitHub - xming521/WeClone: 🚀从聊天记录创造数字分身的一站式解决方案💡 使用聊天记录微调大语言模型,让大模型有“那味儿”,并绑定到聊天机器人,实现自己的数字分身。 数字克隆/数字分身/数字永生/LLM/聊天机器人/LoRA 准备环境咯 然后先下载模型,但是我有了所以先准备数据 1. 数据准备 手机备份数据上电脑 我勒个豆,记得需要从手机上操作聊天记录迁移到电脑。电脑微信的备份聊天记录是加密仅供未来还原到手机的,吭哧吭哧传了很久。发现不是我要的效果 然后使用GitHub - xaoyaoo/PyWxDump导出数据csv 2. 洗数据 这里用的 7B 模型 vllm 推理进行打分,我都没看导出来一些啥数据。。洗完再看看 开始训练 这里想用多卡来着。但是我的 23 卡和 01 卡链接似乎有问题,干脆单卡跑算了 训练的时候看了眼数据。我的聊天又小又短,感觉数据集不是很有用 结果 果然。这样默认跑出来一个智障,基本上只会回几个字,倒是很符合我的回复习惯 后面整理个干净点的数据再训练一个

May 19, 2025 · 1 min · 33 words · Ray

Harbor 部署记录

直接一幅图说明白 Harbor 干嘛用的 下载安装 确保服务器有 docker 和 docker compose 两个链接分别是 官方 docs 和 github Release 页面。我下载 offline 版本的。会带上镜像 Harbor docs | Harbor Installation and Configuration Release v2.12.3 · goharbor/harbor · GitHub 英语水平有限,装的我头昏脑胀,整体还是简单的 配置 tar -xzvf 安装包.tgz 解压后目录结构如上。 其中 docker-compose.yml,common目录。是脚本后续生成的,nginx 目录是我创建的。大概就是这样 复制 harbor.yml.tmpl -> harbor.yml 主要配置点就在于 hostname http->port https external_url 如下图所示 因为我是需要另外一台服务器的 nginx 做反代,但是刚开始部署我想简单测试一下(就是这个不灵清的想法折腾我一个多小时) 我以为 hostname 在配置了external_url 后会失效。于是还是内网地址 172.16.100.1 然后用 openssl 自签名了证书。然后配了 external_url 接着在我的客户端电脑上 配置了/etc/hosts 172.16.100.1 hub.test.cn ...

May 12, 2025 · 2 min · 328 words · Ray