【技术干货】从 AI 原生浏览器到本地智能体:开发者如何搭建自己的隐私优先 AI 工作流

【技术干货】从 AI 原生浏览器到本地智能体:开发者如何搭建自己的隐私优先 AI 工作流 摘要Neo 这类 AI 原生浏览器展示了一个重要趋势AI 从“外挂工具”变成系统级基础设施深度嵌入浏览、写作、阅读等场景。本文从开发者视角拆解其核心能力本地推理、上下文记忆、文档处理、内联生成等并基于兼容 OpenAI 的 API以薛定猫 AI 为例给出一份可运行的 Python 实战代码帮助你在自己的应用里复刻类似的 AI 工作流。一、背景介绍从“AI 插件”到“AI 原生浏览器”视频中的 Neo/Neil 浏览器本质上不是“多了个聊天窗口”的普通浏览器而是一个围绕 AI 重新设计的浏览器内核 工作流系统核心特征包括隐私优先 / 本地执行聊天记录、浏览历史、AI 建议尽可能在本地处理最小化数据外发。系统级集成AI 能在侧边栏、输入框、Notepad、Tab 管理等多个 UI 层面内联触发。上下文记忆与个性化基于你的使用行为构建长期偏好写作风格、常用任务、阅读兴趣等。多模态能力文档解析、代码辅助、图片生成在同一工作流中打通。对开发者而言这类产品的技术价值不在 UI而在于背后的通用模式“上下文管理 本地/云端模型推理 安全控制 场景化触发”。二、核心原理拆解Neo 类 AI 浏览器在做什么结合字幕内容可以抽象出几个关键能力模块完全可以在自己的系统中复用。2.1 本地优先与隐私控制视频多次强调所有内容“stay on your device”用户可精细控制“Neo 记住或忘记什么”内建安全能力Norton 级别的钓鱼 / 恶意链接拦截从架构视角看这是典型的本地向量索引 / 偏好存储在本地数据库SQLite / DuckDB / 文件系统存用户长期偏好、向量检索索引。云端大模型推理最小暴露只发送经过脱敏 截断的必要上下文。安全过滤前置URL 打开前由安全模块先做一次分类/过滤可用专用安全 API 或自训练分类模型。2.2 上下文与记忆机制字幕中多处体现记忆与个性化能力记住“我的写作风格”根据使用行为推荐个性化内容 feed通过历史使用积累更多上下文落到实现大致是两层记忆短期会话记忆当前对话历史Chat History。长期用户记忆静态偏好写作语气、语言、专业领域动态行为访问话题、常用 snippet 模板、常见任务比如“帮我写邮件”。常见实现方式将重要片段模型判定/人工标记写入本地持久化存储触发请求前根据当前任务检索相关记忆拼接到 prompt 中提供“遗忘”开关删除指定记忆条目。2.3 文档处理与多模态生成视频中展示了上传大体量文档spreadsheets、长文档在浏览器中直接解析与重写生成图片如“sunset”并统一管理到 image gallery对邮件 / Notepad 内文本进行“内联 AI 生成”续写、解释、改写。技术上可以拆成几个子能力文档解析管线上传 → 抽取文本PDF/Doc/Excel→ 切分 chunk → 嵌入向量 → 本地索引。检索增强生成RAG用户发起“总结 / 重写 / 校对”对照索引检索相关 chunk组合上下文交给大模型。多模态调用协同文本模型负责指令理解、规划图片模型负责生成图片或调用统一的多模态大模型。三、实战演示用薛定猫 AI 搭一套“浏览器内 AI 工作流”原型下面用 Python 薛定猫 AIxuedingmao.com示范如何实现一个简化版的“AI 写作助手 文档总结 图片生成”服务逻辑。你可以把它嵌入到自己的浏览器插件、Electron 客户端或 Web 应用里。说明平台地址兼容 OpenAI SDK只需改base_url和api_key模型统一使用文中约定的claude-sonnet-4-6请在环境变量中配置XUEDINGMAO_API_KEY。 示例基于薛定猫 AI 搭建一个简化版“AI 原生浏览器助手”服务 功能 1. 维护用户写作风格偏好长期记忆 2. 基于上传文档做摘要 / 改写RAG 简化版 3. 生成配图如文章封面图 4. 提供一个统一的 ai_assistant 入口函数方便在浏览器插件或 Web App 中调用 importosimportjsonfromtypingimportList,Dict,LiteralfromopenaiimportOpenAI# --------------------# 一、基础配置对接薛定猫 AIOpenAI 兼容# --------------------# 从环境变量读取 API Key避免硬编码XUEDINGMAO_API_KEYos.getenv(XUEDINGMAO_API_KEY)ifnotXUEDINGMAO_API_KEY:raiseRuntimeError(请先在环境变量中设置 XUEDINGMAO_API_KEY)clientOpenAI(api_keyXUEDINGMAO_API_KEY,base_urlhttps://xuedingmao.com/v1,# 薛定猫 AI 的兼容 OpenAI API 地址)DEFAULT_MODELclaude-sonnet-4-6# --------------------# 二、简单的“本地记忆”实现写作风格# 实际工程建议使用 SQLite/向量库这里用 JSON 文件做演示# --------------------MEMORY_FILEuser_style_memory.jsondefload_user_style(user_id:str)-str:加载用户写作风格偏好长期记忆ifnotos.path.exists(MEMORY_FILE):returnwithopen(MEMORY_FILE,r,encodingutf-8)asf:datajson.load(f)returndata.get(user_id,)defsave_user_style(user_id:str,style_desc:str)-None:保存/更新用户写作风格偏好data{}ifos.path.exists(MEMORY_FILE):withopen(MEMORY_FILE,r,encodingutf-8)asf:datajson.load(f)data[user_id]style_desc.strip()withopen(MEMORY_FILE,w,encodingutf-8)asf:json.dump(data,f,ensure_asciiFalse,indent2)# --------------------# 三、大模型调用封装# --------------------defchat_completion(system_prompt:str,user_prompt:str,model:strDEFAULT_MODEL,)-str:封装一次标准的 ChatCompletion 调用respclient.chat.completions.create(modelmodel,messages[{role:system,content:system_prompt},{role:user,content:user_prompt},],temperature0.3,)returnresp.choices[0].message.content# --------------------# 四、核心能力 1学习并固化“写作风格”# --------------------definfer_and_save_writing_style(user_id:str,sample_text:str,)-str: 从用户提供的样例文本中归纳写作风格并存入本地记忆。 system_prompt(你是一名写作风格分析助手任务是从示例文本中总结出简洁的写作风格描述包含语气正式/口语/幽默等、句式特征、常用表达、目标读者类型。输出请使用简短中文段落不超过 150 字。)style_descchat_completion(system_prompt,sample_text)save_user_style(user_id,style_desc)returnstyle_desc# --------------------# 五、核心能力 2基于文档的总结 / 改写简化 RAG# --------------------defsummarize_or_rewrite_document(user_id:str,document_text:str,mode:Literal[summary,rewrite]summary,extra_instruction:str,)-str: 对上传文档做摘要或改写自动注入用户写作风格记忆。 :param user_id: 用户 ID :param document_text: 待处理的原文可从浏览器上传的文件中抽取 :param mode: summary 摘要, rewrite 改写 :param extra_instruction: 额外约束例如“面向非技术读者”“控制在 500 字以内”等 style_descload_user_style(user_id)ifmodesummary:task_desc对下面的文档做结构化摘要列出要点和结论。else:task_desc在保持核心信息不变的前提下用更流畅、易读的方式改写下面的文档。system_prompt(f你是一个文档智能助手负责对长文本进行{摘要ifmodesummaryelse改写}。\nf如果提供了用户写作风格请尽量贴合{style_descor无特定风格可采用中性专业风格。}\n输出使用 Markdown使用小标题和条目列表增强可读性。)user_prompt(f{task_desc}\n\nf【额外要求】{extra_instruction}\n\n【文档内容】\nf{document_text})returnchat_completion(system_prompt,user_prompt)# --------------------# 六、核心能力 3生成文章配图图片生成# --------------------defgenerate_image(prompt:str,model:strclaude-sonnet-4-6,# 某些平台文本模型也支持图像生成如需专用图像模型可替换size:str1024x1024,)-str: 调用薛定猫 AI 的图像生成接口返回图片 URL。 具体模型和字段需根据平台文档调整这里演示兼容 OpenAI 的 images API 调用方式。 # 注意薛定猫 AI 具体是否提供 /images 端点需查看其文档。# 若使用统一 chat 接口生成 base64再自行保存也是常见方案。respclient.images.generate(modelmodel,promptprompt,sizesize,n1,)# 兼容 OpenAI 格式data[0].urlimg_urlresp.data[0].urlreturnimg_url# --------------------# 七、统一入口模拟“浏览器内 AI 助手”的任务调度# --------------------defai_assistant(user_id:str,intent:Literal[set_style,doc_summary,doc_rewrite,gen_image],payload:Dict,)-Dict: 模拟浏览器内的 AI 助手统一入口根据意图路由到不同能力模块。 :param user_id: 用户 ID :param intent: 任务类型 :param payload: 任务参数 :return: 标准化结果字典方便前端统一处理 ifintentset_style:sample_textpayload.get(sample_text,)styleinfer_and_save_writing_style(user_id,sample_text)return{type:style_saved,style_description:style,}elifintentin(doc_summary,doc_rewrite):document_textpayload.get(document_text,)extra_instructionpayload.get(extra_instruction,)modesummaryifintentdoc_summaryelserewriteoutputsummarize_or_rewrite_document(user_iduser_id,document_textdocument_text,modemode,extra_instructionextra_instruction,)return{type:doc_processed,mode:mode,result_markdown:output,}elifintentgen_image:promptpayload.get(prompt,)img_urlgenerate_image(prompt)return{type:image_generated,prompt:prompt,image_url:img_url,}else:raiseValueError(f未知 intent:{intent})# --------------------# 八、示例运行可直接执行本文件体验# --------------------if__name____main__:# 假设浏览器侧创建了一个 user_iduiduser_123# 1. 先“教”助手我的写作风格可以粘贴你过往的一篇文章sample 作为一名后端开发我更关注的是系统可靠性和可维护性。 在引入任何新技术之前我会先评估它的实际落地成本 包括运维负担、监控体系、以及团队学习曲线。 理论上的最优方案往往很难在生产环境直接复刻 所以我更倾向于选择 80 分但可控的技术栈。 styleinfer_and_save_writing_style(uid,sample)print(写作风格记忆,style,\n)# 2. 模拟上传一段“长文档”请求摘要doc 我们正在评估将 AI 原生浏览器引入企业内部知识管理体系的可行性。 当前痛点包括员工搜索资料效率低、大量重复提问、文档沉淀不足。 期望通过浏览器侧的本地智能体在不把敏感数据外发到公有云的前提下 为员工提供页面摘要、智能问答、以及基于公司文档的上下文补全能力。 技术上我们需要统一接入多个大模型供应商以规避单点风险 并且要保证接口风格一致便于后续扩展与灰度测试。 summarysummarize_or_rewrite_document(user_iduid,document_textdoc,modesummary,extra_instruction控制在 300 字以内面向技术管理者。,)print(文档摘要\n,summary,\n)# 3. 生成一张配图比如“AI 原生浏览器”的封面插图img_promptfuturistic browser interface with AI assistant, dark theme, minimalistic, 3D illustrationimggenerate_image(img_prompt)print(生成图片 URL,img)四、注意事项从 Demo 到生产的关键工程考量4.1 隐私与合规对于浏览内容、公司内部文档建议采用本地向量数据库 可控模型落地方案如本地部署中小模型云端只做补充推理。明确区分“可上传云端的上下文”和“仅本地可见的敏感信息”在代码层面做严格的数据分层和日志脱敏。4.2 上下文控制与成本优化长文档处理要避免“全文塞给大模型”建议切分 检索只送最相关的几个 chunk。对写作风格这类长期偏好无需每次都重新推理可像示例中那样本地持久化。4.3 多模型与供应商选型Neo 这类系统本质上需要文本理解 / 代码辅助大模型高速、成本可控的中小模型做本地推理或边缘推理图像生成模型可能还会引入语音模型、过滤模型安全、合规。为避免在不同厂商 SDK 间切换、处理不同参数格式工程上更推荐使用统一 API 抽象层。这也是我在实际项目中选择xuedingmao.com的主要原因之一聚合了 500 主流大模型包括 GPT-5.4、Claude 4.6、Gemini 3 Pro 等新模型上线速度快提供兼容 OpenAI 的统一接口像上面的 Python 示例一样只改 base_url 和 key 即可在多模型间切换适合做“多模型 AB 测试”“按任务自动选模”这类高级玩法降低多家模型供应商集成和治理的复杂度。五、技术资源与工具推荐薛定猫 AIxuedingmao.com适合用作统一的大模型接入层OpenAI 兼容模式便于直接迁移现有代码支持多家厂商、多模型类型文本、图像、部分多模态等接口稳定可快速在不同模型间切换做实验或灰度发布。本地向量数据库如 Chroma / Qdrant / Milvus用于实现 Neo 类“本地记忆”和文档检索。浏览器扩展框架现代 Chrome/Edge 插件体系 Manifest V3是将上面这套 Python 服务包装成 UI 插件的常见路径。通过拆解 Neo 这类 AI 原生浏览器的能力并用兼容 OpenAI 的 API 做了一套最小可用实现你可以在自己的产品中非常快速地搭建起本地记忆 文档智能处理 图片生成 场景化触发的 AI 工作流。真正的难点不在“能不能调用模型”而在于数据边界、上下文设计和工程落地这也是未来一段时间内 AI 开发者的核心竞争力。#AI #大模型 #Python #机器学习 #技术实战