从编辑器到 Agent 一条工具链上的个人阅历
本文为个人折腾记录与主观感受,不是教程或采购建议。已隐去可复现的密钥、端点与精确账单数字。
网页版含配图与示意图;协作审阅可用 GitHub 上的 Markdown 同源文件。
写在前面
这是一份给自己留底的阅历随笔,后面会接到「个人项目经历」展示里。逻辑我稍微顺过一遍,但语气尽量保持原来那种——坑、白嫖、丝滑、断流这些词就留着了,真实一点。
说白了,我就是热爱这个赛道:新工具出来就想摸,比写论文爽多了——体验即动机,不是为了写进简历才点下载。
我摸过哪些「宿主」与 Trae 时间线
Trae:我印象里差不多 2025 年 3 月前后就开始用了——和公开报道对得上:多家媒体稿写 Trae 国内版在 2025 年 3 月初集中上线;更早在 2025 年 1 月已有国际向/M 版迭代。所以要分清:三月我摸的很可能是 AI IDE 本体;而大家后来吹爆的 Solo,在公开材料里多是 2025 年 7 月后才作为重头戏推出来——时间线别混在一起,但「早就上车」这件事没毛病。
Trae Solo依旧主观一句:非常惊艳;而且国内更新跟得快,这点很加分。
Agent / 编程助手向里,我还体验过(或深度白嫖过):Qoder、Trae、Cursor、谷歌 Antigravity(反重力)、VS Code(插件与内置 Agent 形态)、Codex / Claude Code 等 CLI 线,以及 Kiro 一类编辑器形态(口述常写成 Kiro/Krio;只玩过编辑器版本)。
- 谁当主力?我从来没把 Cursor 当固定主力;更常见的是 Qoder、Trae、Antigravity、VS Code、Codex、Claude Code 等轮换上阵——阶段性谁顺手谁就上前排。
- Cursor:也在池子里,付过费、会打开用,但不是「默认开机只开它」那一个。
- Antigravity:后面单独开喷(也会夸 workflow)。
付费:Qoder 付过一个月加首月,其余主要靠活动/邀请;Trae 有过约两个月叠加春节活动;Cursor 付过一个月,学生认证没薅成功。一直没开 Claude 官方订阅,主要是怕风控封号。
CLI:Claude 系、Codex(多账号轮换)、Gemini CLI。VS Code 插件:所谓「三巨头」对应插件都摸过。Copilot只用过插件版——和各家模型打通之后,可玩性是真的不错。
从「Claude Code 火了」到「一发不可收拾」
后来一直刷到 Claude Code 火,但当时没用:心里觉得有门槛——命令行、偏 Vim 系操作,像是「大佬才配」;我一直比较依赖编辑器界面,对纯 CLI 天然怵。
直到有一天,群里表格、对比、推理一条条甩出来,反复强调它好用。我心想:行吧,试试。结果一试就不可收拾,正式走上 Agent 之路——从怎么用到原理,一路摸过来。
摸下来发现:CLI 模式其实也不错;而且后面 VS Code 插件也跟上了,心里那道「没界面就不敢用」的坎慢慢平了。
但中间很坎坷:官方 Claude Code对我来说一度根本不能当默认解——一头是贵,一头是封号风险。于是就出现了前文说的那一整段:一边方便时体验各种 Agent,一边认真找能嵌进自己工作流的工具。说白了,体验也不是白体验:是一点点见证这些工具变好、使用门槛和成本在降。
白嫖与用量(只谈现象)
有过云厂商活动价买到的大包 token(人民币几十块档、标称亿级的那种),多账号累计下来实际消耗已到更高数量级。我盲猜某些路由若按高档模型倍率计费,会出现异常夸张的消耗(坊间「百倍增耗」之类说法,未核实,纯体感)。
另有 Google / Gemini 侧大额试用额度、GitHub Copilot 教育权益等——具体数字不写进网页。
底线:密钥轮换、限额、告警该开就开;勿在公开场合晒完整 key。
反代 API 与测试(只讲结构)
以下为概念级经历,不包含任何可照抄的 URL、Header 或密钥路径。
- 用 Antigravity tool 一类能力做反代 API接到 Claude Code。
- 用 Codex 去接 Claude Code:不够丝滑,token 烧得快。
- Cherry Studio、ccswitch:用来测 key/端点是否通。
- Linux 上 antissh 等:把 Antigravity 或 Gemini 相关流量弯到本地再出去。
- 社区名字:小龙虾、OpenClaw、Copaw、cc-connect、aionuip——有的试过一脚,生态变化快,不保证仍同名同物。
- 最早连 remote 时要解决本机/服务器谁翻墙、auth JSON 手动拷远程——现在工具成熟,这些算过时故事。
Antigravity:爱过,累过
特别喜欢早期那种 workflow 感——现在看重要性被稀释:Claude Code 的 /command、/+command也能钉死流水线,和 Skills 还不完全一回事(Skills 更偏可复用能力包)。
时代眼泪:基于 CV 自动点 Continue,让流程自己跑,去审稿、改论文——纯考古,不推荐复现。
槽点:不流畅、常断、手动 Continue;额度被砍又恢复一点心累。Gemini 做 UI/前端漂亮;科研向工作里主观感觉总比 Opus/GPT 慢半代。本地登录先过 TUN、代理;远程不能 TUN 就要 antissh、自写脚本或 ProxyBridge(exe 与 LLM 服务都要挂——全是坑)。Clash 系下流量统计怪怪的,后来干脆 TUN 全局(费流量省心)。Proxifier 还要会员。
最终:Antigravity 本体也不流畅;反代若上工具有人推 Cliproxy 一类(多账号、多登录——仅名词提及),我试过仍不够丝滑,干脆不用了。
MCP、Skills、子代理,以及我最在意的 Loop
后面行业里陆续有了 MCP、Skills 这些概念——主观感受上,Claude Code 这一侧先把想法讲圆了,确实巧。我也曾在别的智能体 / IDE里搭自己的 Skills、接 MCP,能跑,但不够丝滑;再后来大家都上了 Skill、MCP、Subagent 这一套,算是整条赛道在补课。
说到底,我最喜欢 Claude Code 的还是 Loop。最早社区里有人叫 Ralph loop,还要额外装插件;现在产品里自带了,太好用。一开始 Loop 对我来说就是「把这件事做完」;到后来能 cron、定时唤醒——我曾在别处写过短文,主张 Agent 的长程 runtime得加强「时间观念」;现在这些能力真的长出来了,而且实现得很巧:对时间的感知也很丝滑,像人抬手看一眼手表那种丝滑。调用工具也丝滑。
网上还刷到过一种暴论:RAG 以后说不定会被 Agent 挤掉一块,因为 Agent 手里有 grep、能进仓库里现搜现用——我不当结论采信,但这个梗我记住了。
再往深想一层(纯个人胡想,不当预测):动手查、动手翻仓库本来就是 Agent 框架里很妙的一块——有点像「检索」不必非得向量库一条道,短时间里 RAG 肯定不会整块消失,但工程上的那些临时绝活(各种 temp 技巧)会跟着模型变强而改写法。
另一个感受:Computer use 这类事,以前是强烈依赖 harness / Agent 框架才能凑出来;现在 GPT-5.4、Claude Opus 一类在训练里已经吃进了点鼠标、操界面这类行为,原生就能干。再往推演一句更狂的(仍是推论):今天的 harness engineering、插件式编排,以后没准也会以「数据」的形式被蒸馏回模型里——大模型一直在扩自己的边界;你也能在 MCP、Skills、computer use 叠在一起的热闹里,看到同一条趋势的投影。
把这条线再拧一句(还是随笔):早先更指望模型吐出又稳又结构化的指令,任务甩给后台,旁边总得有个「执行器」一直在等——不然命令谁来跑?现在模型把自己能吞的能力往里收,执行器和模型侧的边界就越来越糊。
再补半句更玄学的(别当真):未必永远只是「缸中之脑」那种隐喻——只要接上工具、屏幕、会话环境这些广义的手脚,它会一路适应;不是说「什么都能学会」,而是可接的那部分边界一直在涨。
以上句句可当耳旁风,权当今天这组胡思乱想;写进文里只是留个时间戳。
大趋势一句话:绕了一大圈,最终还是回归 Claude Code。
现在重心在哪
上面那句不是口号:日常默认还是 Claude Code 这条线。编辑器侧则与 Qoder、Trae、Antigravity、VS Code 等继续轮换;Cursor 的独立 Agent 模式(有点像 Trae Solo)和 智谱系 Zed 也会按需点开——整体都是以 Agent 为中心的 IDE 环境,不是「以编辑器为中心、人手撸每一行给人看」。
模型越来越好的时候,vibe coding 里人到底是指挥还是甲方?越常「只要结果不看过程」,爽和风险越大——代码你不读,锅就是你的。
PATH 里的脚本:索引 + 脱敏示例
本机常见如 /usr/local/bin(或自管 ~/bin)里攒了一堆只为工作流更丝滑的脚本。下面每张表仍是索引;紧接的代码块是教学向示意——路径、端口、域名、Token 均为占位,请按你本机改写;不要把真实密钥写进脚本文件或提交进 Git。
| 名字(示意) | 大致用途 |
|---|---|
ccswitch / codexswitch | 多套 CLI/配置间快速切换 |
mtool(及同类网关 CLI) | 配置集中在 YAML/JSON;安装后进 PATH,用全局子命令切换 profile / 重载 |
clashproxy / proxy_manager.sh | 代理启停与环境变量一批生效 |
glmclaude | 兼容协议链路接入日常开发(占位示意) |
installAntigravity.sh | 历史环境安装(考古占位) |
aionuip | UI / 自动化辅助一键脚本 |
mylaunch | 个人启动器(目录 + Zellij) |
frpc | 内网穿透(仅实验环境) |
mtool 等:配置文件里写全,全局命令只管切换
和上面 shell 脚本的区别:ccswitch 往往是你自己写几行 bash,改 CLAUDE_CONFIG_DIR 之类;mtool 一类工具通常是单个二进制(或官方安装脚本),读固定路径下的配置文件(YAML/JSON/TOML),再通过已加入 PATH 的子命令完成「列 profile → 切换 → 校验 → 重载」。真实密钥、上游地址、模型映射只应出现在配置文件或环境变量里,不要写进本仓库。
怎么接到「全局命令」(择一即可,示意):
- 安装器把可执行文件放到
/usr/local/bin或~/.local/bin,且该目录已在PATH; - 或自己
ln -s "$(pwd)/mtool" ~/bin/mtool,保证~/bin在PATH; - 装完在新开的终端里跑
which mtool/mtool --help(或发行版文档里的等价命令)确认生效。
典型工作流(子命令名随版本而变,以你本机 --help 为准):
- 用发行版文档定位默认配置路径(常见形态如
~/.config/mtool/config.yaml,此处仅为占位)。 - 在配置里维护多个
profile(例如default/work),每个 profile 写占位的base_url、路由规则;API Key 用${ENV_VAR}引用或交给系统钥匙串,避免明文。 - 若 CLI 提供
use/switch:执行后当前 shell 或守护进程切到对应 profile;若没有,则改 YAML 里的 current 字段后执行文档要求的reload/ 重启服务。 - 与
claude/codex联用时:通常仍需按该工具文档设置ANTHROPIC_BASE_URL等(或由其生成的env子命令一次性打印),再启动 CLI——顺序往往是:代理(若需要)→ mtool 监听就绪 → 再开 Agent。
# ~/.config/mtool/config.yaml 示意(目录与键名以你所装版本为准,勿照抄当真)
version: 1
current_profile: default
profiles:
default:
listen: "127.0.0.1:11435" # 占位端口
upstream_base: "https://example.invalid/v1"
# api_key_env: "MT_API_KEY" # 真 key 只放在 export MT_API_KEY=… 或密钥链
work:
listen: "127.0.0.1:11436"
upstream_base: "https://corp-gateway.example.invalid/v1"
#!/usr/bin/env bash
# 若官方未写 PATH:薄包装,把「真实二进制」固定在一个路径(占位)
exec "${HOME}/.local/lib/mtool/bin/mtool" "$@"
# 占位:自检与切换(子命令名请 mtool --help 核对)
# mtool version
# mtool profile list
# mtool profile use work
# mtool doctor # 或 status / ping,视发行版而定
和 ccswitch 怎么配合:ccswitch 换的是「Claude 自己的配置目录」;mtool 换的是「网关/兼容层」监听与上游。二者可以叠用(例如先 source clashproxy,再启 mtool,再 ccswitch work),但要清楚哪一层在吃你的流量与密钥,避免重复代理或重复鉴权。
ccswitch / codexswitch
思路:用「配置目录」或独立 env 文件区分多套 CLI 身份,切换时只改环境变量,不重装。
#!/usr/bin/env bash
# 示意:按参数选用不同配置根目录(路径请改成你自己的)
PROFILE="${1:-default}"
export CLAUDE_CONFIG_DIR="${HOME}/.config/claude-profiles/${PROFILE}"
mkdir -p "$CLAUDE_CONFIG_DIR"
echo "Active profile: ${PROFILE} -> ${CLAUDE_CONFIG_DIR}"
# 其后在同一 shell 里执行 claude …
#!/usr/bin/env bash
# codexswitch 同理:例如切换 CODEX_HOME 或 API 配置文件路径
PROFILE="${1:-work}"
export CODEX_HOME="${HOME}/.codex/${PROFILE}"
echo "CODEX_HOME=${CODEX_HOME}"
clashproxy / proxy_manager.sh
思路:一键 export / unset,避免每条命令手写代理;端口与本地 Clash / Mihomo 监听一致即可。
#!/usr/bin/env bash
# 占位端口:按你本机 mixed 端口修改
export HTTP_PROXY="http://127.0.0.1:7890"
export HTTPS_PROXY="http://127.0.0.1:7890"
export ALL_PROXY="socks5://127.0.0.1:7891"
export NO_PROXY="localhost,127.0.0.1"
echo "proxy env ON"
#!/usr/bin/env bash
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY http_proxy https_proxy all_proxy
echo "proxy env OFF"
glmclaude
思路:在子 shell里注入「兼容某 HTTP API 形态」的变量,再 exec 进 CLI;密钥从环境或密码管理器读取,禁止写死在仓库里。
#!/usr/bin/env bash
# 占位:仅演示「先设变量再 exec」;URL/变量名随你实际网关调整
# export ANTHROPIC_BASE_URL="https://example.invalid/v1" # 勿用真地址示例进公开仓库
# export ANTHROPIC_AUTH_TOKEN="${MY_SECRET_FROM_ENV:-}" # 从当前 shell 已 export 的变量读
exec claude "$@"
installAntigravity.sh
思路:考古用——下载校验、安装路径、桌面项;随官方安装方式变,此处只留骨架。
#!/usr/bin/env bash
set -euo pipefail
# VERSION="x.y.z" # 占位
# curl -fsSL "https://example.invalid/pkg" -o /tmp/app.pkg
# 校验 checksum、安装到 /opt … 略
echo "Replace with real vendor steps when needed."
aionuip
思路:窗口出现后延时、再模拟点击/快捷键(Linux xdotool、macOS osascript 等);坐标与 App 名按本机改。
#!/usr/bin/env bash
sleep 2
# xdotool search --name "SomeApp" windowactivate
# xdotool mousemove 400 300 click 1
echo "Wire to your UI automation stack."
mylaunch
思路:cd 到固定工程根,再 attach / create Zellij 会话,Agent 日志与 shell 同屏。
#!/usr/bin/env bash
PROJECT_ROOT="${HOME}/path/to/your-repo" # 改成你的路径
cd "$PROJECT_ROOT" || exit 1
SESSION="agent-dev"
LAYOUT="${HOME}/.config/zellij/agent.kdl" # 自建 layout 文件
if zellij list-sessions 2>/dev/null | grep -q "^${SESSION}$"; then
zellij attach "$SESSION"
else
zellij --layout "$LAYOUT" --session "$SESSION"
fi
frpc
思路:仅内网实验;frps 与 token 在自有机器上配置,勿用下文占位符当真。
# frpc.ini 示意
[common]
server_addr = YOUR_FRPS_HOST
server_port = 7000
token = YOUR_TOKEN_PLACEHOLDER
[ssh-tunnel]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 60022
claudep
思路:短命令包装长参数;仅限隔离环境,共享机与生产禁用。
#!/usr/bin/env bash
exec claude --dangerously-skip-permissions "$@"
为什么用 Zellij:布局示例
思路:布局文件描述分屏;会话名固定,attach 复用同一组 pane(编代码 / 跑 claude / 看 log)。
// ~/.config/zellij/agent.kdl 示意(语法以 Zellij 文档为准)
layout {
default_tab_template {
pane size=1 split_direction="vertical" {
pane
pane size=2 split_direction="horizontal" { pane; pane; }
}
}
}
小结:读者看到的是模式——配置驱动全局命令(如 mtool)、手写切换脚本(ccswitch)、代理环境、安全注入、会话编排——请把占位全部换成你自己的习惯与密钥管理方式;具体子命令以各工具 --help 与官方文档为准。
小结
这是一条从编辑器依赖到接受 CLI、从到处试 Agent到又绕回 Claude Code的路;中间反代、额度、封号都算学费。合规第一、密钥最小暴露、链路越短越省心。本站技术正文仍以课程与官方文档为准;本篇仅作个人侧记。