当前位置: 首页 > news >正文

中文作文智能体实战项目:基于大语言模型的Web端写作助手设计与实现

目录

  • 1. 项目背景与目标
  • 2. 系统架构与技术选型
    • 2.1 整体架构
    • 2.2 关键技术点
  • 3. 核心功能详解
    • 3.1 文体与字数选择
    • 3.2 会话管理
    • 3.3 写作指导侧边栏
  • 4. 使用流程与界面说明
    • 4.1 快速开始步骤
    • 4.2 界面区域划分
  • 5. 关键代码解析
    • 5.1 流式生成核心函数
    • 5.2 提示词工程
  • 6. 数据持久化与安全
    • 6.1 存储机制
    • 6.2 API密钥安全
  • 7. 扩展与优化方向
  • 8. 总结

博主智算菩萨,专注于人工智能、Python编程、音视频处理及UI窗体程序设计等方向。致力于以通俗易懂的方式拆解前沿技术,从零基础入门到高阶实战,陪伴开发者共同成长。目前已开设五大技术专栏,累计发布多篇原创技术文章,深受读者好评。

📌 专栏导航

  • 人工智能前沿知识:深度剖析Transformer架构、生成式AI、强化学习、具身智能、神经符号系统、大模型及智能体(Agent)技术,系统性解析AI核心技术体系与前沿趋势。
  • Python基础小白编程:从零开始,以保姆式教程讲解变量、数据类型、流程控制、函数等核心语法,配有大量实战代码与避坑指南,真正做到学以致用。
  • 机器学习与深度学习:系统化拆解线性模型、决策树、随机森林、梯度提升树、神经网络等算法原理与工程实践,覆盖从公式推导到代码实现的全链路内容。
  • 音频、图像与视频处理理论与实战:涵盖FFmpeg多媒体处理、audio_shop开源工具、ComfyUI-WanVideoWrapper视频生成等实用技术,从基础操作到高级应用一应俱全。
  • UI窗体程序设计实战:深入讲解UI设计、动态窗体生成、游戏UI框架设计等实战技巧,提供从配置到编码的完整解决方案。
    智算菩萨,以代码为经,以算法为纬,在人工智能的星辰大海中,做你前行路上最可靠的导航者。

1. 项目背景与目标

随着大语言模型(LLM)技术日趋成熟,AI辅助写作已成为提升写作效率和质量的重要工具。针对中文写作场景,尤其是学生、教师、自媒体创作者对议论文、记叙文、散文等不同文体的需求,本文设计并实现了一款纯前端中文作文智能体。该工具采用单HTML文件架构,对接OpenAI格式API(默认使用gemini-2.5-flash-lite模型),提供文体选择、字数控制、风格调节、会话管理等功能,并能实时流式生成高质量中文作文。具体资源见https://download.csdn.net/download/nmdbbzcl/92843325

项目主要目标:

  • 零后端部署:完全在浏览器中运行,利用localStorage持久化数据。
  • 多文体支持:涵盖议论文、说明文、实用类文本、记叙文、散文、小说、诗歌、文言文等8种常见文体。
  • 参数灵活调节:字数、温度、Top P等可调,满足不同写作难度与风格需求。
  • 写作指导集成:右侧侧边栏动态展示当前文体的写作要点,辅助用户构思。
  • 会话管理:支持多篇作品独立保存,随时切换继续创作。

2. 系统架构与技术选型

2.1 整体架构

系统采用经典的三栏布局:左侧会话列表、中央对话区、右侧写作指导栏。所有界面逻辑与API通信均由原生JavaScript实现,不依赖任何前端框架。

模块技术实现作用
界面渲染HTML5 + CSS3(Flex布局,响应式)提供现代化UI,自适应移动端
流式文本处理Fetch API + ReadableStream + marked库实时逐块渲染Markdown格式的作文内容
会话存储localStorage保存所有历史对话及元数据,刷新不丢失
API通信POST请求至https://api.aigc.bar/v1/chat/completions调用OpenAI格式模型,支持流式与非流式
写作指导动态更新监听文体下拉框,切换对应内容根据文体类型给出针对性写作建议

2.2 关键技术点

  • 流式生成:通过response.body.getReader()逐块读取SSE数据,实时更新到对话气泡,大幅提升用户体验。
  • Markdown渲染:集成marked.min.js,将模型返回的富文本(标题、列表、代码块等)渲染为HTML。
  • 一键复制:AI生成的作文气泡内含“复制”按钮,点击即可将纯文本复制到剪贴板。
  • 自动标题生成:首次用户消息自动截取前40个字符作为会话标题。

