—

解读:@AYi_AInotes——本地「情商外挂」与 UUMit:把非暴力沟通做成免服务器的小团队网页工具

  • #非暴力沟通
  • #开源
  • #localhost
  • #UUMit
  • #Cursor
  • #解读

本文是对 @AYi_AInotes(AYi,约 7.7 万粉)一篇 X Article(X 平台上的长文帖)的摘要与评论。读帖时互动约 赞 233 / 转 12 / 回复 45 / 书签 191 / 引用 20 / 曝光约 8.3 万;原帖发布时间约 2026-10-29 12:43(Asia/Shanghai)(API 返回的 UTC 时间为 2026-10-29T04:43:40Z)。

Article 标题把「Opus 5.5」「两小时」「localhost 秒变团队链接」捆在一起,读起来很抓人。正文主线其实可以拆成三件彼此独立的事:第一,把《非暴力沟通》做成能在浏览器里点开的本地网页小工具;第二,用第三方隧道把本机服务变成固定的 HTTPS 链接;第三,把限流、权限范围和「不要把整机 Agent 暴露出去」这几条边界讲清楚。下面按这三条线摘要,并加上本稿的读法。

核对后(本稿写作时,Asia/Shanghai 2026-11-02):

钩子 / 自称 核对结果
Skill「180+ Star」 仓库 ayi-ai/ayi-nonviolent-communication 经 GitHub API 核对为 ★194——与「180+」一致,略高于自称
网页工具星标 ayi-ai/qingshang-waigua 抓取时约 ★12 / fork 3(创建于 2026-10-28 UTC);标题并未把 180 算在网页工具头上,两仓星标不要混读
「Opus 5.5」 作者口径:正文写「让 Cursor 帮我用 Claude Opus 5.5 搓了……」;本稿只记作作者自述,不写成官方产品事实,也不承诺型号可复现
「前后大概花了 2 个多小时」 作者自述工时,无法由第三方审计;当作叙事锚点即可,不要当成交付 SLA
UUMit 第三方「本地算力 + 出站隧道」产品(uumit.com);本稿只解读边界,既不作广告,也不把它当作攻击依据

本稿依据 Article 的 plain_text、两个仓库的 README,以及对 app.py 的抽样核对整理而成,不是逐字转载。完整步骤、截图和 System Prompt(系统提示词,也就是告诉模型「你该怎么改写」的长规则)全文,请看原帖 Article与仓库;下文只概括提示词要点,不整段抄录。

封面图来自网页工具仓库的 cover.png(压缩后存于本稿 assets),版权归原作者;发布前可换成站点统一的 hero。

这篇在说什么

痛点最好先于技术栈来讲。微信、飞书里最憋屈的,往往不是事情本身难办,而是意思对、口气错:评判、一概而论、推责任、命令口吻一旦贴上去,对方眼里先看见帽子,看不见你真正的诉求。马歇尔·卢森堡的《非暴力沟通》(Nonviolent Communication,简称 NVC)给出的骨架是四要素,用白话说就是:

  1. 观察:摄像机能拍到的事实,不加标签。例如「周五约好中午交、现在还没收到」,而不是「你总是拖拉」。
  2. 感受:真实的情绪词,比如着急、为难;不要写成「我感到被忽视」这类把责任甩给对方的伪感受。
  3. 需要:感受背后你真正在意的东西,例如进度可预期、被尊重;为自己的情绪买单,而不是等对方来「负责」你的心情。
  4. 请求:正向、具体、对方此刻就能回应的动作。例如「两点前发我一版」,而不是「你能不能负责点」。

气头上,几乎没人会在脑子里套这套公式。作者于是把此前已经开源的 NVC AI Skill(一套可以装进 Cursor / Claude Code 的提示词与工作流)提炼成网页工具,名叫「情商外挂」:你贴上草稿,选好对象、语气和目的,页面会标出刺耳处,并给出可直接发出去的改写。然后,再用 UUMit(见下文)把 127.0.0.1——也就是本机回环地址,别人根本打不开你电脑上那个「本机」——变成一条固定的 HTTPS 链接,按人发钥匙、也可以收回。有一点必须说在前面:你的电脑要一直开着;定位是小团队协作或 demo,不是高并发生产。

