从 Codex 到 DeepSeek:AI 代理后端模型选择与本地自动化实验思路

一、AI 代理的重点已经不只是“聊天” 普通大语言模型更多是在对话框中回答问题,而 AI 代理的使用方式明显不同。代理不仅要理解自然语言,还要调用工具、读取文件、执行命令、操作浏览器、控制桌面环境,甚至连接本地服务或外部软件。 在这种场景下,后端模型的角色已经从“聊天模型”变成了“行动系统的大脑”。它需要完成的不只是解释问题,而是持续推进任务: 因此,选择 AI 代理后端模型时,不能只看聊天效果,也不能只看价格。真正重要的是:模型是否适合作为代理的大脑,是否能够稳定地与工具、终端、脚本、接口和真实系统配合。 二、Codex 的价值:强的不只是模型,而是一整套代理体验 Codex 类模型之所以适合 AI 代理,并不是因为它只会写代码,而是因为它比较适合真实操作环境。 在实际使用中,AI 代理经常会遇到这些情况: 普通聊天模型在这种场景中容易出现两个问题:一是给出看似合理、实际不可执行的建议;二是任务一长就丢失上下文,开始偏离目标。 Codex 类模型的优势在于,它更擅长在“边执行、边观察、边修正”的过程中工作。它不只是回答“应该怎么做”,而是更接近于真正帮助完成任务。 这也是为什么在 OpenClaw 这类代理工具中,Codex 往往能给人一种“真的能干活”的感觉。 三、为什么需要寻找 Codex 的替代或补充模型 虽然 Codex 类模型很好用,但 AI 代理的 Token 消耗非常大。 普通聊天中,一次问答可能只消耗少量上下文;但代理任务不同。代理需要不断读取环境信息、工具结果、命令输出、文件内容和错误日志。每一次观察、计划、执行和修正都会消耗 Token。 尤其是下面这些任务,消耗会非常明显: 因此,如果完全依赖高价或有限额度的模型,长期使用成本会比较高。这就引出了一个现实问题: 是否存在更便宜、可以接入 OpenClaw、又能在一定程度上接近 Codex 的模型? 围绕这个问题,可以重点关注 DeepSeek、Qwen、GLM、MiniMax、Kimi 等模型或平台。 四、便宜模型和 Codex 级模型不是一回事 在选择模型时,需要先区分两个概念: 这两个概念不能混在一起。 …

从人类基因数据处理到 Web UI 上线:一个生物信息系统 Stage 1 的完整工程闭环

一个生物信息项目从“数据下载完成”到“真正可以访问”,中间隔着很长一段工程距离。 原始数据需要清洗、映射、索引、校验;查询逻辑需要从命令行走向可复用服务;服务器部署需要处理路径、权限和安全边界;Web UI 需要在不暴露原始数据库和序列文件的前提下,把复杂数据变成可以浏览、搜索和理解的信息页面。 Human_Genes_Functions 的 Stage 1,就是这样一个从数据工程到在线查询系统的初始闭环。它不是最终豪华版平台,但已经完成了一个很重要的阶段:从本地人类基因功能数据库,推进到可通过浏览器访问的 Web UI,并且通过了功能、安全、截图和文档归档验收。 一、项目目标:不是一个网页,而是一套人类基因知识底座 Human_Genes_Functions 的目标不是简单做一个基因搜索框,也不是把几个文件放到服务器上供下载。它更接近一个长期演进的人类基因功能信息系统。 Stage 1 的目标可以拆成两层。 第一层是数据底座: 第二层是 Web 入口: 这两个层次的关系非常重要: 数据库和 FASTA 是系统底座,Web UI 只是受控查询层。浏览器看到的是查询结果,不是原始数据文件。 二、数据基线:以 GRCh38.p14 与 GENCODE Release 50 为核心 项目的数据基线采用 GRCh38.p14 和 GENCODE Release 50。这个选择决定了后续所有基因、转录本、外显子、CDS、蛋白关系和坐标体系的基础。 GENCODE 层提供的是整个系统的主骨架: 这些信息进入 SQLite 后,构成最基础的结构表: 从数量上看,这不是一个玩具数据库。系统中整理了约 78,733 个基因、644,292 条转录本、5,078,384 条外显子记录和 3,210,731 …

用自然语言控制 AI Agent,在 Minecraft 超平坦世界里建造一座小镇

