JACIN Blog

深度的 AI 应用开发者

专注 AI 应用开发、Python 后端与工程实践,持续记录大模型落地、工具构建与真实项目经验。

183篇已发布
主题索引
查看全部分类
全部文章
183
claude 账号注册
即时热点记录
3 分钟

claude 账号注册

这篇笔记记录了一次 Claude 账号从 Apple ID 隐藏邮箱登录方式迁移到自建邮箱账号的操作过程,背景是原先使用 Apple ID 加 giffgaff 接码注册后,每次确认登录邮箱都要回查隐藏邮箱信息,使用体验不够方便。正文给出的注册路径是使用 5sim 接码平台,进入 5sim 后选择法国地区和 Virtual51 运营商,用于完成新账号所需的手机验证。迁移部分重点不是简单重新注册,而是先在旧 Claude 账号中导出历史记录,保留 conversations.json 这类包含对话内容、时间和模型信息的导出文件。随后作者提供了一段用于“记忆提取后转移”的提示词,要求 Claude 完整分析导出的 conversations.json,从历史对话中提取身份背景、回复风格、常用规则、长期项目、决策习惯和特殊要求等核心记忆,并整理为可导入 Memory 的 Markdown 文本。提示词还限制了输出结构、第二人称写法、字符上限和额外概览信息,方便在新账号中重建长期上下文。适合需要更换 Claude 登录方式、迁移旧账号对话记忆,或想把历史聊天记录整理成可复用个人偏好配置的用户参考,但接码平台、地区和运营商选择属于当时实践记录,实际可用性仍需按注册时环境确认。

vps 服务器安装 codex-cli
服务器与部署
1 分钟

vps 服务器安装 codex-cli

这是一份面向 VPS 环境安装 OpenAI Codex CLI 的命令型笔记,重点覆盖从基础依赖到首次启动授权的最短可执行路径。流程先通过 apt 更新软件源,并安装 curl、ca-certificates 等获取远程安装脚本所需的基础组件;随后使用 nvm 官方安装脚本部署 Node.js 版本管理器,并在当前 shell 中通过 source ~/.bashrc 或手动设置 NVM_DIR 的方式确保 nvm 可用。Node.js 部分选择安装 LTS 版本,切换到该版本并设置为默认版本,再用 node -v 和 npm -v 验证运行环境是否生效。Codex CLI 的安装通过 npm 全局安装 @openai/codex 完成,安装后使用 codex --version 检查命令是否已进入 PATH。最后执行 codex 进入首次登录流程,并在登录完成后按交互提示进行 Codex 所需权限的开通或授权。它适合已经拥有一台可 SSH 登录的 VPS、希望快速搭建 Codex CLI 运行环境的开发者,但正文只给出基础安装命令,没有展开不同发行版、非 bash shell、权限错误或 npm 网络问题的排查。

GCP spot vm 地区实惠总结
服务器与部署
5 分钟

GCP spot vm 地区实惠总结

这份记录把 GCP Spot VM 的低价区域按月费估算做成对照表,重点覆盖 e2-micro 与少量 e2-small 配置,并统一加入 10GB 硬盘成本,方便直接比较总月费。表中最便宜的是 us-west4 拉斯维加斯 e2-micro,Spot 估算 $0.65,加硬盘后约 $1.05/月;us-central1、us-west3、us-west8 也处在 $1.08 到 $1.15/月区间,是美国低价区域的主要候选。欧洲区域整体略高,比利时、荷兰、芬兰、伦敦的 e2-micro 总月费约 $1.35 到 $1.55,但从香港访问延迟估算普遍在 280ms 以上。亚洲区域价格更高但延迟更友好,新加坡约 $1.75/月且香港延迟 50-80ms,东京、台湾、孟买、悉尼则分别提供不同的价格与网络距离取舍。表格还列出 us-west4 与 us-central1 的 e2-small,2GB 内存配置总月费约 $1.75 到 $1.80,可作为内存需求稍高时的低价备选。适合需要为轻量服务、测试机或低成本节点选择 GCP Spot VM 区域的用户,用来在预算、机型规格、磁盘成本和香港方向网络延迟之间做初步筛选。

服务器与部署
7 分钟

防火墙脚本

