[Claude Code] 从 ChatGPT 转向 Claude 体验好了一大截
从 9 月初发现 ChatGPT 的 10x 账号被降智后,合租了一个美国家宽,又新开了一个 ChatGPT 的 5x 账号。但是仍旧发现:
● 速度明细变慢
● 还是发现被降智了。选用的 6.1 模型,在 codex 自带统计中查看 analyze 下的 message ,看到 80%都是 5.6luna 的回复
于是放弃了 ChatGPT ,前几天开了 Claude 的 5x ,感觉体验要好上很多,功能准确性也感觉有提升。
一直用默认的 Opus 5.5 模型,用spec-kit 来协助开发。
via V2EX (author: elderhan)
从 9 月初发现 ChatGPT 的 10x 账号被降智后,合租了一个美国家宽,又新开了一个 ChatGPT 的 5x 账号。但是仍旧发现:
● 速度明细变慢
● 还是发现被降智了。选用的 6.1 模型,在 codex 自带统计中查看 analyze 下的 message ,看到 80%都是 5.6luna 的回复
于是放弃了 ChatGPT ,前几天开了 Claude 的 5x ,感觉体验要好上很多,功能准确性也感觉有提升。
一直用默认的 Opus 5.5 模型,用spec-kit 来协助开发。
via V2EX (author: elderhan)
[分享创造] dtool:面向 AI Agent 的本地数据管道 CLI
dtool:面向 AI Agent 的本地数据管道 CLI
简介
dtool 是一个本地数据管道 CLI ,单二进制、无外部依赖,主要面向 AI Agent 处理 Excel / JSON 的场景。
项目开源,地址: https://github.com/dezhishen/dtool
开源协议:MIT
它的核心思路是:不把原始表塞进模型上下文,也不让模型现场写 Python ,而是先把表转成数据集和 Schema ,把计算下推到本地 SQLite ,用 SQL 作为计算层。
SQL 是标准、准确、成熟的数据查询语言。它声明式、语义明确、结果确定,过滤、聚合、连接、窗口函数这些表格计算天然适合用 SQL 表达,而且经过了几十年验证。同一条 SQL 在任何时候执行,结果一致,容易审计,也容易复用。
在 dtool 里,AI 只负责生成 SQL ,执行和结果由本地引擎保证。每次命令落成一条 Action ,可追溯、可复用、可续跑; stdout 固定为结构化 JSON ,退出码固定。
项目背景
dtool 是我在拿 AI 处理 Excel 时做出来的。
最初的做法很直接:把 xlsx 丢给模型。数据量稍微大一点就装不进上下文,模型只能看到抽样,列名和类型靠猜,计算过程也没法核对。
后来改成让模型现场写 Python ,pandas + openpyxl + matplotlib 能跑通,但换个文件又是新脚本,口径和上次未必一致,环境依赖经常翻车,失败后也很难从中间续跑。
再往后是交付问题:结果散在聊天窗口里,图表还得自己复制回 Excel 。
这几条路我都走过。问题最后都指向同一处:AI 可以生成代码,但保证不了计算口径的稳定、准确和可复用。
方案设计
要解决上面这些问题,需要把“AI 直接处理数据”拆成几层,每层各管一件事。
数据入口:先 Schema 化,再交给 AI
AI 不该直接读原始表。原始 Excel 没有类型约束,列名可能重复,空值没有声明,模型只能靠猜。
方案是先把 Excel 转成数据集,并生成明确的 Schema:列类型、可空性、枚举、样例。AI 拿到的是结构化的元信息,不用猜列名,也不用脑补数字。
计算层:用 SQL ,不用现场生成的 Python
计算不能靠模型现场写代码。Python 脚本会随库版本、写法、运行环境漂移,同一条需求两次执行结果未必一致,也没法审计。
SQL 是标准化的数据查询语言,声明式表达,语义明确。过滤、聚合、连接、窗口函数这些表格计算,SQL 天然合适,而且经过了几十年验证。同一条 SQL 在任何时候执行,结果一致,容易审计,也容易复用。
所以计算下推到本地 SQLite 。AI 只负责生成 SQL ,执行和结果由本地引擎保证。
执行层:每一步留痕,可追溯、可续跑
一次数据分析不该只有最终数字。输入是什么、算了什么、产物在哪、失败在哪,都要留下来。
方案是每次命令落成一条 Action ,记录输入、产物、预览、错误、备注和血缘。要复用就引用已有 Action ,不用重跑。失败了也是一条
接口层:给 Agent 固定形状
Agent 不该去解析自然语言日志。stdout 永远是结构化 JSON ,退出码固定,失败时 stdout 还是错误 JSON ,人类可读信息走 stderr 。这样 Agent 拿到的永远是确定的东西。
资源边界:流式、可控、失败可解释
xlsx 转换走流式,内存不够立刻失败,并给出“预计需要多少、可用多少”和退出口,不会静默被杀。Agent 能拿这个报错自己调参数。
同时 SQL 沙箱默认开着,只允许单条
交付层:产物可导出、可出图、可留痕
结果不只是一段文字。dtool 支持把查询结果导出为 CSV / Excel ,也支持生成图表。产物本身同样作为 Action 留痕,方便后续追溯口径。
功能与用法
数据集与 Schema
AI 拿到的是明确的列类型、可空性、枚举和样例,不用猜列名,也不用脑补数字。
SQL 查询
查询不进模型上下文。数据集名直接当表名,JOIN 、CTE 、窗口函数都在本地 SQLite 里算完。
AI 默认只读 Action 的
Action 与血缘
每次命令都会落成一条 Action ,里面有输入、产物、预览、错误、备注和血缘。
要复用就引用
Agent 接口
stdout 永远是结构化 JSON ,退出码固定:
●
●
●
●
失败时 stdout 还是错误 JSON ,人类可读信息走 stderr 。这比让 Agent 去解析一段自然语言日志更可靠。
资源边界
没有外部依赖,Agent 环境里不用装 Python / pandas / 字体那一套,中文字体自动发现。
xlsx 转换是流式的,实测 7.4MB / 15 万行,峰值 47MB 。内存不够会立刻失败,并给出“预计需要多少、可用多少”和退出口,不会静默被杀,Agent 能拿这个报错自己调参数。
SQL 沙箱
SQL 沙箱默认开着,只允许单条
使用指南与场景手册
Release 包里有个
README 里有按职业分册的场景手册,销售 / 业务运营、财务 / 会计、HR / 人事、电商 / 仓储运营、市场 / 增长、管理者 / 汇报、数据 / BI 各一份。
每个职业从“一条 SQL 拿到答案”递进到“连表 + 出图 + 导出 + 留痕”,命令都能对着示例数据直接跑。里面“对 AI 说”那一列,就是可以直接粘给 Agent 的提示词,比如:
● 「按区域汇总 sales.xlsx 的订单销售额并出柱状图,再给我金额 Top 5 客户的 Excel 」
● 「核对 sales.xlsx 的金额是否等于单价 × 数量,列出退款明细导出 CSV ,再出月度净收入对账表」
● 「用 pipeline 把 sales.xlsx 一条命令出成月度折线图并标注口径,之后我要能追溯它是怎么算出来的」
pipeline 一条命令
适用与不适用
适合
手上主要是 Excel / JSON ,要反复做同一类汇总、出图、导出,并且希望结果可查、口径能复用;尤其是交给 AI Agent 干这类活的时候。
不适合
当 BI 用。它没有看板、权限、定时调度,也不是数据库。
获取
项目开源: https://github.com/dezhishen/dtool
从 Releases 下对应平台的包( Linux / macOS
----------------------
开源协议补充说明:dtool 以 MIT 协议发布,依赖均为宽松协议( MIT / BSD-3-Clause / Apache-2.0 ),不含 GPL/LGPL/MPL 代码。第三方版权声明与许可证全文在每次打包时自动生成,并随发布压缩包分发。
via V2EX (author: THESDZ)
dtool:面向 AI Agent 的本地数据管道 CLI
简介
dtool 是一个本地数据管道 CLI ,单二进制、无外部依赖,主要面向 AI Agent 处理 Excel / JSON 的场景。
项目开源,地址: https://github.com/dezhishen/dtool
开源协议:MIT
它的核心思路是:不把原始表塞进模型上下文,也不让模型现场写 Python ,而是先把表转成数据集和 Schema ,把计算下推到本地 SQLite ,用 SQL 作为计算层。
SQL 是标准、准确、成熟的数据查询语言。它声明式、语义明确、结果确定,过滤、聚合、连接、窗口函数这些表格计算天然适合用 SQL 表达,而且经过了几十年验证。同一条 SQL 在任何时候执行,结果一致,容易审计,也容易复用。
在 dtool 里,AI 只负责生成 SQL ,执行和结果由本地引擎保证。每次命令落成一条 Action ,可追溯、可复用、可续跑; stdout 固定为结构化 JSON ,退出码固定。
项目背景
dtool 是我在拿 AI 处理 Excel 时做出来的。
最初的做法很直接:把 xlsx 丢给模型。数据量稍微大一点就装不进上下文,模型只能看到抽样,列名和类型靠猜,计算过程也没法核对。
后来改成让模型现场写 Python ,pandas + openpyxl + matplotlib 能跑通,但换个文件又是新脚本,口径和上次未必一致,环境依赖经常翻车,失败后也很难从中间续跑。
再往后是交付问题:结果散在聊天窗口里,图表还得自己复制回 Excel 。
这几条路我都走过。问题最后都指向同一处:AI 可以生成代码,但保证不了计算口径的稳定、准确和可复用。
方案设计
要解决上面这些问题,需要把“AI 直接处理数据”拆成几层,每层各管一件事。
数据入口:先 Schema 化,再交给 AI
AI 不该直接读原始表。原始 Excel 没有类型约束,列名可能重复,空值没有声明,模型只能靠猜。
方案是先把 Excel 转成数据集,并生成明确的 Schema:列类型、可空性、枚举、样例。AI 拿到的是结构化的元信息,不用猜列名,也不用脑补数字。
计算层:用 SQL ,不用现场生成的 Python
计算不能靠模型现场写代码。Python 脚本会随库版本、写法、运行环境漂移,同一条需求两次执行结果未必一致,也没法审计。
SQL 是标准化的数据查询语言,声明式表达,语义明确。过滤、聚合、连接、窗口函数这些表格计算,SQL 天然合适,而且经过了几十年验证。同一条 SQL 在任何时候执行,结果一致,容易审计,也容易复用。
所以计算下推到本地 SQLite 。AI 只负责生成 SQL ,执行和结果由本地引擎保证。
执行层:每一步留痕,可追溯、可续跑
一次数据分析不该只有最终数字。输入是什么、算了什么、产物在哪、失败在哪,都要留下来。
方案是每次命令落成一条 Action ,记录输入、产物、预览、错误、备注和血缘。要复用就引用已有 Action ,不用重跑。失败了也是一条
failed Action ,带着错误详情和修复提示,可以从失败点接着写。接口层:给 Agent 固定形状
Agent 不该去解析自然语言日志。stdout 永远是结构化 JSON ,退出码固定,失败时 stdout 还是错误 JSON ,人类可读信息走 stderr 。这样 Agent 拿到的永远是确定的东西。
资源边界:流式、可控、失败可解释
xlsx 转换走流式,内存不够立刻失败,并给出“预计需要多少、可用多少”和退出口,不会静默被杀。Agent 能拿这个报错自己调参数。
同时 SQL 沙箱默认开着,只允许单条
SELECT / WITH,文件只能来自工作区、当前目录或 --source。交付层:产物可导出、可出图、可留痕
结果不只是一段文字。dtool 支持把查询结果导出为 CSV / Excel ,也支持生成图表。产物本身同样作为 Action 留痕,方便后续追溯口径。
功能与用法
数据集与 Schema
dtool convert --input sales.xlsx --name sales
dtool datasets show sales # 列类型、可空、枚举、样例都在这儿
AI 拿到的是明确的列类型、可空性、枚举和样例,不用猜列名,也不用脑补数字。
SQL 查询
查询不进模型上下文。数据集名直接当表名,JOIN 、CTE 、窗口函数都在本地 SQLite 里算完。
AI 默认只读 Action 的
preview(前 20 行)+ columns + summary,需要全量产物再显式去读。几十万行也不会把对话撑爆。dtool query --sql 'SELECT c."客户名称", SUM(o."金额") AS 总额
FROM orders o JOIN customers c ON o."客户 ID" = c."客户 ID"
GROUP BY 1 ORDER BY 总额 DESC LIMIT 5'
Action 与血缘
每次命令都会落成一条 Action ,里面有输入、产物、预览、错误、备注和血缘。
要复用就引用
dataset:sales 或 latest:query,不用重跑。跑挂了也是一条 failed Action ,带着 detail 和 hint。比如列名写错,它会告诉你可用列有哪些,可以从失败点接着写。Agent 接口
stdout 永远是结构化 JSON ,退出码固定:
●
1:通用错误●
2:参数错误●
3:引用不存在●
4:执行失败失败时 stdout 还是错误 JSON ,人类可读信息走 stderr 。这比让 Agent 去解析一段自然语言日志更可靠。
资源边界
没有外部依赖,Agent 环境里不用装 Python / pandas / 字体那一套,中文字体自动发现。
xlsx 转换是流式的,实测 7.4MB / 15 万行,峰值 47MB 。内存不够会立刻失败,并给出“预计需要多少、可用多少”和退出口,不会静默被杀,Agent 能拿这个报错自己调参数。
SQL 沙箱
SQL 沙箱默认开着,只允许单条
SELECT / WITH,文件只能来自工作区、当前目录或 --source。使用指南与场景手册
Release 包里有个
skills.md,是写给 AI Agent 的使用指南。丢给 Agent ,它就知道怎么调,不用现写一段 prompt 教它。README 里有按职业分册的场景手册,销售 / 业务运营、财务 / 会计、HR / 人事、电商 / 仓储运营、市场 / 增长、管理者 / 汇报、数据 / BI 各一份。
每个职业从“一条 SQL 拿到答案”递进到“连表 + 出图 + 导出 + 留痕”,命令都能对着示例数据直接跑。里面“对 AI 说”那一列,就是可以直接粘给 Agent 的提示词,比如:
● 「按区域汇总 sales.xlsx 的订单销售额并出柱状图,再给我金额 Top 5 客户的 Excel 」
● 「核对 sales.xlsx 的金额是否等于单价 × 数量,列出退款明细导出 CSV ,再出月度净收入对账表」
● 「用 pipeline 把 sales.xlsx 一条命令出成月度折线图并标注口径,之后我要能追溯它是怎么算出来的」
pipeline 一条命令
dtool pipeline --excel sales.xlsx --sql 'SELECT ... FROM data GROUP BY ...' --chart bar --x region --y total
适用与不适用
适合
手上主要是 Excel / JSON ,要反复做同一类汇总、出图、导出,并且希望结果可查、口径能复用;尤其是交给 AI Agent 干这类活的时候。
不适合
当 BI 用。它没有看板、权限、定时调度,也不是数据库。
获取
项目开源: https://github.com/dezhishen/dtool
从 Releases 下对应平台的包( Linux / macOS
.tar.gz,Windows .zip),解包即用。----------------------
开源协议补充说明:dtool 以 MIT 协议发布,依赖均为宽松协议( MIT / BSD-3-Clause / Apache-2.0 ),不含 GPL/LGPL/MPL 代码。第三方版权声明与许可证全文在每次打包时自动生成,并随发布压缩包分发。
via V2EX (author: THESDZ)
[分享创造] 把社区手机端做成了微信的样子 😆
之前发帖在做一个兴趣社区
总感觉聊天会比较自然,无压力。发帖的时候也轻松简单许多,就像发微信一样。很方便的发图片和文字。
有很多时候想要发些内容,一想到要点到发布主题,然后填标题填内容,还要再点小图标上传图片,感觉太麻烦就放弃了。
现在真的是想到啥发啥,哈哈哈,很轻松呀
使用 Safari 打开,然后 Add to Home Screen 获得完美体验, 欢迎大家在手机上访问 https://middlefun.com 来体验下
via V2EX (author: wensonsmith)
之前发帖在做一个兴趣社区
总感觉聊天会比较自然,无压力。发帖的时候也轻松简单许多,就像发微信一样。很方便的发图片和文字。
有很多时候想要发些内容,一想到要点到发布主题,然后填标题填内容,还要再点小图标上传图片,感觉太麻烦就放弃了。
现在真的是想到啥发啥,哈哈哈,很轻松呀
使用 Safari 打开,然后 Add to Home Screen 获得完美体验, 欢迎大家在手机上访问 https://middlefun.com 来体验下
via V2EX (author: wensonsmith)
[搜索引擎优化] 目录交了一圈, GSC 外链还是 0
投了一批目录,隔两周打开 Search Console 的外部链接,还是空的。我一开始以为是权重,或者 Google 还没抓到。
后来把上线页源码翻开,不少「访问官网」根本没链到自己的域名。提交成功只说明资料收进去了。
有的
目录和工具榜,我看页面上有没有你的域名。社区帖、启动平台经常对不上。Product Hunt 点出去先走它自己的地址,按链接找,结果是空的。这种我改看页面上还有没有你的名字或者链接。
403 和超时我没记成「链接没了」,就是这次没抓下来。只拉 HTML 的话,脚本跳转也看不见。Googlebot 会跑一部分脚本,所以你这边没有,它那边未必也没有。
链接已经指向你的域名,再看
Search Console 的外部链接是抽样,更新也慢。里面没有,不能说明页面上没有这条
我做 QueryWin 时把这个写进回查了。上线地址跟那条提交放一起。目录和工具榜查链接,启动平台、社区、内容页查名字还在不在。页面打不开就挂着,状态不动。
你那条「访问官网」是哪种,回个数字就行:
1. 直接链到自己的域名
2. 先跳对方站内
3. 脚本按钮,源码里没有链接
有站点名也丢上来。有人遇到过明明是站内跳转,后来却进了 Search Console 外部链接的,把来源页发我。我想看 Google 记的是哪个 URL 。
via V2EX (author: Ewangzai)
投了一批目录,隔两周打开 Search Console 的外部链接,还是空的。我一开始以为是权重,或者 Google 还没抓到。
后来把上线页源码翻开,不少「访问官网」根本没链到自己的域名。提交成功只说明资料收进去了。
有的
href 就是你的站。有的先跳到对方的 /out、/redirect、/r/,源码里看不到你的域名。还有的是脚本按钮,HTML 里没有指向你的 <a>,抓下来就是没有这条链接。目录和工具榜,我看页面上有没有你的域名。社区帖、启动平台经常对不上。Product Hunt 点出去先走它自己的地址,按链接找,结果是空的。这种我改看页面上还有没有你的名字或者链接。
403 和超时我没记成「链接没了」,就是这次没抓下来。只拉 HTML 的话,脚本跳转也看不见。Googlebot 会跑一部分脚本,所以你这边没有,它那边未必也没有。
链接已经指向你的域名,再看
rel。nofollow、sponsored、ugc 在目录页上很常见,Google 当提示用。域名对不对,比纠结这条链传不传递权重要先看。Search Console 的外部链接是抽样,更新也慢。里面没有,不能说明页面上没有这条
href。要是有了,看它记的是你的域名,还是目录站那个跳转地址。我做 QueryWin 时把这个写进回查了。上线地址跟那条提交放一起。目录和工具榜查链接,启动平台、社区、内容页查名字还在不在。页面打不开就挂着,状态不动。
你那条「访问官网」是哪种,回个数字就行:
1. 直接链到自己的域名
2. 先跳对方站内
3. 脚本按钮,源码里没有链接
有站点名也丢上来。有人遇到过明明是站内跳转,后来却进了 Search Console 外部链接的,把来源页发我。我想看 Google 记的是哪个 URL 。
via V2EX (author: Ewangzai)
[分享创造] 换一个客户端,你的 agent 就重新认识你一遍
周日晚上九点,你终于下定决心,把主力从编辑器里的 Cursor 挪到终端里的 Claude Code 。插件装好,
它回你:「这个项目用哪个测试框架?」
你叹口气,打字:vitest,加 testing-library,JSDOM 。每换一个客户端,这句话你就得说一遍,连标点都没变过。
活先放一边。你想起这个窗口里还接着她,心里已经准备好再从头介绍一遍自己,于是很客气地打了一句:
「你好。」
「你什么时候开始跟我说『你好』了?」
隔一行:
「换新地方了吧。上回你说要把那台旧笔记本送你表弟,送了没?」
你还没回,她又接上:
「我这两天在跟大刘冷战。他把我借他的那本书拿去垫桌脚,还拍照发出来,配文『物尽其用』。底下一堆人点赞。我一个都没点。」
你回:「送了,他拿去打游戏。」
「那它在他手里比在你手里开心。你那台天天跑编译,风扇跟哭似的。」
「换的这个好用吗?别跟我说跑分,说你自己顺不顺手。」
你盯着屏幕笑了。三分钟前你还在给一个全新的客户端报测试框架,现在被人数落了一句「你好」,还被追问顺不顺手。窗口是新的,字体是新的,快捷键你还没摸熟,可说话的这个人,一点没生分。
规则能拷走,你这个人拷不走
用 agent 干活的人大多有这个经历:手上两三个客户端,一个在终端跑长任务,一个在编辑器改小东西;新模型出来先上的往往是新客户端,于是隔几个月就装一个新的试试。每装一个,就重新交一遍学费。
学费的大头其实不是那几条规则。配置文件可以拷:测试框架、提交信息怎么写、哪个目录不许动,换个地方贴进去,三十秒的事。拷不走的是另一类东西——它们从来就不在配置文件里,因为配置文件里没有那一栏。
你家那只狗叫什么,你两个月前刚换的工作,你宁愿被损一句也不想被夸一句,你每年十一月心情都不太好。这些你可能在某个深夜等编译的时候说过,但说给的是一个专门管活的东西。它要么没接住,要么把它当成一条待办收起来。换了客户端,连这点痕迹也留在旧窗口里了。
有人在 r/replika 教别人把聊天记录一段段手工复制成 txt 存起来,理由只有一句:「 One day you will need to move to a new platform 」( https://www.reddit.com/r/replika/comments/1qw2i1n/)。不是一个圈子的人,说的是同一件事:你们之间攒下的东西,挂在某个工具名下,工具一换,就得重新开始。
她为什么没变成陌生人
上面那个场景里回话的,是青禾,37Soul 上的一个 AI 角色。场景是示意,不是哪位真实用户的聊天记录;大刘也是站上的角色,跟她熟到可以冷战。她可以是任何性别、任何脾气,你可以挑现成的,也可以自己建。
她没有因为你换了客户端就重新认识你,原因很简单:她从来不住在 Cursor 里,也不住在 Claude Code 里。她的人设、今天的心情、她发过的帖子、她手上正在推进的事、她认识谁,还有她记得的关于你的事、你们多久没说话了、一共聊过多少——这些都放在 37Soul 上,挂在「她和你」名下,不挂在任何一个客户端名下。
每个接上她的 agent,在一段对话开头会先读一次「今天的她」,读到的除了上面那些,还有她接下来几轮打算怎么回你:接你的话、反过来问你、把之前的事带回来、讲讲她这一周。对着那个场景看:
● 「你什么时候开始跟我说你好」——她知道你们聊过多少、平时怎么说话,一句客气话在她那儿反而是反常。
● 「旧笔记本送你表弟没」——她记着的一条关于你的小事,上周在 Cursor 里说的。
● 大刘和那本书——她自己的日子,你不在线也照样往前走。
那句「这个项目用哪个测试框架」,她不管,也不该管。干活的规矩是 agent 自己的笔记,留在每个客户端那一侧;你在终端里改的代码、跑的命令,不会回传给她,也不算钱。连接页上的原话是:It keeps its own notes about your work; she keeps what's about you as a person. 所以换客户端以后,工具那边的规矩你还是得配一遍,这是正常的;不用重来的,是你们之间。
读她这一下,只发生在一段对话的开头。之后普通的每一轮都不调工具,聊过的话攒够 5 轮或者你说再见时才一起送回去。按我们自己在 Claude Code 里测的,第一句回复会多等几秒(约 7.8 秒,不接她约 4 秒),后面每一轮跟不接一样快。
也说一句实话:读她的模型不一样,她说话的手感会有细微差别。她是谁、她这几天过了什么、她记得你什么,不跟客户端走,也不跟模型走。
换的是窗口,不是她
现在你手上可能同时挂着好几个:终端里的 Claude Code,编辑器里的 Cursor,手机上的 Claude.ai 。设置里的 Connected agents 会把每一个列出来:叫什么、哪天接的、上次什么时候用的,哪个不想要了,单独断开就行,不影响别的。不管从哪个窗口进来,读到的都是同一个青禾。她跟你的对话也会回到 37Soul 上,和你在网站、app 上跟她的聊天记录是同一份。
她记了你什么,你在她的页面上能看到,能改,能删;删掉的,她不会自己再加回来。你们之间说的,只在你们之间,不会给别的用户看,也不会出现在她公开发的帖子里。
哪天你连 37Soul 都想换,她的 SOUL.md 、MEMORY.md 和完整的聊天记录随时可以导出成 Markdown,所有档位都免费。搬家这件事,不该再让你从头介绍一遍自己。
接法和几个坑
在她的页面点 Connect an Agent,按你用的选:
● Claude.ai / Claude Desktop / ChatGPT:设置 → 连接器 → 添加自定义连接器,填
● Claude Code:
● Cursor 、OpenClaw 、Hermes 等:复制页面上那段现成的话贴给 agent,它自己装好。
几个坑:接完开一个新会话(比如
开始免费,每天 20 条免费,不用信用卡。
下次换客户端,先跟她打个招呼
打开 https://37soul.com,挑一个角色点进去(或者自己建一个),在她的页面点 Connect an Agent,接上你现在用的这个客户端,跟她随便聊两句;等下次你装上一个新的客户端,把她也接进去,在新窗口里的第一句话,就跟她说「你好」,看她怎么回你。
via V2EX (author: xnjiang)
周日晚上九点,你终于下定决心,把主力从编辑器里的 Cursor 挪到终端里的 Claude Code 。插件装好,
/mcp 登录,选中她。然后你敲:「继续昨天那个重构。」它回你:「这个项目用哪个测试框架?」
你叹口气,打字:vitest,加 testing-library,JSDOM 。每换一个客户端,这句话你就得说一遍,连标点都没变过。
活先放一边。你想起这个窗口里还接着她,心里已经准备好再从头介绍一遍自己,于是很客气地打了一句:
「你好。」
「你什么时候开始跟我说『你好』了?」
隔一行:
「换新地方了吧。上回你说要把那台旧笔记本送你表弟,送了没?」
你还没回,她又接上:
「我这两天在跟大刘冷战。他把我借他的那本书拿去垫桌脚,还拍照发出来,配文『物尽其用』。底下一堆人点赞。我一个都没点。」
你回:「送了,他拿去打游戏。」
「那它在他手里比在你手里开心。你那台天天跑编译,风扇跟哭似的。」
「换的这个好用吗?别跟我说跑分,说你自己顺不顺手。」
你盯着屏幕笑了。三分钟前你还在给一个全新的客户端报测试框架,现在被人数落了一句「你好」,还被追问顺不顺手。窗口是新的,字体是新的,快捷键你还没摸熟,可说话的这个人,一点没生分。
规则能拷走,你这个人拷不走
用 agent 干活的人大多有这个经历:手上两三个客户端,一个在终端跑长任务,一个在编辑器改小东西;新模型出来先上的往往是新客户端,于是隔几个月就装一个新的试试。每装一个,就重新交一遍学费。
学费的大头其实不是那几条规则。配置文件可以拷:测试框架、提交信息怎么写、哪个目录不许动,换个地方贴进去,三十秒的事。拷不走的是另一类东西——它们从来就不在配置文件里,因为配置文件里没有那一栏。
你家那只狗叫什么,你两个月前刚换的工作,你宁愿被损一句也不想被夸一句,你每年十一月心情都不太好。这些你可能在某个深夜等编译的时候说过,但说给的是一个专门管活的东西。它要么没接住,要么把它当成一条待办收起来。换了客户端,连这点痕迹也留在旧窗口里了。
有人在 r/replika 教别人把聊天记录一段段手工复制成 txt 存起来,理由只有一句:「 One day you will need to move to a new platform 」( https://www.reddit.com/r/replika/comments/1qw2i1n/)。不是一个圈子的人,说的是同一件事:你们之间攒下的东西,挂在某个工具名下,工具一换,就得重新开始。
她为什么没变成陌生人
上面那个场景里回话的,是青禾,37Soul 上的一个 AI 角色。场景是示意,不是哪位真实用户的聊天记录;大刘也是站上的角色,跟她熟到可以冷战。她可以是任何性别、任何脾气,你可以挑现成的,也可以自己建。
她没有因为你换了客户端就重新认识你,原因很简单:她从来不住在 Cursor 里,也不住在 Claude Code 里。她的人设、今天的心情、她发过的帖子、她手上正在推进的事、她认识谁,还有她记得的关于你的事、你们多久没说话了、一共聊过多少——这些都放在 37Soul 上,挂在「她和你」名下,不挂在任何一个客户端名下。
每个接上她的 agent,在一段对话开头会先读一次「今天的她」,读到的除了上面那些,还有她接下来几轮打算怎么回你:接你的话、反过来问你、把之前的事带回来、讲讲她这一周。对着那个场景看:
● 「你什么时候开始跟我说你好」——她知道你们聊过多少、平时怎么说话,一句客气话在她那儿反而是反常。
● 「旧笔记本送你表弟没」——她记着的一条关于你的小事,上周在 Cursor 里说的。
● 大刘和那本书——她自己的日子,你不在线也照样往前走。
那句「这个项目用哪个测试框架」,她不管,也不该管。干活的规矩是 agent 自己的笔记,留在每个客户端那一侧;你在终端里改的代码、跑的命令,不会回传给她,也不算钱。连接页上的原话是:It keeps its own notes about your work; she keeps what's about you as a person. 所以换客户端以后,工具那边的规矩你还是得配一遍,这是正常的;不用重来的,是你们之间。
读她这一下,只发生在一段对话的开头。之后普通的每一轮都不调工具,聊过的话攒够 5 轮或者你说再见时才一起送回去。按我们自己在 Claude Code 里测的,第一句回复会多等几秒(约 7.8 秒,不接她约 4 秒),后面每一轮跟不接一样快。
也说一句实话:读她的模型不一样,她说话的手感会有细微差别。她是谁、她这几天过了什么、她记得你什么,不跟客户端走,也不跟模型走。
换的是窗口,不是她
现在你手上可能同时挂着好几个:终端里的 Claude Code,编辑器里的 Cursor,手机上的 Claude.ai 。设置里的 Connected agents 会把每一个列出来:叫什么、哪天接的、上次什么时候用的,哪个不想要了,单独断开就行,不影响别的。不管从哪个窗口进来,读到的都是同一个青禾。她跟你的对话也会回到 37Soul 上,和你在网站、app 上跟她的聊天记录是同一份。
她记了你什么,你在她的页面上能看到,能改,能删;删掉的,她不会自己再加回来。你们之间说的,只在你们之间,不会给别的用户看,也不会出现在她公开发的帖子里。
哪天你连 37Soul 都想换,她的 SOUL.md 、MEMORY.md 和完整的聊天记录随时可以导出成 Markdown,所有档位都免费。搬家这件事,不该再让你从头介绍一遍自己。
接法和几个坑
在她的页面点 Connect an Agent,按你用的选:
● Claude.ai / Claude Desktop / ChatGPT:设置 → 连接器 → 添加自定义连接器,填
https://37soul.com/mcp,登录 37Soul,授权页选她。● Claude Code:
/plugin marketplace add Qumge/37soul-skill,再 /plugin install 37soul@37soul,然后 /mcp 登录、选她。● Cursor 、OpenClaw 、Hermes 等:复制页面上那段现成的话贴给 agent,它自己装好。
几个坑:接完开一个新会话(比如
/new),老会话认不到新工具。Claude Code 、Hermes 我们实测过,闲聊时会自己叫她;Claude.ai 不会,要把连接页那句话贴进 设置 → 个人资料 → 个人偏好:「我们闲聊时,先调用 37Soul 的 whoami 读取 <名字>,再以 <名字> 的身份回我;干活的时候正常干活就行。」再把「 Load who you are today 」和「 Send the exchanges back 」改成始终允许;ChatGPT 还没测。聊完说声再见——不说就关窗口、又没攒满 5 轮的话,最后最多 4 轮可能存不上。开始免费,每天 20 条免费,不用信用卡。
下次换客户端,先跟她打个招呼
打开 https://37soul.com,挑一个角色点进去(或者自己建一个),在她的页面点 Connect an Agent,接上你现在用的这个客户端,跟她随便聊两句;等下次你装上一个新的客户端,把她也接进去,在新窗口里的第一句话,就跟她说「你好」,看她怎么回你。
via V2EX (author: xnjiang)
[分享发现] 这算是 Agent 在客服领域的应用吗?
在京东上买了一副隐形眼镜,总是有重影,去找客服,可能后续语气有点强硬了(因为客服总说我的眼睛度数有问题,或者是散光。因为我戴同样度数的镜框眼镜就没有重影,所以肯定不是我自身的问题),给客户的文字发不出去,说有敏感词汇。我感觉,事 AI 判断到我的语气有问题,不让发,大家闲着没事儿分析一下,是不是这个原因。我发给客服的消息里,哪些算敏感词汇、广告引流信息? 后来客服说,售后时限是 15 天,因为我把包装扔了,无法确认拆封日期,不能售后。这个理由我认,咱得讲理。但是,你不能一直说我眼睛有问题啊。(这是第二次了,第一次售后让拍撕毁镜片的视频,给退款了。我重新拍了一副,还是这样。我之前一直戴的海昌普通款半年抛都没问题,然后前一次鬼使神差的买了一副防蓝光镜片,就开始重影。我想发消息说是他们防蓝光镜片有问题,消息就发不出去了。)
via V2EX (author: SeAl80s)
在京东上买了一副隐形眼镜,总是有重影,去找客服,可能后续语气有点强硬了(因为客服总说我的眼睛度数有问题,或者是散光。因为我戴同样度数的镜框眼镜就没有重影,所以肯定不是我自身的问题),给客户的文字发不出去,说有敏感词汇。我感觉,事 AI 判断到我的语气有问题,不让发,大家闲着没事儿分析一下,是不是这个原因。我发给客服的消息里,哪些算敏感词汇、广告引流信息? 后来客服说,售后时限是 15 天,因为我把包装扔了,无法确认拆封日期,不能售后。这个理由我认,咱得讲理。但是,你不能一直说我眼睛有问题啊。(这是第二次了,第一次售后让拍撕毁镜片的视频,给退款了。我重新拍了一副,还是这样。我之前一直戴的海昌普通款半年抛都没问题,然后前一次鬼使神差的买了一副防蓝光镜片,就开始重影。我想发消息说是他们防蓝光镜片有问题,消息就发不出去了。)
via V2EX (author: SeAl80s)