GEO Auditor v0.7.0 开发全记录

2026年6月24日 · v0.6.6 → v0.7.0

一、为什么改

v0.6.6 标着"自我进化",但实际只有 Python CLI 版本有演化能力。HTML 版是静态检测器——检测完就完了,没有改写、没有对比、没有积累、没有调权。

梁总实际用了一天,亲手跑全流程,发现了三个根本问题:

  1. 演化闭环缺改写环节。 用户得手动把文章拷到 ChatGPT 里改,再贴回来。工具叫 Self-Evolving,但改写完全靠外部。
  2. "谁在进化"回答不了。 评分规则没变、检测引擎没变、大模型也没变。那 Self 到底是谁?
  3. 没有对比就没有演化。 不实际操作不知道——对比需要手动四步操作,用户大概率不点。没人点对比,演化永远不触发。

二、核心设计决策

谁在进化?

评分权重在进化。 14 维检测规则固定不变,但每维度在总分里乘多少——这个乘数会从用户的改写历史中学习。大模型只管改写(第二步),演化引擎是纯数学(第四步)。不调 API。

一句话:规则不变,权重自调。它学会了用户实际能改什么,不再对改不动的维度死扣分。

为什么裸分和加权分必须分离?

如果演化 Δ 用加权分算,会形成自噬循环:加权分高→Δ 小→维度看起来没改善→降权→加权分更高→Δ 更小。

正确做法:演化永远基于裸分计算,权重只影响展示给用户看的加权分。detect() 现在输出三套数据:裸分、加权分、每维裸分数组。

对比为什么自动化?

用户不会主动去点对比。改写后保存 → 自动找到上次保存的记录 → 自动对比 → 自动写演化日志 → 自动触发演化引擎。保存即对比,对比即演化。

AI 改写是什么定位?

可选快捷键,不是核心能力。 不接 AI 也能跑完完整闭环——用户自己找任何工具改写完贴回来,一样的。内置改写唯一价值是省掉复制粘贴 + 提示词受控。

提示词为什么不能点名弱项?

如果告诉 AI"你的 Structure 只有 40 分,请优化"——AI 猛攻 Structure → 演化数据显示 Structure 改善率高→proven→加权重。自我实现的预言。

正确做法:只告诉 AI"请优化这篇文章",带硬约束(不编造事实、不虚构来源、不机械堆关键词)。

演化安全机制

条件处理
冷启动(<5 次对比)不调权,只展示对比
单维度样本不足(<8 次)保持权重 1.0
基线裸分 ≥ 85饱和锁定,权重 1.0,退出追踪
改善率 ≥ 80%,Δ ≥ 5Proven,权重 1.15–1.25
改善率 50–80%Fragile,权重 0.90–1.10
改善率 < 30%Hard to improve,权重 0.85
连续 3 轮无改善自动重置到 0.95,打破负循环

安全约束:±0.05 缓动、0.85 地板、14 维归一化、β 平滑。

三、改了什么

1. 检测引擎

detect(text, evoWeights) — 权重只影响展示分,不影响原始分。输出裸分+加权分+每维裸分数组。

2. JS 演化引擎(600+ 行)

浏览器端演化。读 localStorage 对比历史,分类维度,调整权重。纯前端,不依赖服务器。

3. AI 改写引擎(180 行)

内部 PM 版走服务端代理(无需填 Key)。外部版用户自配 Key 存浏览器 localStorage。

4. 服务端代理端点

POST /api/geo/ai-rewrite — 通过本地 DeepSeek 代理转发,Key 全程不暴露到浏览器。

5. 自动对比

AI 改写后保存 → 自动找到上次保存记录 → 自动对比 → 自动写演化日志 → 自动触发 evolveEngine()。

6. 导入导出

演化数据导出为 JSON,换设备或清缓存后可导入恢复。

7. 中英文 UI 切换

标题栏中文/EN 按钮一键切换。检测引擎自动根据内容语言切换维度标签。

8. 对比日志增强

日志新增改写来源(AI/手动)、模型名称、采纳标记。双写:服务端 API + 浏览器 localStorage。

四、压测发现的 Bug

Bug 1:检测后页面崩溃

L() 函数在 detect() 内部是局部变量,renderResult() 调用不到。每次点 Run Check 直接报 L is not defined。已修复。

Bug 2:Copy Result 不可用

copyResult() 引用了不存在的全局变量 _isCN。已修复。

五、效果对比

指标v0.6.6v0.7.0
演化能力Python CLI onlyHTML 全功能
改写入口手动复制到 ChatGPT一键 AI 改写(可选)
对比触发手动四步操作保存即自动对比
数据安全清缓存全丢导入/导出 JSON
中文支持仅引擎自适应全 UI 中英切换
评分体系单一分数裸分+加权分双轨

六、遗留问题

  1. 浏览器清缓存丢数据 — 导入导出是补偿方案,云端同步可作为 PRO 功能。
  2. 演化需要数据积累 — 冷启动 5 次对比、单维度 8 次才能分类。低频用户可能永远看不到效果。
  3. AI 改写 CORS 限制 — 浏览器直连大模型 API 可能遇跨域限制。
  4. 维度交叉污染 — 改写 Structure 可能附带改善 Readability,统计不绝对干净。v1 不处理。

常见问题

Q: GEO Auditor 免费吗?

A: 完全免费。MIT 开源协议。在线检测器 zhibi.xyz 纯浏览器端运行,零网络请求,无需注册,没有限制。

Q: 和 Originality.ai / GPTZero 有什么区别?

A: 那些工具检测"是不是 AI 写的"。GEO Auditor 检测"写得好不好被 AI 搜索引擎引用"——14 个可操作维度,从结论前置到去 AI 腔。而且评分权重会自我进化:积累 5 次以上改写对比后自动激活。

Q: 能训练我自己的 AI Agent 吗?

A: 能。积累改写数据后运行 python3 geo_auditor.py --agent-prompt,CLI 会导出基于演化历史的写作规则——加载为 Agent 的系统提示词,提升其写作基线。

Q: 演化引擎需要 API Key 吗?

A: 不需要。演化引擎是纯浏览器端 JS 数学运算,读 localStorage、分类维度、调整权重,不调用任何 API。AI 改写按钮是可选的——需要你自己配 Key,但你可以跳过它,用任何已有的 AI 工具改写后贴回来。

立即体验 →