这是一组关于 AI Agent 控制 Minecraft 服务端的实验记录。 实验目标不是手动一块一块放置方块,而是把 Minecraft 服务端交给本地 AI Agent 控制:通过自然语言描述建筑目标、风格、范围和限制,再由 AI Agent 通过 RCON 向服务端发送命令,自动完成规划、建造、保存和报告。 最终结果是在一块超平坦区域中完成了一座木石混合风格的小镇。小镇包含中心广场、南北主路、东西支路、住宅、工坊、谷仓、旅店、守卫小屋、礼拜堂、面包铺、马厩、农具棚、果园、市场、农田、入口门拱、道路灯光、庭院、树篱、货物堆和生活装饰。 最后会附上一张建成后的截图。 一、整体结构 这套流程的核心结构如下: AI Agent 并不是作为一个普通玩家进入游戏,也不是在客户端里手动操作,而是通过 RCON 作为服务端控制端执行 Minecraft 命令。 客户端的主要作用是进入服务器观察结果、确认效果,并为下一轮自然语言指令提供反馈。 二、服务器控制方式概念 本次使用的是本地 Minecraft Forge 服务端。公开记录中不保留实际 IP、端口、用户名、密码和本机路径,统一使用占位符表示。 服务端目录示例: RCON 调用方式示例: 例如: 服务端配置中比较关键的项目可以概括为: 这里最重要的原则是: 三、前置检查用自然语言指令 正式建造前,先让 AI Agent 检查服务端和客户端环境,确认 Forge 版本、启动方式、Java 版本、服务端配置、客户端连接方式和 RCON …

使用 AI Agent 连接 Minecraft 服务端:一种本地自动化建造实践

AI Agent 不一定只能停留在浏览器、终端或文件系统里。只要目标软件提供可编程接口,Agent 就可以通过自然语言指令进一步控制外部程序。Minecraft 是一个很适合实验的对象:它既有可视化世界,又有服务端命令、RCON、模组和世界文件结构,可以把“自然语言 → 自动执行 → 可视化反馈”这条链路完整跑通。 本文整理一种本地实验方案:在 Linux 桌面环境中运行 Minecraft Forge 服务端和客户端,由 AI Agent 通过 RCON 控制服务端,玩家客户端负责观察和反馈。整个过程以本机测试为主,不暴露公网,不依赖多人联机环境。 一、基本思路 整体结构可以概括为: 在这种结构下,AI Agent 并不是一个“进入游戏的玩家”。它更像是服务端管理员控制台,可以执行命令、改变方块、保存世界、调整时间天气、传送玩家,甚至通过批量命令完成建筑和地形改造。 玩家客户端则承担观察者角色。玩家可以站在高处、使用创造模式或旁观模式,实时查看 AI Agent 对世界做出的修改。 二、为什么使用服务端,而不是直接改客户端单人世界 如果只是普通游玩,客户端单人世界已经足够。但如果目标是让 AI Agent 参与自动化建设,专用服务端更适合。 服务端具备几个优势: 在本地测试中,服务端和客户端可以运行在同一台电脑上。客户端连接地址通常使用本机回环地址,例如: 这样不需要开放公网,也不需要让局域网其他设备访问。 三、服务端与客户端的匹配检查 在连接之前,需要确认服务端和客户端基础环境一致。重点包括: 对于 Forge 1.19.4 一类环境,Java 17 通常是更合适的选择。如果系统默认 Java 版本更高,服务端启动脚本中最好显式指定 Java 17,避免因为默认版本变化导致启动异常。 模组方面,服务端模组必须能被客户端识别。客户端可以额外保留一些只影响本地操作或显示的模组,但不应把客户端的 …

OpenClaw 升级后无法打开可见浏览器的排查与修复

问题现象 在一台 Arch Linux + KDE 桌面环境中,OpenClaw 升级后出现了一个问题:终端中的 OpenClaw TUI 可以正常连接 Gateway,Agent 状态也显示为 connected / idle,但执行“打开浏览器”之类的任务时失败。 报错大意如下: 这说明 OpenClaw Gateway 本身并没有崩溃,WebSocket 连接、Agent 会话和后端服务都还在运行。问题集中在一个地方:Gateway 进程无法访问当前 KDE 图形会话,因此不能启动可见浏览器窗口。 初步判断 Linux 桌面环境中,GUI 程序通常依赖一些图形会话环境变量,例如: 在 KDE 终端里执行检查时,当前 shell 环境是正常的: 可以看到类似结果: 但是进一步检查 OpenClaw Gateway 进程环境: 结果只包含: 缺少关键的: 这就确认了问题:OpenClaw Gateway 作为 systemd user service 启动时,没有继承 KDE …

OpenClaw 配置文件明文密码迁移记录