这是一套面向 Debian/Ubuntu VPS 的轻量级公网入口防火墙管理方案,用一份 rules.conf 和一个 firewall-apply.sh 把分散的端口访问控制收敛到可读、可迁移的规则模型中。文章围绕常见 VPS 演进后的混乱场景展开:nginx、后台服务、Docker ports、数据库或调试端口陆续暴露后,管理员往往难以确认开放面,直接改 INPUT 链还可能对 Docker 流量路径判断错误。方案将规则分为 global、public、inbound 三个区块,分别表达全局白名单、对所有来源公开的端口,以及端口级来源白名单,让配置文件本身成为当前公网入口状态的说明。它特别强调边界控制:只接管外部进入的访问,区分宿主机入口和 Docker 暴露端口,并优先放过常见 Docker bridge 内部流量,避免 web、api、postgres、redis 等容器间依赖被误当作公网访问拦截。脚本还会在执行时自动安装并启用轻量 systemd 服务,使 iptables 规则在重启后可由同一份规则文件恢复,而不需要额外维护 service 文件。适用读者是维护个人或小型业务 VPS 的开发者、运维和自托管用户;它不覆盖出站控制、K8s 网络策略、审计平台或行为风控,但能解决端口公开、来源限制、全局放行和重启恢复这些基础入口治理问题。

Harness/Skills/Rules 结构
AI见闻
4 分钟

Harness/Skills/Rules 结构

这篇笔记聚焦 2026 年 Agent 项目中 Harness、Skills 与 Rules 的目录组织方式,给出一套兼顾 Codex、Cursor、Claude Code 与 GitHub Copilot 的项目结构参考。核心建议是把 AGENTS.md 放在项目根目录,作为 Agent 的规则、约束与项目概览入口,并允许在子模块中继续放置子 AGENTS.md 形成层级继承。Skills 推荐集中放在跨工具通用的 .agents/skills/ 下,每个 Skill 必须是独立文件夹,至少包含带 YAML 前言的 SKILL.md,也可以附带 scripts、references、assets 等资源。Rules 则主要是 Cursor 的专属机制,放在 .cursor/rules/ 中,以 .mdc 或 .md 文件形式存在,并支持 glob 路径匹配、智能匹配和手动触发。文中还区分了不同工具的惯例:Codex 更依赖 AGENTS.md 与 docs/ 知识库,Cursor 可并存 .agents/skills 与 .cursor/skills,Claude Code 可使用 CLAUDE.md 或 .claude/skills,Copilot 则偏轻量并使用 .github/skills。适合正在整理多 Agent 工具链配置、希望减少目录分裂和规则重复的开发者,用来快速判断哪些文件应作为跨工具标准,哪些只应保留在工具专属目录中。

服务器与部署
9 分钟

谷歌gemini pro 会员赠金 使用vps

这篇笔记围绕 Gemini Pro 会员每月可领取、可叠加但有时限的赠金,记录如何把赠金额度用于创建一台低成本的 GCP 香港落地 VPS。正文给出从 Compute Engine 新建实例开始的配置路径:区域选择 asia-east2 香港,机型选 E2 系列 e2-micro,系统使用 Debian 12,并将启动盘改为 10GB 标准永久性磁盘以避免 SSD 带来的额外费用。省钱重点放在两处:把虚拟机预配模型改为 Spot 抢占式,以及将网络服务等级从 Premium 调整为 Standard,使计算、磁盘和出站流量都按更低成本计费。文章还补充了创建时的防火墙勾选、费用预估、静态 IP 绑定场景,并列出静态 IP 在未使用、标准 VM、Spot VM、Cloud NAT 等不同状态下的月度费用差异,提醒未使用的保留 IP 反而更贵。后半部分记录了安装 Google Cloud SDK、通过 gcloud auth login 登录、复制 gcloud compute ssh 命令连接实例以及修改 SSH 登录信息的操作,并特别强调防火墙配置需要检查。针对 Spot 实例可能被抢占停机的问题,作者提供了一个基于服务账号 JSON、google-cloud-compute 客户端轮询实例状态并在 TERMINATED 时自动 start 的 Python 守护脚本,配合 nohup 后台运行,适合希望用赠金搭建轻量代理或香港节点、同时控制 GCP 账单风险的用户参考。