3. 核心功能详解

3.1 文体与字数选择

用户必须在参数面板中选择文章类型字数要求(均为必选项)。系统将这些参数拼接到系统提示中,引导模型生成符合规范的内容。

参数可选值说明
文章类型议论文、说明文、实用类文本、记叙文、散文、小说、诗歌、文言文决定文章基调和结构
字数要求300字、600字、800字、1500字、2000字、3000字控制篇幅,模型尽力遵守
语言风格平实朴素、生动形象、典雅庄重、幽默风趣、简洁凝练、文艺抒情(可选)进一步微调用词倾向
温度0~2,默认0.85值越高生成越具创造性
最大Token512~16384,默认6144限制生成长度
Top P0~1,默认0.95核采样参数,控制词汇多样性

3.2 会话管理

系统采用localStorage存储所有会话,数据结构如下:

{"zw_conv_1678901234567_abc":{"messages":[{"role":"user","content":"以“青春”为题写一篇散文","timestamp":"..."},{"role":"assistant","content":"青春,是一首未完的诗……","timestamp":"..."}],"title":"以“青春”为题写一篇散文","lastUpdated":1678901234567}}

功能包括:

  • 新建任务:清空当前对话,创建新会话。
  • 切换会话:点击左侧历史记录,自动加载该会话所有消息。
  • 自动保存:每次用户发送消息或AI回复后,立即更新存储。

3.3 写作指导侧边栏

右侧“写作锦囊”区域包含两个卡片:

  • 动态写作建议:根据用户选择的文体(如议论文),给出该文体的结构要点、常用手法等。
  • 通用技巧:固定展示扣题、层次、修辞等普适性建议。

该功能通过监听genreSelectchange事件实现动态更新,无API调用,纯前端逻辑。

4. 使用流程与界面说明