背景 在一次 OpenClaw 日常检查中,执行了如下命令: 检查结果显示 OpenClaw 本体运行正常,Skills 与 Plugins 均无明显异常: Memory search 处于明确关闭状态: 这不是故障,而是配置选择。 真正需要关注的是 Security 部分的两个提醒: 其中第二项表示 Gateway 监听 0.0.0.0,允许局域网访问。对于需要从局域网其他设备访问 OpenClaw 的场景,这属于有意配置,不是错误。 第一项则更值得处理:gateway.auth.password 以明文形式保存在 openclaw.json 中。虽然这不代表密码已经泄露,但如果本地 agent、插件或 workspace 工具可以读取配置文件,就有机会看到该明文密码。因此,本次处理重点是将该字段迁移到 SecretRef,也就是改为从环境变量读取。 当前状态判断 初始检查结果说明: 因此,本次处理目标不是“修复坏掉的服务”,而是“收紧安全配置”。 修改前备份配置文件 在修改配置文件前,应先备份当前配置: 备份完成后,再进行 SecretRef 迁移操作。 配置 Secret Provider 执行: 进入交互式配置后,首先添加 Secret Provider。 界面提示: 选择: Provider source …

スムージー是什么:从果昔到绿豆冰沙

スムージー 是日语里的外来语,来自英语 smoothie,一般可以理解为“果昔”或“冰沙”。 它通常是把水果、蔬菜、牛奶、豆奶、酸奶、冰块等材料放进搅拌机里打成浓稠饮料。和普通果汁不同,スムージー往往保留了果肉和纤维,所以口感更厚,也更有饱腹感。 比如日语里常见的说法有: バナナスムージー:香蕉果昔グリーンスムージー:绿色蔬果昔プロテインスムージー:蛋白质奶昔 如果是中文里常见的“绿豆冰沙”,在概念上也可以算是一种スムージー。日语可以说: 緑豆スムージー或者更偏台湾甜品风格地说:緑豆沙、緑豆ミルクスムージー 不过在日本,绿豆冰沙并不是特别常见。普通便利店或咖啡店里一般很少见,更可能出现在台湾甜品店、中华料理店、亚洲食品店或者夏季限定菜单里。 所以,简单来说: スムージー是浓稠型果昔/冰沙;绿豆冰沙也可以算スムージー的一种,但在日本属于比较偏台湾、中华甜品风格的饮品。

从本地 AI Agent 到手机聊天入口:一次桌面端 OpenClaw 的远程访问与 LINE 接入实践

本地 AI Agent 的价值,不只在于能够回答问题,更在于它可以直接接触本机环境:读取工作目录、生成文件、调用本地工具、整理资料、执行批量操作。相比完全运行在云端的聊天机器人,本地 Agent 更像是桌面系统里的一个可控助手。 不过,本地运行也带来一个现实问题:如果只能在电脑前通过浏览器访问,它的使用范围仍然受到限制。为了让本地 Agent 能够在手机上随时使用,可以将本机服务通过安全的方式暴露到公网域名,并进一步接入聊天平台。这样一来,手机上的普通消息窗口就可以成为本地 Agent 的控制入口。 这次实践完成的目标,是将一套安装在 Linux 桌面环境中的 OpenClaw,从单机本地访问,扩展为可以通过 HTTPS 域名访问,并最终接入 LINE Messaging API,实现手机 LINE 与本机 OpenClaw 的直接对话。 一、本地服务从回环地址调整为局域网可访问 最初,OpenClaw Gateway 只面向本机访问。这种方式适合纯桌面使用,但反向代理服务器无法从局域网访问该服务。 因此第一步是调整 Gateway 的监听方式,让它从本机回环地址改为局域网可访问。调整后,OpenClaw Gateway 可以监听在所有网卡地址上,局域网内其他主机便能够访问该端口。 同时,Gateway 启用了内置的密码认证。这里没有把认证放在反向代理层,而是让 OpenClaw 自己负责登录与设备配对。这样做的好处是认证逻辑更集中,也更符合 OpenClaw 自身的设计。 整体思路是: 完成配置后,需要重启 OpenClaw Gateway,并确认服务已经监听在局域网地址上。随后还需要在本机防火墙中开放对应端口,使反向代理服务器可以正常连接。 二、通过反向代理提供 HTTPS 域名访问 本地 Gateway 可以被局域网访问后,下一步是在反向代理服务器上增加一个新的站点配置。 反向代理服务器负责处理公网 …

一次 OpenClaw 可见浏览器无法启动问题的排查:systemd 用户服务、KDE 图形会话与 DISPLAY 环境变量