适合谁?手里已经有 Prompt、Skill 或小脚本,想让同事「浏览器一点就能用」,又不想为内部微工具专门上云、配域名、等备案的人。不适合谁?要 7×24、万人并发的正式生产——作者自己也划了这条线。

1. 情商外挂:两个文件,零第三方依赖

产品形状可以概括成下面几块(摘要级,细节以仓库为准):

  • 输入:这段话是「我想发出去」还是「别人发来、帮我回」;对方是谁(客户 / 上级 / 同事 / 下属 / 伴侣 / 家人 / 朋友);语气选温和、坚定还是直接;目的是催进度、拒绝、道歉,还是交给模型自动判断;原话最多约 800 字,用来控费。
  • 输出:风险评级、刺耳词诊断、可直接发送的消息,外加一句话精简版,以及四要素拆解与改动说明。作者特别强调要把「诊断」放在显眼处——只给答案是治标;把「每次都要我催」这类刺点标红,才更容易形成肌肉记忆。
  • 实现:只用 Python 标准库;代码大致是 app.py 加 index.html;默认端口 8787;需要你自备 OpenAI 兼容 的 API(DeepSeek、百炼、Kimi 等都可以)。密钥走本机 config.json(作者称文件权限约 0600)或环境变量,不回传到前端。
  • MOCK 模式:把环境变量设成 MOCK=1 时,不调用模型、也不扣费,只返回固定示例,用来验证「服务 ↔ 网页」这条链路是否通。

仓库 README 与 app.py 核对一致的默认限流大约是:每分钟 10 次、每天 200 次(面板里可改;写成 0 表示不限)。WHO / TONE 字典的键分别是 client|boss|colleague|report|partner|family|friend 与 gentle|firm|direct,与文中说的七种对象、三种语气一一对应。

System Prompt 只概括、不照抄。 角色定位是「发送前的改写助手」:先找评判、一概而论、推责、命令威胁、阴阳怪气等刺点;再按观察—感受—需要—请求重组;写成能直接发在微信一类 IM 里的口语,禁止套「当我看到……我感到……」那种八股;坚定档、直接档不得把立场改软;不编造原话里没有的事实,缺信息就用【】占位;引号统一用「」,以免 JSON 解析炸掉。完整条文请看仓库与原文。

解读: 价值并不在「又一个 ChatGPT 套壳」,而在于把书里的区分做成了产品约束——尤其是「非暴力不等于讨好」,以及「禁止脑补事实」这两条。如果你只把 Skill 当聊天附件,同事仍然要先装 Cursor、还得会粘贴很长的规则;网页工具把门槛压到「打开链接、贴一句」。代价也要说清楚:上游模型仍然会看见你的原文;所谓「无状态」只保证工具自己不落盘,并不保证云厂商一侧零留存。

2. UUMit:本机算力,出站隧道,按人发钥匙

作者遇到的老问题是:好用的东西死在 127.0.0.1。让同事自己配环境,多数人卡在第一步;为内部小工具去租云、配域名、等备案,又显得太重。UUMit 客户端给出的路径大致是:本机先用 python3 app.py 把服务跑起来 → 客户端扫到该端口上的应用 → 点接入,拿到一条固定 HTTPS → 在三档范围里选(只有我 / 我和邀请的人 / 所有人)→ 用邀请链接按人授权,成员列表里随时可以移除、收回钥匙。

必须说清的边界(与原文一致,本稿复述为评论前提):

  • 算力与进程仍然在你电脑上。 合盖睡眠、断网、或停掉 app.py,外链立刻就挂。macOS 上作者提到可用 caffeinate 防止睡眠;若要长期服务,更稳妥的是旧 Mac mini 或台式机常开。
  • 这不是云托管。 适合小团队协作、内部工具、客户 demo;上万并发仍然应该正规上云。
  • 入口权限不等于模型账单。 UUMit 管的是谁能打开页面;调用次数与费用落在情商外挂自己的限流面板上。若把范围开到「所有人」,就等于陌生人每点一下,你都在付钱。
  • 作者称客户端是出站单向连接,不会主动在路由器上开入站端口;对方能访问的范围,应限于你显式绑定的端口或路径。安全结论取决于实现与威胁模型,跟做之前请自行阅读厂商说明;本稿不作渗透结论。