AI 大模型开发
3 分钟

embeddings 缓存处理

这篇笔记聚焦 LangChain embeddings 的本地文件缓存处理,核心场景是避免重复调用 embedding 模型,同时保证缓存命中结果不会因模型差异而混用。正文用 `LocalFileStore("./.cache/embeddings/", update_atime=True)` 和 `CacheBackedEmbeddings.from_bytes_store(...)` 展示了基本写法,并强调同一段文本在不同模型下会得到不同向量,因此缓存 key 需要通过 `namespace=openai_embeddings.model` 区分模型命名空间,避免串缓存。`LocalFileStore` 在读取缓存文件时可以主动刷新 atime,也就是最后访问时间,用来弥补某些文件系统默认不可靠更新 atime 或更新策略较弱的问题。缓存代理的工作流程是先由输入文本生成 key,再查本地 store,命中则直接返回 embedding,未命中才调用 `openai_embeddings` 并把结果写回缓存。文章还解释了 mtime、ctime、atime 的区别,并围绕 atime 引出缓存淘汰策略:LRU 会优先删除很久没访问的项目,适合 embedding 缓存、页面缓存、Redis 热数据和数据库 buffer pool 等大多数热点访问场景;MRU 则优先删除刚访问过的项目,更适合顺序扫描大文件、批处理或一次性遍历数据集这类短期不会回头访问的场景。读者可以据此理解 LangChain 缓存 embedding 的关键配置点,以及在清理本地缓存时如何根据访问模式选择 LRU 或 MRU。

AI 大模型开发
1 分钟

Vibe Coding Skills

这是一则面向 Vibe Coding 工作流的技能安装速记,核心对象是 GitHub 仓库 sickn33/antigravity-awesome-skills 及其可通过 npx skills add 引入的 Antigravity Skills。正文给出四条直接可执行的安装命令,分别添加 rag-engineer、prompt-engineer、langgraph 和 langfuse,覆盖 RAG 工程、提示词工程、LangGraph 编排与 Langfuse 观测相关能力。除命令外,笔记特别标出 Codex App / Codex CLI 与 Google Antigravity 在 Skills 目录命名上的差异:OpenAI Codex 使用 `.agents/skills`,而 Antigravity 使用 `.agent/skills`。这个区别只差一个复数形式,但会直接影响技能文件放置路径,适合在多工具并用或迁移配置时作为校验点。读者可以从中快速复制安装命令,并避免把 Codex 的官方目录约定误套到 Antigravity 上。内容更适合正在配置 AI 编程代理、管理 Skills 仓库,或需要在 Codex 与 Antigravity 之间区分本地目录结构的开发者。

部署 Openclaw
服务器与部署
13 分钟

部署 Openclaw

这是一篇面向 VPS 自部署场景的 OpenClaw 部署与加固记录,环境示例为德国 VPS,采用官方一键脚本安装,并选择 Codex 认证方式完成初始化。内容覆盖了日常维护所需的更新与卸载命令,包括检查版本、原地安全升级、跳过自动重启,以及彻底清理服务、数据目录、全局 CLI 和残留进程的卸载路径。文章还记录了 Telegram 机器人接入流程:通过 BotFather 创建 bot、获取 pairing code 后批准指定用户,并在群组使用时关闭 Privacy Mode、授予管理员和读取群组消息权限。排错部分集中处理两个常见访问问题,一是 Control UI 的 origin not allowed,需要在 ~/.openclaw/openclaw.json 中配置 gateway.controlUi.allowedOrigins;二是浏览器首次访问触发的设备配对机制,需要在服务器上查看并批准 pending device。后半部分重点说明 Docker 沙盒模式的安全边界:它并不是把整个 OpenClaw 容器化,而是保留宿主机上的 Gateway、配置、Token、Telegram 设置和历史会话,仅将 agent 的工具执行切换到 Docker 容器中。文章给出了拉取官方 Dockerfile.sandbox、本地构建 openclaw-sandbox:bookworm-slim 镜像、配置 agents.defaults.sandbox、可选禁用高风险工具、重启服务和验证 sandbox explain 输出的完整流程,适合已经跑通 OpenClaw、希望在不丢数据的前提下进行原地加固的开发者或运维使用。

