有朋友问我现在还用不用 IDE,最近基本不怎么用了,返璞归真,回到了 terminal 里。主要是因为 claude code 的 vs 插件和claude code 本身还是有区别,直接在 terminal 里跑,感觉功能更全面。
1. 在一台Mac mini 上配置了 tmux + claude code + codex cli。这样所有的任务都跑在 tmux 里,开了两个 claude session 和一个 codex session。两个 claude 写不同的功能,codex 审核。
2. 用一台机器上还有 orbstack + lm studio,可以随时编译各种服务,调用本地模型测试 prompt 的效果。前端,后端都在 tmux 里跑着,supabase 跑在容器里。因为这台 Mac min 是顶配 M4 Pro,所以编译起来比 MacBook 快多了。
3. 同一台机器上跑着 tailscale + mosh,这样远程可以随时连上去,也不怎么需要折腾多个环境。另外的好处是,即使睡觉了,这台机器也随时跑着;就算回国了,也可以无障碍使用 claude 等服务。
4. 前阵子收了一台翻新的 MacBook Air M4,出门的时候就背这台,15寸的屏幕,13寸 MacBook pro 的重量,性能不是问题。
朋友问我要不要专门买 Mac mini 折腾成这样,我觉得其实手头有闲置的机器都可以折腾,没必要专门买。如果要大内存的机器,在闲鱼上可以看看有没有断头 Mac,性价比可能更高。
1. 在一台Mac mini 上配置了 tmux + claude code + codex cli。这样所有的任务都跑在 tmux 里,开了两个 claude session 和一个 codex session。两个 claude 写不同的功能,codex 审核。
2. 用一台机器上还有 orbstack + lm studio,可以随时编译各种服务,调用本地模型测试 prompt 的效果。前端,后端都在 tmux 里跑着,supabase 跑在容器里。因为这台 Mac min 是顶配 M4 Pro,所以编译起来比 MacBook 快多了。
3. 同一台机器上跑着 tailscale + mosh,这样远程可以随时连上去,也不怎么需要折腾多个环境。另外的好处是,即使睡觉了,这台机器也随时跑着;就算回国了,也可以无障碍使用 claude 等服务。
4. 前阵子收了一台翻新的 MacBook Air M4,出门的时候就背这台,15寸的屏幕,13寸 MacBook pro 的重量,性能不是问题。
朋友问我要不要专门买 Mac mini 折腾成这样,我觉得其实手头有闲置的机器都可以折腾,没必要专门买。如果要大内存的机器,在闲鱼上可以看看有没有断头 Mac,性价比可能更高。
❤4
最近感觉 bug 越修越多,让 claude 和 codex 分别分析了一下,大概40%的时间在 debug 上。
我自己的感觉是:
1. AI slop 确实存在,很多代码越写越烦琐,写得越来越复杂,tech debt 越来越多;
2. 就我本身而言,一下子要学这么多新东西,根本学不过来。后端算是半路出家,前端完全零入门。选了 reflex 作为前端,原本以为是 python 生态下的容易上手,结果一半 python 语法,一半 js 语法,连 agent 都难以上手;
3. agentic engineering 大大压缩了开发时间,短时间可以写出更多的功能,也意味着暴露更多的 bug。也许 bug 总量的变化不大,但是因为在相对短的时间内爆发,所以让我感觉疲于奔命
我自己的感觉是:
1. AI slop 确实存在,很多代码越写越烦琐,写得越来越复杂,tech debt 越来越多;
2. 就我本身而言,一下子要学这么多新东西,根本学不过来。后端算是半路出家,前端完全零入门。选了 reflex 作为前端,原本以为是 python 生态下的容易上手,结果一半 python 语法,一半 js 语法,连 agent 都难以上手;
3. agentic engineering 大大压缩了开发时间,短时间可以写出更多的功能,也意味着暴露更多的 bug。也许 bug 总量的变化不大,但是因为在相对短的时间内爆发,所以让我感觉疲于奔命
把两台 magic trackpad 当作分体式键盘用
https://x.com/anomalog/status/2027025988182474796
https://github.com/disarmyouwitha/AppleMagicTouchstreamLP
https://x.com/anomalog/status/2027025988182474796
https://github.com/disarmyouwitha/AppleMagicTouchstreamLP
X (formerly Twitter)
あの麿 (@AnomaloG) on X
AppleのMagic Trackpadを使った
仮想キーボードを早速試してみた!
物理的な引っかかりが無いから初めてだとかなり難しい。慣れるのに時間がかかりそう。
けどこの無機質なビジュアルは未来感があって好き😆
角度をつけるのにちょうど良いのが無かったからLEGOで試してみた。
#desksetup
仮想キーボードを早速試してみた!
物理的な引っかかりが無いから初めてだとかなり難しい。慣れるのに時間がかかりそう。
けどこの無機質なビジュアルは未来感があって好き😆
角度をつけるのにちょうど良いのが無かったからLEGOで試してみた。
#desksetup
前几天看到这条,试了试在 nanobot 下面跑,结果总是失败,能开 thread,但是一直回复到主对话里。
让 nanobot 自己修复也不行,问 claude 怎么办,看了看代码,说是 nanobot 暂时还不支持,但是调用的 python-telegram-bot 支持的,改几行代码就行。于是让它改了,瞬间就好了。
https://t.me/reorx_share/6479
让 nanobot 自己修复也不行,问 claude 怎么办,看了看代码,说是 nanobot 暂时还不支持,但是调用的 python-telegram-bot 支持的,改几行代码就行。于是让它改了,瞬间就好了。
https://t.me/reorx_share/6479
Telegram
Reorx’s Forge
太尴尬了,其实并不需要这么复杂。实际上 Bot 本身现在就已经支持了 Threaded Mode(也就是 Topics),我也是刚刚在读者的提醒下才知道这个消息。
我花了很长时间在 BotFather 里面找设置,也没找到,最后还是在这条消息下的评论里才知道,BotFather 有一个内置的小程序。在这个小程序里面设置,才能够打开 Threaded Mode 选项。
打开之后,就可以在 Bot 里面创建不同的 Topic 了。效果和在群组里使用 Group Topic 是一样的,只不过更加方便,不需要做那些复杂的配置
我花了很长时间在 BotFather 里面找设置,也没找到,最后还是在这条消息下的评论里才知道,BotFather 有一个内置的小程序。在这个小程序里面设置,才能够打开 Threaded Mode 选项。
打开之后,就可以在 Bot 里面创建不同的 Topic 了。效果和在群组里使用 Group Topic 是一样的,只不过更加方便,不需要做那些复杂的配置
终于设置了我的 claw,选用了 比较简单的的 nanobot,几千行代码,不像 openclaw 几十万行。
本地分装成 docker,部署到了 orbstack 上跑,限死了权限。本来想部署到另外一台闲置的老机器上跑,然后用 lm-studio 新发布的 lm-link 调用远程的模型,但配置起来更复杂,暂且就这样吧。
模型选了在 lm-studio 上跑最近刚发布的 qwen/qwen3.5-35b-a3b (Q4_K_M, 22G 显存),基本够用。
选了 telegram 作为入口;开启了 claude-code mcp 和 OpenAI's Codex CLI 官方的 codex mcp。
这样一来,可以用本地跑的 qwen 3.5 指挥 claude code 和 codex 干活。既然我本来就订阅了 claude 和 ChatGPT,这样的配置没有额外的开销。
不知道今晚会不会发布更强劲的 Mac mini,也许跑可以跑更强的本地模型。
本地分装成 docker,部署到了 orbstack 上跑,限死了权限。本来想部署到另外一台闲置的老机器上跑,然后用 lm-studio 新发布的 lm-link 调用远程的模型,但配置起来更复杂,暂且就这样吧。
模型选了在 lm-studio 上跑最近刚发布的 qwen/qwen3.5-35b-a3b (Q4_K_M, 22G 显存),基本够用。
选了 telegram 作为入口;开启了 claude-code mcp 和 OpenAI's Codex CLI 官方的 codex mcp。
这样一来,可以用本地跑的 qwen 3.5 指挥 claude code 和 codex 干活。既然我本来就订阅了 claude 和 ChatGPT,这样的配置没有额外的开销。
不知道今晚会不会发布更强劲的 Mac mini,也许跑可以跑更强的本地模型。
GitHub
GitHub - HKUDS/nanobot: "🐈 nanobot: The Ultra-Lightweight Personal AI Agent"
"🐈 nanobot: The Ultra-Lightweight Personal AI Agent" - HKUDS/nanobot
DPS Build
终于设置了我的 claw,选用了 比较简单的的 nanobot,几千行代码,不像 openclaw 几十万行。 本地分装成 docker,部署到了 orbstack 上跑,限死了权限。本来想部署到另外一台闲置的老机器上跑,然后用 lm-studio 新发布的 lm-link 调用远程的模型,但配置起来更复杂,暂且就这样吧。 模型选了在 lm-studio 上跑最近刚发布的 qwen/qwen3.5-35b-a3b (Q4_K_M, 22G 显存),基本够用。 选了 telegram 作为入口;开启了…
telegram 实现了 streaming msg,这样一来,nanabot 也可以像其他 llm app 一样流式地显示消息
https://core.telegram.org/bots/api#sendmessagedraft
https://core.telegram.org/bots/api#sendmessagedraft
core.telegram.org
Telegram Bot API
The Bot API is an HTTP-based interface created for developers keen on building bots for Telegram. To learn how to create…
昨天看到一个逆向工程 Apple ANE 的项目,于是顺手丢给 Claude 改了改跑 Qwen 3.5 的 dense model。
一开始效果一般,只能跑通 0.8b 的模型,4b 和 9b 都跑不起来。因为 ANE 有119 kernels 的限制。
今天看到 ANE-LM 这个项目,有更多的创新,于是又让 Claude 改了改,这下三个模型都能在 M4 Pro 上跑起来了。
效果见截图,模型越大,ANE 的优势越明显。
- Opt 1: Saves ~64KB zeroing × 96 calls/forward → minor latency reduction
- Opt 2: Eliminates 320 powf/cosf/sinf calls per layer → measurable CPU savings
- Opt 3: Removes inner loops in conv1d hot path → tighter CPU code
- Opt 4: Saves 1 ane_eval + 1 IOSurface round-trip per layer → ~36ms total for ANE mode (biggest win)
- Opt 5: Eliminates MPS object allocation per matvec → GPU mode overhead reduction
最后再贴一个项目:
https://github.com/vipuldivyanshu92/ANEgpt
一开始效果一般,只能跑通 0.8b 的模型,4b 和 9b 都跑不起来。因为 ANE 有119 kernels 的限制。
今天看到 ANE-LM 这个项目,有更多的创新,于是又让 Claude 改了改,这下三个模型都能在 M4 Pro 上跑起来了。
效果见截图,模型越大,ANE 的优势越明显。
- Opt 1: Saves ~64KB zeroing × 96 calls/forward → minor latency reduction
- Opt 2: Eliminates 320 powf/cosf/sinf calls per layer → measurable CPU savings
- Opt 3: Removes inner loops in conv1d hot path → tighter CPU code
- Opt 4: Saves 1 ane_eval + 1 IOSurface round-trip per layer → ~36ms total for ANE mode (biggest win)
- Opt 5: Eliminates MPS object allocation per matvec → GPU mode overhead reduction
最后再贴一个项目:
https://github.com/vipuldivyanshu92/ANEgpt
DPS Build
昨天看到一个逆向工程 Apple ANE 的项目,于是顺手丢给 Claude 改了改跑 Qwen 3.5 的 dense model。 一开始效果一般,只能跑通 0.8b 的模型,4b 和 9b 都跑不起来。因为 ANE 有119 kernels 的限制。 今天看到 ANE-LM 这个项目,有更多的创新,于是又让 Claude 改了改,这下三个模型都能在 M4 Pro 上跑起来了。 效果见截图,模型越大,ANE 的优势越明显。 - Opt 1: Saves ~64KB zeroing × 96…
逆向工程 ANE
https://cra.sh/public_html/strlcpy3/iosmacos-exploit-chain-cve-2022-32845-32948-42805-32899-weightbufs
一个 Rust 的实现
https://github.com/computer-graphics-tools/ane
https://cra.sh/public_html/strlcpy3/iosmacos-exploit-chain-cve-2022-32845-32948-42805-32899-weightbufs
一个 Rust 的实现
https://github.com/computer-graphics-tools/ane
weightBufs 🔥 exploit ⛓️ chain
WeightBufs achieves kernel memory read and write capabilities on some versions of iOS & iPadOS 15 and macOS 12.
周末开始跑 Karpathy 的新工具,试了两个场景,一个是 SEO 优化,一个是爬虫数据的清洗。
步骤很简单:
1. 让 agent 读取 autoresearch 的文档和代码;
2. 让它根据你的需求改写条件和目标,审核之后,就开始跑。
很适合跑多种组合+明确目标+快速迭代的实验。
https://github.com/karpathy/autoresearch
步骤很简单:
1. 让 agent 读取 autoresearch 的文档和代码;
2. 让它根据你的需求改写条件和目标,审核之后,就开始跑。
很适合跑多种组合+明确目标+快速迭代的实验。
https://github.com/karpathy/autoresearch
GitHub
GitHub - karpathy/autoresearch: AI agents running research on single-GPU nanochat training automatically
AI agents running research on single-GPU nanochat training automatically - karpathy/autoresearch
DPS Build
周末开始跑 Karpathy 的新工具,试了两个场景,一个是 SEO 优化,一个是爬虫数据的清洗。 步骤很简单: 1. 让 agent 读取 autoresearch 的文档和代码; 2. 让它根据你的需求改写条件和目标,审核之后,就开始跑。 很适合跑多种组合+明确目标+快速迭代的实验。 https://github.com/karpathy/autoresearch
Shopify 的老板 Tobias Lütke 基于上面的框架,发布了 pi-autoresearch,并且用这个工具把 Shopify 依赖的 liquid 的性能大幅提升:
53% faster parse+render, 61% fewer allocations
https://github.com/davebcn87/pi-autoresearch
https://github.com/Shopify/liquid/pull/2056
53% faster parse+render, 61% fewer allocations
https://github.com/davebcn87/pi-autoresearch
https://github.com/Shopify/liquid/pull/2056
GitHub
GitHub - davebcn87/pi-autoresearch: Autonomous experiment loop extension for pi
Autonomous experiment loop extension for pi. Contribute to davebcn87/pi-autoresearch development by creating an account on GitHub.
DPS Build
周末开始跑 Karpathy 的新工具,试了两个场景,一个是 SEO 优化,一个是爬虫数据的清洗。 步骤很简单: 1. 让 agent 读取 autoresearch 的文档和代码; 2. 让它根据你的需求改写条件和目标,审核之后,就开始跑。 很适合跑多种组合+明确目标+快速迭代的实验。 https://github.com/karpathy/autoresearch
仔细想想,这个和机器学习里的 grid search 理念有点相似。
grid search 是在机器学习中找 hyperparameter 时常用的方法。即暴力穷举各种可能,然后开始跑 cross validation。当然一次只能针对一个算法跑,所以局限在机器学习的场景里。
最近碰到清洗数据的问题,最早用了基于规则的方法清洗,几乎所有 agent 给出的最先方案都是这些。当然拿来做 baseline 也不错。但很快就遇到瓶颈。于是我想着本地能跑的模型性能也还不错,不如再加上 llm,这些是现在业界常用的清洗方法。
两种方法各有长短:
1. 基于 regex 的规则写起来快,处理速度也快,但是维护起来困难,而且非常容易 overfit
2. nlp 写起来慢,处理起来也慢,但是维护起来相对容易,也更容易拓展到新数据上。
上面的截图里,baseline 是基于 regex 写的规则,抽取率是 31%。我希望达到的目标是提高抽取率,同时慢慢用 nlp 取代冗长的 regex 规则,经过 A - G 轮的迭代,抽取率从 31% 提高到了68%,直接翻番。
全程我就是定义了目标,让 claude 自己读取文档,然后根据数据写 regex,写 nlp 算法,然后自行组合做 auto-research,半天时间就把抽取率翻倍,这在以前想都不敢想!
grid search 是在机器学习中找 hyperparameter 时常用的方法。即暴力穷举各种可能,然后开始跑 cross validation。当然一次只能针对一个算法跑,所以局限在机器学习的场景里。
最近碰到清洗数据的问题,最早用了基于规则的方法清洗,几乎所有 agent 给出的最先方案都是这些。当然拿来做 baseline 也不错。但很快就遇到瓶颈。于是我想着本地能跑的模型性能也还不错,不如再加上 llm,这些是现在业界常用的清洗方法。
两种方法各有长短:
1. 基于 regex 的规则写起来快,处理速度也快,但是维护起来困难,而且非常容易 overfit
2. nlp 写起来慢,处理起来也慢,但是维护起来相对容易,也更容易拓展到新数据上。
上面的截图里,baseline 是基于 regex 写的规则,抽取率是 31%。我希望达到的目标是提高抽取率,同时慢慢用 nlp 取代冗长的 regex 规则,经过 A - G 轮的迭代,抽取率从 31% 提高到了68%,直接翻番。
全程我就是定义了目标,让 claude 自己读取文档,然后根据数据写 regex,写 nlp 算法,然后自行组合做 auto-research,半天时间就把抽取率翻倍,这在以前想都不敢想!
❤2
最近帮朋友优化 Wordpress,不得不感叹,有了 agent 之后简单太多了:
1. 让 claude 写了一个 Wordpress MCP,直接可以读取/更新文章,不用再去 Wordpress 后台一篇篇贴;
2. 朋友把所有相关文档存在 google drive 里,问 claude 怎么可以批量获取数据,推荐了 mcp 和 rclone 两个方案,选了后者。一步步在 google cloud 上配置好权限之后,我们就顺利获得了文件;
3. 朋友的品牌设计林林总总好多个文件,字体文件,PDF 等等不同的格式。让 claude 读取了之后,直接生成一个 token.json 和 vi.html,所有视觉设计的要素就浓缩成几十 kb 的两个文件了。
1. 让 claude 写了一个 Wordpress MCP,直接可以读取/更新文章,不用再去 Wordpress 后台一篇篇贴;
2. 朋友把所有相关文档存在 google drive 里,问 claude 怎么可以批量获取数据,推荐了 mcp 和 rclone 两个方案,选了后者。一步步在 google cloud 上配置好权限之后,我们就顺利获得了文件;
3. 朋友的品牌设计林林总总好多个文件,字体文件,PDF 等等不同的格式。让 claude 读取了之后,直接生成一个 token.json 和 vi.html,所有视觉设计的要素就浓缩成几十 kb 的两个文件了。
Cline 出了自己的 kanban 调度系统,可以调用 claude / codex 之类的 agent。也是基于 worktree 设计的。
npm i -g cline
https://cline.bot/kanban
npm i -g cline
https://cline.bot/kanban
cline.bot
Cline - AI Coding, Open Source and Uncompromised
Open-source AI coding agent with Plan/Act modes, MCP integration, and terminal-first workflows. Trusted by 5M+ developers worldwide.
DPS Build
最近帮朋友优化 Wordpress,不得不感叹,有了 agent 之后简单太多了: 1. 让 claude 写了一个 Wordpress MCP,直接可以读取/更新文章,不用再去 Wordpress 后台一篇篇贴; 2. 朋友把所有相关文档存在 google drive 里,问 claude 怎么可以批量获取数据,推荐了 mcp 和 rclone 两个方案,选了后者。一步步在 google cloud 上配置好权限之后,我们就顺利获得了文件; 3. 朋友的品牌设计林林总总好多个文件,字体文件,PDF…
以前在各种后台改配置,最怕的就是不知道去哪里改,改完之后发现改错了。
现在准备了这么一个修改记录,每一步都问 AI,改完之后再让 AI 记录,这样一来,相当于有了一份 git 记录,即使改错了,也可以改回去。不同的改动有冲突也容易发现。
现在准备了这么一个修改记录,每一步都问 AI,改完之后再让 AI 记录,这样一来,相当于有了一份 git 记录,即使改错了,也可以改回去。不同的改动有冲突也容易发现。
OpenAI 看到社区这么喜欢同时用 Claude 和 Codex,直接自己出了个 skill,可以在 Claude 里调用 Codex
https://github.com/openai/codex-plugin-cc
https://x.com/romainhuet/status/2038677236304245087
https://github.com/openai/codex-plugin-cc
https://x.com/romainhuet/status/2038677236304245087
GitHub
GitHub - openai/codex-plugin-cc: Use Codex from Claude Code to review code or delegate tasks.
Use Codex from Claude Code to review code or delegate tasks. - openai/codex-plugin-cc
费了老半天劲,终于把开发环境部署到了 railway 上,架设在 tailscale 里,使用 cloudflare tunnel + access:
1. Container: node:22-slim based, deployed on Railway
2. Persistent volume: Railway volume — stores tools, workspace, Tailscale state
3. SSH access: Tailscale SSH
4. Browser access: code-server via Cloudflare Tunnel
5. Auth: Cloudflare Access
加了 persistent volume,所以现在部署很快。
code server 很不好部署,一直和 tailscale 有冲突,最后加了 cloudflare tunnel,绑定在自己的域名下。用 cloudflare 鉴权就可以通过浏览器访问了。
codex 可以用 device code 登陆。
1. Container: node:22-slim based, deployed on Railway
2. Persistent volume: Railway volume — stores tools, workspace, Tailscale state
3. SSH access: Tailscale SSH
4. Browser access: code-server via Cloudflare Tunnel
5. Auth: Cloudflare Access
加了 persistent volume,所以现在部署很快。
code server 很不好部署,一直和 tailscale 有冲突,最后加了 cloudflare tunnel,绑定在自己的域名下。用 cloudflare 鉴权就可以通过浏览器访问了。
codex 可以用 device code 登陆。
DPS Build
费了老半天劲,终于把开发环境部署到了 railway 上,架设在 tailscale 里,使用 cloudflare tunnel + access: 1. Container: node:22-slim based, deployed on Railway 2. Persistent volume: Railway volume — stores tools, workspace, Tailscale state 3. SSH access: Tailscale SSH 4. Browser access:…
其实我把开发环境丢在家里的 Mac mini 上好几个月了,没啥大问题,但是首次连接会有些小问题。
另外考虑到回国之后没法用很多工具,所以就在 railway 上部署了另一个环境。
以后应该会把 railway 作为主环境,家里的 mac mini 作为备份。
另外考虑到回国之后没法用很多工具,所以就在 railway 上部署了另一个环境。
以后应该会把 railway 作为主环境,家里的 mac mini 作为备份。
昨天在国内一个高校分享了这一年多来的编程体验,我的理解是差不多经历了现金支付,信用卡支付再到移动支付三个时代。
所谓的现金支付阶段,是指开着一个 AI 聊天窗口,问一个问题,AI 生成一段代码,然后把代码带回 IDE 里跑一下,如此往复循环;
而到了信用卡支付阶段,开始在终端里跑 agent,agent 可以了解整个 repo 的上下文,对整个项目有更全面的了解,进而有更强的自主性,人的角色也慢慢变成了参与者;
现在到了移动支付阶段,agent 可以根据上下文,根据需求制定计划,人审核之后,agent 可以拆分子任务交给不同的 subagents 执行,执行完还可以调用其他模型审核代码。人的角色慢慢变成了架构师。
当然这些都在极速变化,我们可以 keep calm and catch on。
来听讲座的大概有二三十位数学系/统计系的同学,除了个别几位用到了移动支付阶段的 AI 编程,剩下的大部分都还停留在现金支付阶段。
所谓的现金支付阶段,是指开着一个 AI 聊天窗口,问一个问题,AI 生成一段代码,然后把代码带回 IDE 里跑一下,如此往复循环;
而到了信用卡支付阶段,开始在终端里跑 agent,agent 可以了解整个 repo 的上下文,对整个项目有更全面的了解,进而有更强的自主性,人的角色也慢慢变成了参与者;
现在到了移动支付阶段,agent 可以根据上下文,根据需求制定计划,人审核之后,agent 可以拆分子任务交给不同的 subagents 执行,执行完还可以调用其他模型审核代码。人的角色慢慢变成了架构师。
当然这些都在极速变化,我们可以 keep calm and catch on。
来听讲座的大概有二三十位数学系/统计系的同学,除了个别几位用到了移动支付阶段的 AI 编程,剩下的大部分都还停留在现金支付阶段。
👍4