解读: 这是「本地微工具分发」范式,不是「免费 CDN」。判断标准作者写得很直白:东西是不是正跑在你自己电脑上?是,就可以走「本地启动 → 识别 → 链接 → 钥匙」这条路。接单验收、本机 API 联调、ComfyUI demo、部门报销助手,都是同一形状。反过来也要警惕:把常驻桌面 Agent(能执行终端命令、读写磁盘)整机暴露出去,与「只开放一个改写接口」的风险完全不同——原文第四部分专门警告过这一点,值得当成硬约束,而不是附注。

3. 七种场景与「还能盘活什么」

第五部分按对象给出改写重心(摘要):对客户要专业、但不卑微;对上级先给结论和可选方案;对同事对事不对人;对下属讲清标准、留出空间;对伴侣先接情绪、忌职场腔;对家人说软话、讲具体事;对朋友直接真诚、不阴阳。文中附了多组「暴躁原话」对照表;真正跟做时,请以原文与仓库实测为准。

第六部分把范式从「改消息」扩到财务拍票报销、HR 初筛、法务条款标风险、老师作文批改、运营选题等——共同点是输入输出都受控的微工具,并提醒发票、简历、合同等数据要按公司规定授权与收回。若要替换业务逻辑,作者说改三处即可:前端输入、System Prompt、输出格式;框架本身可以复用 qingshang-waigua。

解读: 场景章的教学价值,是把「同一套 NVC」拆成角色上下文注入——这比单一万能 prompt 更接近真实 IM。扩展章则容易滑向「什么都能挂」:一旦输入变成任意文件、或任意 shell 命令,你就离开了原文自己划出的安全岛。读者可以带走的最小原则是:对外只暴露一个窄 API,密钥与高危能力留在本机,不要进入分享面。

4. 钩子怎么读、钱与隐私怎么算

  • 模型名: 标题里的「Opus 5.5」是流量钩;正文落地选型却推 deepseek-flash 一类便宜、高吞吐的中文模型,用来做单步改写。读法应当是:作者称用强模型搓代码;线上改写不必上满血价。
  • 工时「两小时」: 含「从零到同事点开」的叙事压缩,也包括下载、MOCK、接 Key、UUMit 邀请闭环。把它当作「路径很短」的信号即可,不要当成交付 SLA。
  • 星标: Skill 仓 ★194 支撑「方法沉淀已有人用」;网页工具仓 ★12 说明分发文章很新、星标尚未追上标题声量——以 API 为准,勿把 Skill 的星移花接木到网页仓。
  • 费用: 每次外部分享调用扣的是你的 API 余额;800 字上限,加上默认每分钟 10 次、每天 200 次,是防刷钱包的最低礼貌。
  • 隐私: 工具无状态,不等于链路无日志。机密报价、真名建议先用【】占位,改完再手填。HR、法务的正式纠纷,不要靠这玩意儿结案——原文也写了「不适合」。

怎么看这篇

  • 正文价值: 把 NVC Skill 产品化成两个文件就能跑的本地服务,并老实写出「本机当服务器」时的睡眠、限流、以及勿整机暴露;UUMit 一节则把内网穿透从运维题收成「小团队发钥匙」题。
  • 需分开读的钩子: Opus 型号与两小时工时是作者口径;180+ 星对 Skill 仓成立,对网页工具仓不成立。
  • 跟做清单(最短): 装 Python 3 → 下 qingshang-waigua → 用 MOCK=1 python3 app.py 验通 → 接自己的 OpenAI 兼容 Key → 需要外发时再装 UUMit 并设限流;若要深读方法本身,可装 ayi-nonviolent-communication。

可继续阅读

一句话风险: 外链等于把「你的 API 钱包 + 本机进程在线」借给持钥匙的人用——限流、范围档、收回成员,以及「别暴露整机 Agent」,都是功能的一部分,不是上线后的附加题。