4.1 快速开始步骤

  1. 将完整HTML代码保存为.html文件,用浏览器打开。
  2. 点击工具栏中的“获取密钥”按钮(跳转至https://api.aigc.bar/register?aff=UP4F注册并获取免费API密钥)。
  3. 将密钥粘贴到“API 密钥”输入框,模型名称保持默认的gemini-2.5-flash-lite(或更换为其他兼容模型)。
  4. 在参数面板中选择文章类型(如“议论文”)和字数(如“600字左右”),可按需调整温度、风格等。
  5. 在下方文本框输入作文题目或具体要求(例如:“以‘诚信’为话题,写一篇议论文”),点击“生成作文”
  6. AI将流式返回作文内容,右侧显示文体指导;完成后可点击气泡内的“复制”按钮保存文本。

4.2 界面区域划分

区域主要组件用户操作
顶部工具栏API密钥输入框、模型名、获取密钥按钮、写作参数开关填写密钥、获取密钥、展开/折叠参数面板
参数面板文体、字数、风格、温度等下拉/输入框选择本次写作的具体要求
左侧边栏作品集列表、新写作任务按钮查看历史作品、新建任务、切换会话
中央区域对话消息区、文本输入框、生成按钮查看已生成作文、输入新要求、触发生成
右侧边栏写作建议卡片获取当前文体的写作指导
底部状态栏状态提示文本了解当前操作状态(生成中/完成/错误)

5. 关键代码解析

5.1 流式生成核心函数

asyncfunctioncallOpenAIStream(promptMessages,onChunk,model,apiKey,temperature,max_tokens,top_p){consturl="https://api.aigc.bar/v1/chat/completions";constpayload={model,messages:promptMessages,temperature,max_tokens,top_p,stream:true};constresponse=awaitfetch(url,{method:'POST',headers:{'Content-Type':'application/json','Authorization':`Bearer${apiKey}`},body:JSON.stringify(payload)});constreader=response.body.getReader();constdecoder=newTextDecoder();letbuffer='';while(true){const{done,value}=awaitreader.read();if(done)break;buffer+=decoder.decode(value,{stream:true});constlines=buffer.split('\n');buffer=lines.pop();for(constlineoflines){if(line.startsWith('data: ')){constdata=line.slice(6);if(data==='[DONE]')continue;constparsed=JSON.parse(data);constdelta=parsed.choices[0]?.delta?.content;if(delta)onChunk(delta);}}}}

该函数通过流式读取并解析SSE格式数据,每收到一个文本块就调用onChunk回调,实现打字机效果。

5.2 提示词工程

为了确保模型输出符合中文作文规范,系统设计了严格的系统提示和用户提示:

  • 系统提示
    "你是一位资深中文写作导师,擅长撰写各类文体……只输出作文正文,无需额外评价。"

  • 用户提示模板
    请根据以下要求创作一篇优秀的中文作文:\n文体:议论文\n字数要求:600字左右\n语言风格倾向:典雅庄重\n作文题目/具体要求:以“青春与奋斗”为题……

这种结构化的提示能有效约束模型的输出格式和内容质量。

6. 数据持久化与安全

6.1 存储机制

所有会话数据均存储在浏览器localStorage中,键名为zw_conversations。同时单独保存zw_lastConvId以记录最后打开的会话。由于存储容量限制(通常5-10MB),适合保存数十个普通长度的作文对话。

6.2 API密钥安全

密钥通过浏览器内存中的变量传递,不存储在任何服务器。用户需自行保管密钥,建议仅在使用时填入,用完可清除。页面不会主动发送密钥至第三方服务。

7. 扩展与优化方向

当前版本已实现完整的中文作文辅助功能,未来可从以下方向迭代:

  • 导出功能:支持将生成的作文导出为Markdown、PDF或TXT文件。
  • 评分与反馈:接入额外API,对作文进行自动评分并提供修改建议。
  • 多模型切换:允许用户自定义API端点,支持私有化部署模型。
  • 语音输入:集成浏览器语音识别,方便口述题目。
  • 夜间模式:增加主题切换,提升长时间写作的舒适度。

8. 总结

本文介绍的中文作文智能体是一个轻量级、开箱即用的AI写作辅助工具。它结合了大语言模型的强大生成能力与精心设计的交互界面,让用户能够便捷地选择文体、控制字数,并获得针对性的写作指导。通过流式响应与本地存储,提供了流畅的创作体验。开发者可根据需要自由修改HTML代码,适配不同教学或创作场景。完整源代码已在文中附上,欢迎广大教育工作者、学生及开发者试用并改进。

如需获取API密钥,请点击页面中的“获取密钥”按钮或直接访问 此网站 注册免费账户。

http://www.jsqmd.com/news/730684/

相关文章:

  • 3.2《酒魂》规则设计文档
  • 如何10分钟掌握BepInEx:Unity游戏插件框架终极指南
  • 2026年热门的吨袋品牌排名:优耐集包装怎么样? - 工业品牌热点
  • OneMore:160+功能加持,让OneNote变身专业办公利器
  • DIO2352A/B 技术文档(二)
  • 2026年高纯分子筛靠谱厂家排名,价格费用是多少? - mypinpai
  • 5分钟搞定Unity游戏翻译!XUnity.AutoTranslator新手完全指南 [特殊字符]
  • 学习第一天
  • Cockpit:把 Claude Code 从终端里搬出来,装进浏览器
  • KLayout开源版图设计工具:从新手到专家的终极指南
  • 纬地、鸿业、海地、CASS等横断面数据互转工具V3.2——测绘与道路设计人员的效率神器
  • 搞懂5G QoS配置:QCI/5QI、ARP、GBR/MBR参数到底怎么设?一个实战案例说清楚
  • ViGEmBus:Windows内核级虚拟游戏控制器驱动深度解析
  • 智慧树自动刷课插件:3分钟实现智能学习的终极指南
  • 柏奥气体设备技术实力如何,产品价格怎么样 - mypinpai
  • JetBrains IDE试用期重置终极解决方案:告别30天限制的专业指南
  • Cursor 把自家的 AI Agent 开放了:写几行 TypeScript 就能调 Cursor 干活
  • stm32开发者如何通过curl快速测试大模型api接口
  • KLayout版图设计工具:从零开始掌握开源芯片设计的5个关键步骤
  • 从单机到集群:我是如何用三台旧笔记本搭建Hadoop 3.1.4学习环境的
  • Moss框架:统一接口构建LLM应用,从基础调用到Agent实战
  • 四个解析器引发的混乱:Cloudflare 如何用 Rust 统一全栈 Cron 解析
  • 大模型原理深度解析:从RNN到Transformer,揭秘AI如何生成内容!
  • 2026年导电袋制造企业排名,口碑好的有哪些? - mypinpai
  • CPPM证书多久拿到手?时间周期 - 众智商学院官方
  • 崩坏星穹铁道三月七小助手:5分钟学会全自动刷材料终极指南
  • **软件的本质是服务于持续演进的业务需求与用户期望,而非一次性静态交付品
  • 【408学习】数据结构——线性结构
  • 2026年曲轴连杆总成生产厂家靠谱推荐 - mypinpai
  • Dify插件开发实战:基于dify-plugin-sdks构建AI应用扩展工具