【开源】赛博报社技术剖析:如何零成本使用AI大模型

最近看到一个不错的开源项目------赛博报社(Cyber Press)。它巧妙地绕开了API调用成本,直接让浏览器里已有的AI大模型"坐在一起"开会协作,解决问题的思路和技术用法很聪明,所以分享一下他的实现方式。

一、项目简介:AI协同创作的革命性思路

赛博报社 是一个基于Chrome扩展(Manifest V3)的多模型AI协同写作平台。它最吸引人的口号是:"完全免费!无需任何API Key!"

核心思路

项目没有采用传统的调用官方API的方式,而是另辟蹊径:

  1. 直接连接你浏览器中已经登录的ChatGPT、Claude、豆包、通义千问或DeepSeek等网页版。

  2. 将它们组织成一个虚拟的"AI编辑部",协调它们完成从选题到成稿的全流程。

  3. 所有数据在你的浏览器本地处理,隐私和安全得到充分保障

解决的问题

  • 成本问题:彻底免除API调用费用。

  • 模型单一:综合多个模型的优势,避免单一模型的局限或偏见。

  • 流程繁琐:将"构思-撰写-评审-润色"的完整流程自动化。

二、核心功能:四轮竞技,产出精品

项目设计了一个精妙的四轮流水线,模拟了真实的编辑审稿流程:

轮次 名称 工作内容 产出目标
第一轮 起草 (Drafting) 所有AI根据同一主题,并行撰写初稿。 获得多个角度的初稿。
第二轮 评审 (Critique) AI之间互换稿件,进行交叉评审、提出尖锐意见。 生成针对性的修改建议。
第三轮 润色 (Refinement) 各AI根据收到的评审意见,修改并优化自己的稿件。 得到质量显著提升的修订稿。
第四轮 投票 (Voting) 所有AI阅读最终成稿,投票选出最佳文章 民主决议出最终的"冠军稿件"。

最终,冠军稿件会被标注🏆奖杯标识,并支持全屏查看,仪式感十足。

三、多平台适配器:策略模式实现

2.1 适配器基类设计

复制代码
// 平台适配器抽象基类
abstract class BasePlatform {
    abstract getName(): string;
    abstract extractResponse(): Promise<string>;
    abstract sendMessage(message: string): Promise<void>;
    
    // 公共等待方法
    protected async waitForElement(selector: string, timeout = 10000) {
        return new Promise<Element>((resolve, reject) => {
            const start = Date.now();
            const timer = setInterval(() => {
                const el = document.querySelector(selector);
                if (el) {
                    clearInterval(timer);
                    resolve(el);
                } else if (Date.now() - start > timeout) {
                    clearInterval(timer);
                    reject(new Error(`元素未找到: ${selector}`));
                }
            }, 200);
        });
    }
}

2.2 具体平台实现(以豆包为例)

复制代码
class DoubaoPlatform extends BasePlatform {
    private readonly SELECTORS = {
        INPUT: 'textarea[placeholder*="输入"]',
        RESPONSE: '.message-content',
        SEND_BUTTON: 'button:has(svg[data-icon="send"])'
    };
    
    getName() { return '豆包'; }
    
    async sendMessage(message: string) {
        // 获取输入框并填充内容
        const input = await this.waitForElement(
            this.SELECTORS.INPUT
        ) as HTMLTextAreaElement;
        
        // 模拟用户输入
        input.value = message;
        input.dispatchEvent(new Event('input', { bubbles: true }));
        
        // 点击发送按钮
        const button = await this.waitForElement(
            this.SELECTORS.SEND_BUTTON
        ) as HTMLButtonElement;
        button.click();
    }
}

三、防页面冻结机制

复制代码
class AntiFreezeManager {
    private intervalId?: number;
    
    start() {
        // 每25秒触发微活动
        this.intervalId = window.setInterval(() => {
            this.simulateMicroActivity();
        }, 25000);
    }
    
    private simulateMicroActivity() {
        // 方案1:轻微滚动(用户无感知)
        if (document.body.scrollHeight > window.innerHeight) {
            const current = window.pageYOffset;
            window.scrollTo({ top: current + 1, behavior: 'auto' });
            setTimeout(() => {
                window.scrollTo({ top: current, behavior: 'auto' });
            }, 50);
        }
        
        // 方案2:创建静音AudioContext保持活跃
        this.keepAudioContextAlive();
    }
    
    private keepAudioContextAlive() {
        const ctx = new (window.AudioContext || webkitAudioContext)();
        const oscillator = ctx.createOscillator();
        const gainNode = ctx.createGain();
        
        gainNode.gain.value = 0; // 静音
        oscillator.connect(gainNode);
        gainNode.connect(ctx.destination);
        oscillator.start();
    }
}

四、技术挑战与解决方案总结

挑战 解决方案 技术亮点
多平台兼容性 适配器模式 + 智能DOM选择器 易于扩展新平台
页面冻结 微活动模拟 + AudioContext保持 完全后台运行
状态同步 长连接通信 + 状态管理 实时更新UI
错误恢复 指数退避重试 + 页面恢复 高可靠性

五、创新价值

  1. 零成本集成:无需API密钥,直接利用Web版AI

  2. 民主协作机制:多模型交叉评审与投票

  3. 隐私安全:所有数据处理在本地完成

  4. 模块化设计:易于维护和扩展

结语

赛博报社项目展示了如何通过精巧的浏览器扩展技术,解决实际痛点。其技术方案对开发复杂浏览器扩展、实现页面自动化、构建可靠异步系统都有很高的参考价值。

项目地址:https://github.com/heibo/syberMedia

相关推荐
迈火2 小时前
Facerestore CF (Code Former):ComfyUI人脸修复的卓越解决方案
人工智能·gpt·计算机视觉·stable diffusion·aigc·语音识别·midjourney
qwy7152292581632 小时前
7-获取局部图像
人工智能·opencv·计算机视觉
70asunflower2 小时前
Zotero论文阅读标记颜色框架
人工智能·学习·考研
云草桑2 小时前
.net AI开发05 第九章 新增 RAG 文档处理后台服务 RagWorker 及核心流程
人工智能·ai·.net·rag·qdrant
Testopia2 小时前
AI编程实例 - 基于时间序列分析的工厂设备预测性维护
人工智能·ai编程·#人工智能学习·#时间序列分析
兆龙电子单片机设计2 小时前
【STM32项目开源】STM32单片机智能宠物管家
stm32·单片机·物联网·开源·毕业设计·宠物
Agentcometoo2 小时前
2026 AI 元年:为什么 AI 正在成为基础设施,而非创新工具
人工智能·智能体来了·ai元年·2026ai元年
赵药师2 小时前
YOLO训练水面漂浮垃圾数据集FLOW_IMG数据集
人工智能·深度学习·yolo
wenzhangli72 小时前
ooderAgent Nexus 版本核心场景测试报告
人工智能