AI见闻
2 分钟

antigravity 设置插件 url

Antigravity 虽然是 VS Code fork,但默认接入的是 Open VSX 而不是 Microsoft 官方 VS Code Marketplace,因此可搜索到的扩展数量更少,部分主题、语言支持和 AI 类插件可能缺失。文章把这个问题放在 Antigravity 作为第三方 fork 的授权背景下解释:官方 Marketplace 并非默认可用,而 Antigravity 又更侧重 agentic AI 任务,插件生态和兼容性仍不如 Cursor 这类已获得完整 marketplace 授权并做过优化的产品。解决路径是进入 Antigravity 设置中的 Editor 配置,把 Marketplace Item URL 改为 https://marketplace.visualstudio.com/items,并把 Marketplace Gallery URL 改为 https://marketplace.visualstudio.com/_apis/public/gallery,重启后即可在扩展面板搜索更多 VS Code 插件。文章也提醒,即便切换源后能安装更多扩展,仍可能遇到扩展面板卡顿、安装失败或激活异常等兼容性问题,因为 Antigravity 的 UI 和 agent 能力经过定制,插件支持还处在不成熟阶段。对于少数无法直接搜索或属于 Cursor 独占的扩展,可通过下载 .vsix 文件,再在扩展面板的 Install from VSIX 中手动安装。整体适合正在把 Antigravity 当作 VS Code/Cursor 替代品使用、但发现插件缺失或扩展搜索结果不足的开发者,用来快速判断问题原因、调整插件源并了解后续兼容风险。

gemini in chrome 开启
AI见闻
1 分钟

gemini in chrome 开启

这是一则关于在 Chrome 中手动启用 Gemini/Glic 相关实验功能的简短配置记录,适用于想提前查看浏览器 AI 助手入口或界面变化的用户。操作路径是新建标签页后在地址栏输入 chrome://flags,进入实验功能页面,再分别开启 Tabstrip Combo Button、Glic、Glic Z Order Changes 和 Glic actor 等选项。正文说明这些开关主要与 Chrome 推出的 AI 助手 Glic 以及界面布局优化有关,开启后通常不会对日常浏览造成明显影响。完成修改后,Chrome 会在右下角显示重启按钮,需要重启浏览器后配置才会真正生效。文章的价值在于把需要开启的 flags 名称和生效步骤集中列出,减少用户在实验选项中逐项查找和判断的成本。需要注意的是,flags 属于浏览器实验功能,具体入口、命名和可用性可能随 Chrome 版本变化,因此更适合作为临时尝鲜或功能验证参考,而不是稳定功能配置指南。

稀疏向量检索流程
AI 大模型开发
26 分钟

稀疏向量检索流程

这是一篇面向中文 RAG 原型实现的稀疏检索流程拆解,围绕“切块、分词、构建 BM25 索引、查询打分”串起完整链路。正文用 Python 示例演示如何借助 RecursiveCharacterTextSplitter 控制 chunk_size、chunk_overlap 和分隔符优先级,用 jieba 处理中文分词,再通过 rank_bm25 构建 BM25Okapi 索引并返回 Top-N 检索结果。文章进一步展开 BM25 内部保存的 idf、doc_freqs、doc_len、avgdl 等统计量,说明 IDF 是基于全部 chunks 的全局逆文档频率,文档侧权重包含 TF 饱和与长度归一化,而查询侧通常按 IDF 与查询词频生成稀疏向量。示例还展示了“苹果手机最新功能”能够命中包含相同词汇的 chunk,却无法匹配语义相关但字面不同的 “iPhone 16 Pro Max”,由此揭示 BM25 作为词汇匹配方法在同义词和近义表达上的天然短板。对于工程选型,正文区分了 rank_bm25 的内存线性扫描特性与 Elasticsearch、Milvus 等生产级倒排索引方案,并指出前者适合小规模验证,后者更适合大规模、增量更新和低延迟检索。最后通过传统 BM25 与 Learned Sparse 的对比,帮助读者理解可解释统计检索、神经稀疏检索和稠密检索在 Hybrid RAG 中各自的定位,适合正在搭建中文知识库检索、调试召回效果或评估 RAG 检索架构的开发者阅读。

向量
文章归档
183