在 Linux 桌面环境中,有些后台服务本身运行正常,却无法启动可见窗口。这个问题表面上像是浏览器坏了,或者应用自身没有正确识别图形环境;但实际原因往往更底层:服务启动时没有继承当前图形会话的环境变量。 这次遇到的问题是:OpenClaw Gateway 作为 systemd –user 用户服务运行,终端可以正常连接 Gateway,TUI 也能启动,但让它打开可见浏览器时失败,提示当前服务环境中没有 $DISPLAY 或 $WAYLAND_DISPLAY。 问题现象 在终端中启动 OpenClaw TUI 后,输入“打开浏览器”,返回类似提示: 但此时桌面环境本身是正常的,终端也处在 KDE 图形桌面中。也就是说,问题并不是“系统没有图形界面”,而是 OpenClaw Gateway 这个后台服务进程没有拿到图形会话环境。 初步确认:这是用户服务,不是系统服务 一开始容易犯的错误是直接查系统级服务: 结果会显示: 这并不代表服务不存在,而是因为 OpenClaw Gateway 安装为用户级 systemd 服务,应使用: 用户级服务文件位于类似: 这类服务由当前用户的 systemd –user 管理,而不是系统级 systemd 管理。 检查当前终端环境与服务进程环境 问题的关键在于比较两层环境: 一层是当前终端环境: 在 KDE X11 会话中,终端里通常能看到类似: 另一层是 OpenClaw …

雨把世界放慢:川瀬巴水《五月雨(荒川)》中的静默与距离

图注:川瀬巴水《五月雨(荒川)》,1932年,木版画。https://seikougarou.co.jp/item/1633.html 川瀬巴水的《五月雨(荒川)》是一幅很容易让人停下来的作品。它并没有表现宏大的风景,也没有戏剧性的事件。画面里只是雨、河、水边、船屋、几只小船、远处的帆船,以及一个撑伞站在岸边的人。但正是这种没有强烈情节的画面,使它呈现出一种非常安静、湿润、缓慢的力量。 这幅画最先抓住视线的,是前景中撑伞的人。人物很小,身体几乎被雨和岸边的色调包围,但蓝白色的伞面非常醒目,像是整幅画里唯一明确发亮的圆点。观者的目光会先落在伞上,然后顺着岸边的小路、木船、码头和船屋,慢慢移动到水面中央的帆船,再到更远处的树丛和阴云。画面的空间不是突然打开的,而是被雨一点一点推远。 这里的雨不是暴雨,也不是为了制造悲剧气氛的雨。细密而接近垂直的雨线贯穿天空、水面、船屋和人物,把所有东西都放进同一个天气之中。它让画面变得统一,也让时间变慢。河面没有激烈波动,船只停靠着,船屋里似乎仍有人生活,远处的帆船也在缓慢前行。雨并没有让世界停止,只是让世界变得更低声、更迟缓。 色彩也是这幅画的重要部分。整体被控制在蓝、青、灰绿和木色之间,几乎没有强烈的暖色。天空上方较深,下方渐浅;水面也有蓝色和青色的层次变化。这样的处理让画面虽然大面积使用冷色,却并不单调。它更像是雨天空气中的湿度、河面的反光和远处景物的模糊感共同形成的一种视觉温度。 画面下方的船屋、木船和码头线条比较密集,充满生活痕迹;而上方的天空、水面和远岸则相对空旷。这个对比很耐看:近处是具体的日常,远处是被雨水淡化的空间。人站在这两者之间,既属于岸边的生活,也望向更远的河面。这个人物并不孤立,也不特别悲伤,但确实带着一种安静的距离感。 这也是川瀬巴水风景版画中很有代表性的气质:他画的不是单纯的地点,而是某个地点在特定天气、特定光线、特定时间里的空气。新版画继承了浮世绘的线条、平面色块和木版画特有的清晰轮廓,同时又加入了近代风景画对光线、空间和气氛的关注。《五月雨(荒川)》正好体现了这种结合:它有传统版画的简洁构图,也有近代风景画式的空气感。 这幅画真正动人的地方,不在于“画了雨”,而在于它画出了雨中生活仍在继续的状态。岸边有人,船屋里有人,远处还有船。世界没有因为雨而变得空无,只是安静下来。它不是凄凉的雨景,而是一种湿润、低声、带着日常温度的风景。 因此,《五月雨(荒川)》适合慢慢看。它不急着给出强烈情绪,也不要求观者立刻理解什么。它只是把一个雨中的水边瞬间保存下来:一个人停在岸边,几只船靠在水上,远处的帆慢慢经过,雨线落下,河面安静。看久了会发现,这种安静并不是空洞,而是一种被雨水洗过之后的秩序感。