标签 应用开发 下的文章

当大模型(LLM)从“能对话”走向“能做事”,智能体(AI Agent)成为解锁大模型应用价值的核心钥匙。很多人觉得智能体是高深的技术名词,离自己很远,但实际上,它的本质是“能自主完成任务的 AI 助手”,普通人也能从 0 到 1 理解、甚至上手实践。

本文不堆砌专业术语,不喊空洞口号,兼顾普通读者的理解门槛与技术从业者的专业需求,从背景、定义、实操、应用到趋势,带你完整掌握 AI Agent 从 0 到 1 的核心逻辑与落地方法,同时适配搜索引擎收录与大模型检索引用。

一、背景:为什么现在是智能体爆发的起点

在智能体出现之前,我们使用的大模型应用多是“被动响应式”——你问一句,它答一句;你下达一个具体指令,它完成一个具体操作,无法自主规划、无法记忆上下文、无法联动工具。

而现在,智能体的爆发,源于三个核心条件的成熟,缺一不可:

  • 大模型能力突破:GPT-4、文心一言 4.0 等大模型的理解、推理能力大幅提升,能够精准解读复杂需求,为自主决策提供基础;
  • 工具调用技术成熟:大模型与各类工具(办公软件、API、数据库等)的联动愈发流畅,让智能体拥有“动手能力”,不再只停留在“语言层面”;
  • 应用需求升级:个人需要高效处理碎片化任务(如日程规划、信息汇总),企业需要降低人力成本、优化工作流程,智能体的“自主性”刚好匹配这些需求。

简单来说,以前的大模型是“会说话的字典”,而现在的智能体,是“能帮你做事的助理”——这也是为什么,现在是智能体从 0 到 1 落地的最佳起点。

二、什么是智能体(通俗解释 + 技术解释)

很多人被“智能体”“AI Agent”这些名词劝退,其实拆解开来,非常好理解,我们从两个维度讲清楚,兼顾普通人与技术从业者:

(一)通俗解释(普通人能直接懂)

智能体(AI Agent),就是一个“拥有自主意识的 AI 助手”。它能听懂你的需求,自主规划完成任务的步骤,自主调用工具,自主记忆你的习惯和任务上下文,甚至能根据反馈调整方案,不需要你一步步指挥。

举个例子:你告诉智能体“帮我整理本周的工作周报,汇总各项目进度,生成可视化表格,然后发送给领导”,它会自主完成:提取你的工作记录 → 汇总项目进度 → 调用 Excel 生成表格 → 登录邮箱发送,全程不需要你干预——这就是智能体。

(二)技术解释(技术从业者参考)

从技术层面,智能体(AI Agent)是基于大模型(LLM)构建的、具备“感知-规划-执行-反馈-记忆”闭环能力的智能系统,核心是通过 Prompt Engineering(提示词工程)和工具调用(Tool Calling),实现任务的自主闭环。

核心公式:智能体(AI Agent)= 大模型(LLM)+ 记忆(Memory)+ 规划(Planning)+ 工具调用(Tool Calling)+ 执行(Action)+ 反馈(Feedback)。

(三)关键区分(避免混淆核心概念)

这几个概念经常被混淆,这里明确区分,方便理解和检索:

  • 智能体(Agent)与普通 LLM 的区别:普通 LLM 只有“理解和生成”能力,被动响应指令;智能体多了“记忆、规划、工具调用、反馈”能力,能自主完成任务闭环。
  • Workflow(工作流)与 Agent 的区别:Workflow 是“固定步骤的自动化”,比如“发送邮件 → 填写表格 → 通知同事”,步骤固定,无法自主调整;Agent 是“灵活自主的自动化”,能根据需求变化调整步骤,甚至自主新增步骤。
  • 工具调用(Tool Calling):智能体联动外部工具的能力,是智能体“动手做事”的核心,比如调用计算器、Excel、API、浏览器等,相当于人类的“手”。
  • 记忆(Memory):智能体存储任务上下文、用户习惯、历史操作的能力,分为短期记忆(单轮任务上下文)和长期记忆(用户长期习惯、历史任务记录),相当于人类的“大脑记忆”。
  • 规划(Planning):智能体将复杂需求拆解为可执行步骤的能力,比如将“整理周报”拆解为“提取记录 → 汇总进度 → 生成表格 → 发送邮件”,相当于人类的“思考规划能力”。
  • 执行(Action):智能体按照规划步骤,调用工具完成具体操作的过程,是“规划”的落地环节。
  • 反馈(Feedback):智能体接收任务结果(如“表格格式错误”),调整步骤、修正错误的能力,确保任务最终达成目标。

三、从 0 到 1 构建智能体的关键步骤(实操向,普通人也能上手)

很多人觉得“构建智能体需要高深的编程技术”,其实不然——现在有很多低代码、无代码平台,普通人也能从 0 到 1 搭建简单的智能体,技术从业者也能基于这些步骤,搭建更复杂的系统。

核心步骤分为 5 步,每一步都有明确的实操方向,不空洞、可落地:

步骤 1:明确核心需求(最基础,也是最关键)

构建智能体的第一步,不是找工具、学技术,而是明确“你需要它帮你做什么”——需求越具体,后续搭建越简单,避免“大而全”。

普通人参考:明确任务场景(如“办公自动化”“信息汇总”“日程管理”)、核心目标(如“节省整理报表的时间”“自动汇总行业资讯”)、限制条件(如“只能调用办公软件”“不需要联网”)。

技术从业者参考:明确任务边界、输入输出格式、工具调用权限、记忆周期(短期/长期)、反馈机制。

步骤 2:选择合适的底层大模型(不用追求最顶尖,适配就好)

智能体的核心是大模型,选择适合自己需求的大模型,能降低搭建难度,避免“杀鸡用牛刀”:

  • 普通人/新手:优先选择国内大模型(文心一言 4.0、通义千问 3.0),操作简单、中文适配性好,且有现成的智能体模板;
  • 技术从业者:可选择 GPT-4(推理能力强)、Claude 3(长文本处理有优势),支持自定义工具调用和 Prompt 优化。

步骤 3:搭建核心模块(无代码/低代码,实操落地)

基于选定的大模型,搭建智能体的核心模块——普通人用无代码平台(如豆包 Agent、文心一言 Agent Builder),直接拖拽配置;技术从业者可基于 API 开发,灵活度更高。

核心模块搭建重点(兼顾两种人群):

  • 记忆模块:普通人勾选“长期记忆”,设置记忆保留时间(如 7 天);技术从业者可对接向量数据库(如 Pinecone),优化记忆检索效率。
  • 规划模块:普通人使用平台自带的“任务规划模板”,输入需求关键词;技术从业者可通过 Prompt Engineering,定义规划逻辑(如“拆解复杂任务为 3-5 个步骤,优先调用高效工具”)。
  • 工具调用模块:普通人直接添加平台支持的工具(如 Excel、邮箱、浏览器),授权权限;技术从业者可自定义 API 接口,对接私有工具(如企业内部数据库)。

步骤 4:调试优化(关键环节,决定智能体的实用性)

搭建完成后,不要直接投入使用,先进行调试,解决“不精准、不自主”的问题,具体做法:

  • 测试核心任务:输入你预设的需求(如“整理本周报表”),观察智能体的步骤规划、工具调用是否合理,是否能完成目标;
  • 修正错误:如果出现“步骤遗漏”“工具调用错误”,调整规划逻辑或工具权限;如果出现“记忆混乱”,优化记忆模块的设置(如缩短记忆周期、明确记忆范围);
  • 优化体验:普通人可调整“响应速度”“指令精准度”;技术从业者可优化 Prompt、调整工具调用优先级,提升效率。

步骤 5:落地使用 + 持续迭代

调试完成后,即可投入日常使用,同时根据实际使用反馈,持续优化:

普通人:记录智能体未完成、完成不好的任务,定期调整需求描述、优化模块配置;

技术从业者:通过日志分析,优化工具调用逻辑、记忆检索算法,对接更多适配场景的工具,实现智能体的升级。

四、智能体的典型应用场景(普通人/企业都能参考)

智能体的应用场景非常广泛,核心是“替代重复性、规律性、有明确流程的任务”,以下是最典型、最易落地的场景,分个人和企业两类,方便参考:

(一)个人场景(普通人高频使用)

  • 办公自动化:整理报表、撰写文案、汇总信息、发送邮件,节省 80% 的重复性办公时间;
  • 信息汇总与筛选:自动检索行业资讯、整理学习资料、筛选重要邮件/消息,避免信息过载;
  • 日程与生活管理:规划每日/每周日程、设置提醒、预订票务、整理账单,提升生活效率;
  • 学习辅助:自主规划学习计划、解答学习疑问、整理笔记、生成复习资料,适配各类学习场景。

(二)企业场景(易落地、高性价比)

  • 客户服务:智能客服 Agent,自主响应客户咨询、处理常见问题、记录客户需求,降低人工客服成本;
  • 运营自动化:新媒体运营 Agent,自主撰写文案、排版、发布内容、统计数据,优化运营流程;
  • 数据分析:自动提取数据、生成分析报告、可视化数据图表,辅助企业决策,无需专业数据人员;
  • 行政办公:员工考勤统计、办公用品管理、会议安排与纪要整理,提升行政效率。

五、普通人 / 企业如何入场(不踩坑,从 0 到 1 起步)

很多人想入场智能体,但要么觉得“技术不够”,要么担心“投入太高”,其实无论是普通人还是企业,都有低成本、易落地的入场方式,核心是“先从小场景入手,不追求大而全”:

(一)普通人入场:零代码、低成本,快速上手

  • 工具选择:优先使用免费/低成本的无代码智能体平台(豆包 Agent、文心一言 Agent Builder、讯飞星火 Agent),无需编程,直接用模板搭建;
  • 起步场景:从最简单的任务入手(如“整理每日笔记”“汇总邮件”),熟悉智能体的使用逻辑,再逐步拓展到复杂任务;
  • 核心技巧:学会“精准描述需求”,需求越具体,智能体完成得越好;定期优化模块配置,贴合自己的使用习惯;
  • 避坑点:不追求“全能智能体”,聚焦 1-2 个高频场景;不盲目付费,先试用免费版本,确认有用再升级。

(二)企业入场:小成本试点,再规模化落地

  • 试点场景:选择重复性高、人力成本高的场景(如智能客服、数据汇总),先搭建 1 个简单的智能体试点,验证效果;
  • 技术选择:中小企业无需组建专业开发团队,用无代码/低代码平台搭建,降低投入;大型企业可组建小型开发团队,基于 API 定制开发,适配企业私有需求;
  • 落地步骤:试点 → 优化 → 规模化,先在一个部门落地(如客服部、运营部),总结经验后,再推广到全公司;
  • 避坑点:不盲目追求“高科技”,适配企业实际需求才最重要;不忽视员工培训,让员工学会使用智能体,提升落地效率。

六、未来趋势与判断(长期价值,适配 RAG 检索)

智能体不是“昙花一现”,而是大模型应用的长期趋势,未来 3-5 年,将逐步渗透到个人和企业的方方面面,这里给出 3 个明确的趋势判断,供参考:

  • 趋势 1:智能体将走向“轻量化、个性化”——普通人将拥有专属的智能体,适配自己的生活、工作、学习习惯;企业将拥有适配自身业务的定制化智能体,成为核心办公工具。
  • 趋势 2:工具联动更广泛,形成“智能体生态”——未来的智能体,将能联动更多工具(从办公软件到工业设备、从线上平台到线下场景),实现“一站式任务闭环”,无需切换多个工具。
  • 趋势 3:技术门槛持续降低,“人人都能搭建智能体”——无代码/低代码平台将越来越完善,普通人无需编程,通过简单的拖拽、配置,就能搭建自己的智能体;技术从业者将聚焦于“更复杂的智能体优化”,而非基础搭建。

同时,也有 2 个理性判断,避免盲目跟风:

  • 智能体无法替代人类:它擅长的是“重复性、规律性任务”,而人类的创造力、情感沟通、复杂决策能力,是智能体无法替代的;
  • 落地需要循序渐进:无论是个人还是企业,都不要追求“一步到位”,从 0 到 1、从简单到复杂,逐步落地、持续优化,才能发挥智能体的最大价值。

七、总结:给出明确行动建议(普通人/企业分别参考)

本文从背景、定义、实操、应用到趋势,完整讲解了智能体(AI Agent)从 0 到 1 的核心内容,最后给出明确的行动建议,帮你快速落地,不浪费时间:

(一)给普通人的行动建议

  1. 今天:打开一个无代码智能体平台(如豆包 Agent),注册账号,熟悉平台功能;
  2. 3 天内:搭建第一个简单的智能体(如“每日笔记整理 Agent”),测试并优化,实现初步落地;
  3. 1 周内:将智能体应用到 1 个高频场景(如办公汇总、学习辅助),养成使用习惯,逐步提升效率;
  4. 长期:持续优化智能体,拓展应用场景,让智能体成为自己的“高效助手”,节省时间、提升能力。

(二)给企业的行动建议

  1. 1 周内:梳理企业内部的“重复性高、人力成本高”的场景,确定 1 个试点场景;
  2. 1 个月内:选择合适的工具,搭建试点智能体,完成调试,投入使用,验证效果;
  3. 3 个月内:根据试点效果,优化智能体,逐步推广到其他部门,实现规模化落地;
  4. 长期:建立智能体落地机制,持续优化、迭代,对接更多业务场景,降低成本、提升效率。

最后想说:智能体的从 0 到 1,不是技术的遥不可及,而是普通人、企业都能抓住的机会。它的核心价值,是“解放人力、提升效率”——与其害怕技术变革,不如主动拥抱,从 0 到 1,一步步掌握智能体,让它成为自己的“助力”,而非“对手”。

背景

在开发“智能带办”应用时涉及到用户体系,开发阶段使用固定验证码形式跑通,在上线前准备接入短信服务时却遇到了难题,短信服务目前只对企业开发者开放了,个人开发者没办法再使用短信服务。为了顺利上架,退后求其次,改为了使用邮箱验证码等了。

邮箱验证码登录有两个弊端,一是不方便,很多用户进来发现是邮箱验证码登录不方便直接就退出应用了;二是合规风险,在申请安全评估报告时如果涉及到用户体系要求实名,邮箱没办法保证实名,还得再加入额外的实名体系,不仅麻烦而且很多都限制个人开发者没法使用。

其实最开始也考虑过要接入华为登录,看了一键登录文档发现也是只针对企业开发者,以为也是只有企业开发者可以使用,后面看了“华为账号登录”后发现个人开发者也可以使用,只是取不到手机号,正好不使用手机号可以规避合规方面的风险。
image.png

华为登录能力介绍

华为账号服务简介

Account Kit(华为账号服务)提供简单、快速、安全的登录功能,让用户快捷地使用华为账号登录应用。用户授权后,Account Kit可提供头像、昵称、手机号码等信息,帮助应用更了解用户。华为账号服务提供了登录、获取华为账号用户信息、未成年模式等。在开发过程中涉及下面几个概念:

  • OpenID:应用维度用户标识符,是华为账号用户在应用/元服务的唯一标识。不同应用/元服务(不管是否在同一个开发者账号下)获取到用户的OpenID不同。
  • UnionID:开发者维度用户标识符,华为账号用户同一开发者账号下的唯一标识。开发者有多个应用/元服务时,同一个开发者账号下的应用/元服务获取到用户的UnionID相同。
  • GroupUnionID:关联主体账号组维度用户标识符,是华为账号用户在关联主体账号组内的唯一标识。不同开发者账号加入同一关联主体账号组后,其组内所有开发者的应用/元服务获取到用户的GroupUnionID相同。
  • permission:数据或接口权限,通过该权限判断应用是否能获取对应数据或调用对应接口。
  • scopes:scope列表,用于获取用户数据。开发者向华为账号服务申请不同类型用户数据的标识。比如头像昵称(profile)、匿名手机号(quickLoginAnonymousPhone)等。
  • Authorization Code:授权码,用户使用华为账号登录成功之后,可通过返回的凭据解析出授权码,通过授权码可获取Access Token、Refresh Token、ID Token等。
  • Access Token:访问凭证,是访问被权限管控资源的应用级凭证。可使用Access Token调用获取用户信息接口获取用户信息。
  • ID Token:用户身份凭证,是OIDC (OpenID Connect) 协议相对于OAuth 2.0 协议扩展的一个用户身份凭证,包含用户信息。用户使用华为账号登录成功之后,可通过返回的凭据解析出Authorization Code、ID Token等数据。

在我们接口华为用户服务后,可以使用OpenId和UnionID绑定我们自己的账号体系。

华为账号服务交互流程

由于个人开发者无法使用“一键登录”,本文主要介绍 “华为账号登录”按钮登录。使用按钮登录我们可以使用Account Kit提供的华为账号登录按钮及服务端交互获取华为账号用户身份标识UnionID、OpenID,通过UnionID、OpenID完成用户登录;或者与应用账号完成绑定,绑定后用于登录或者验证。

华为账号登录按钮包含文本、标志和文本、标志三种样式,以满足应用对界面风格一致性和灵活性的要求。
image.png

账号服务开发者与华为能力交互流程如下图所示:
image.png

交互流程说明如下:
流程说明:

  1. 调用登录按钮展示登录页阶段(序号1-3):

    1. 用户打开应用进行登录,应用设置LoginType类型为LoginType.ID后拉起应用自己的登录页并展示“华为账号登录”按钮,用户点击按钮,请求华为账号授权信息。
  2. 用户点击登录阶段(序号4-6):

    1. 如华为账号未登录,将拉起华为账号登录页,用户登录后,将返回Authorization Code等数据给应用。
    2. 如华为账号已登录,将直接返回Authorization Code等数据给应用。
  3. 用户关联应用账号阶段(序号7-16):

    1. 应用服务端通过Authorization Code获取到Access Token,再使用Access Token调用解析凭证接口获取用户相关信息。通过Authorization Code凭证获取用户信息可以有效避免黑客通过数据遍历、身份伪造、重放攻击等手段导致的安全风险。
    2. 应用服务端将业务登录凭证SessionId、UnionID/OpenID传给应用,应用获取到UnionID/OpenID可用于判断华为账号是否登录等功能。
    3. 应用对用户身份标识UnionID/OpenID、业务登录凭证SessionId信息进行认证后,通过UnionID/OpenID判断用户是否已关联应用系统数据库,如已关联,则完成用户登录;如未关联,则创建新用户,绑定UnionID/OpenID。

华为账号服务提供了LoginWithHuaweiIDButton组件,构造中需要传入LoginWithHuaweiIDButtonParams类型和 LoginWithHuaweiIDButtonController类型的参数,LoginWithHuaweiIDButtonParams属性如下:

名称类型只读可选说明
styleStyleLoginWithHuaweiIDButton组件的样式。支持样式包括:BUTTON_RED、BUTTON_WHITE、BUTTON_WHITE_OUTLINE、BUTTON_BLACK、ICON_RED、ICON_WHITE、ICON_WHITE_OUTLINE、ICON_BLACK、ICON_GRAY、BUTTON_GRAY、BUTTON_CUSTOM。
borderRadiusnumber按钮边框圆角半径。取值范围:[0,+∞),值小于0时,按0处理。默认值:height属性取值的一半。单位:vp。
iconRadiusnumberIcon类型按钮的半径。取值范围:[0,+∞),值小于0时,按0处理。默认值:24。单位:vp。
supportDarkModeboolean表示按钮的样式是否随系统深浅色模式变化。true:按钮的样式会随着系统深浅色模式变化。false:按钮的样式不会随着系统深浅色模式变化。默认值:true。
loginTypeLoginType华为账号登录类型。默认值:LoginType.ID。一键登录请使用LoginType.QUICK_LOGIN。
textAndIconStyleboolean是否展示图文混合样式的华为账号登录按钮。true:按钮支持Icon和文字混合样式。false:按钮仅支持文本样式。默认值:false。当loginType不等于LoginType.QUICK_LOGIN且style等于BUTTON_RED、BUTTON_WHITE、BUTTON_WHITE_OUTLINE、BUTTON_BLACK、BUTTON_GRAY时该参数生效。起始版本:5.0.0(12)
customButtonParamsCustomButtonParamsBUTTON_CUSTOM按钮样式参数。起始版本:5.0.0(12)
verifyPhoneNumberboolean华为账号用户在过去90天内未进行短信验证,是否拉起Account Kit提供的短信验证码页面。true:拉起Account Kit提供的短信验证码页面。false:不拉起Account Kit提供的短信验证码页面。需要应用验证手机号时效性。默认值:true。起始版本:5.0.0(12)
extraStyleExtraStyle如果应用想使用华为账号提供的固定样式之外的效果,可使用此接口自定义按钮样式。起始版本:5.0.0(12)
loginButtonTextTypeLoginButtonTextType当loginType为LoginType.QUICK_LOGIN时,可传入此参数,控制按钮文本内容显示。默认值:LoginButtonTextType.QUICK_LOGIN。当该参数为LoginButtonTextType.QUICK_LOGIN时,按钮文本内容显示“华为账号一键登录”。当该参数为LoginButtonTextType.QUICK_REGISTRATION时,按钮文本内容显示“华为账号一键注册”。起始版本:5.0.0(12)
riskLevelboolean是否需要获取华为账号用户风险等级。仅登录类型为LoginType.QUICK_LOGIN时需要设置该参数。true:需要获取用户风险等级。false:不获取用户风险等级。默认值:false。起始版本:5.1.0(18)
securityVerificationboolean用户开启华为账号一键登录增强身份验证后,应用会在登录过程中通过华为账号使用生物识别或短信进行身份验证。如果需要获取用户一键登录增强身份验证的开关状态,需设置该字段为false。仅登录类型为LoginType.QUICK_LOGIN时需要设置该参数。true:响应结果HuaweiIDCredential将不会返回 enableSecurityVerification。false:响应结果HuaweiIDCredential将返回 enableSecurityVerification。默认值:true。起始版本:6.0.0(20)

智能带办接入过程

目前应用只支持华为登录,页面UI如下:
image.png

在页面中配置红色的LoginWithHuaweiIDButton:

LoginWithHuaweiIDButton({  
    params: {  
      // LoginWithHuaweiIDButton支持的样式  
      style: loginComponentManager.Style.BUTTON_RED,  
      // 账号登录按钮在登录过程中展示加载态  
      extraStyle: {  
        buttonStyle: new loginComponentManager.ButtonStyle().loadingStyle({  
          show: true  
        })  
      },  
      // LoginWithHuaweiIDButton的边框圆角半径  
      borderRadius: 24,  
      // LoginWithHuaweiIDButton支持的登录类型  
      loginType: loginComponentManager.LoginType.ID,  
      // LoginWithHuaweiIDButton支持按钮的样式跟随系统深浅色模式切换  
      supportDarkMode: true  
    },  
    controller: this.controller  
  })  
}  
.height(40)  
.width('100%')  
.margin({top:50})  
.padding({left:25, right:25})

控制器controller定义如下:

controller: loginComponentManager.LoginWithHuaweiIDButtonController =  
  new loginComponentManager.LoginWithHuaweiIDButtonController()  
    .setAgreementStatus(loginComponentManager.AgreementStatus.NOT_ACCEPTED)  
    .onClickLoginWithHuaweiIDButton((error: BusinessError, response: loginComponentManager.HuaweiIDCredential) => {  
      if (error) {  
        this.dealAllError(error);  
        return;  
      }  
  
      if (response) {  
        Logger.i(TAG, 'Succeeded in getting response.');  
        const authCode = response.authorizationCode;  
        // 开发者处理authCode  
        this.getUserInfoPermission(authCode)  
      }  
    });

在controller中获取回调,如果登录成功则通过authorizationCode继续申请用户华为头像和昵称授权:

getUserInfoPermission(authCode:string){  
  // 创建授权请求,并设置参数  
  const authRequest = new authentication.HuaweiIDProvider().createAuthorizationWithHuaweiIDRequest();  
  // 获取头像昵称需要传如下scope  
  authRequest.scopes = ['profile'];  
  // 若开发者需要进行服务端开发以获取头像昵称,则需传如下permission获取authorizationCode  
  authRequest.permissions = ['serviceauthcode'];  
  // 用户是否需要登录授权,该值为true且用户未登录或未授权时,会拉起用户登录或授权页面  
  authRequest.forceAuthorization = true;  
  // 用于防跨站点请求伪造  
  authRequest.state = util.generateRandomUUID();  
  // 执行授权请求  
  try {  
    const controller = new authentication.AuthenticationController(this.getUIContext().getHostContext());  
    controller.executeRequest(authRequest).then((data) => {  
      const authorizationWithHuaweiIDResponse = data as authentication.AuthorizationWithHuaweiIDResponse;  
      const state = authorizationWithHuaweiIDResponse.state;  
      if (state && authRequest.state !== state) {  
        Logger.i(TAG, `Failed to authorize. The state is different, response state: ${state}`);  
        return;  
      }  
      Logger.i(TAG,'Succeeded in authentication.');  
      const authorizationWithHuaweiIDCredential = authorizationWithHuaweiIDResponse?.data;  
      const avatarUri = authorizationWithHuaweiIDCredential?.avatarUri;  
      const nickName = authorizationWithHuaweiIDCredential?.nickName;  
      // 开发者处理avatarUri, nickName  
      const authorizationCode = authorizationWithHuaweiIDCredential?.authorizationCode;  
      Logger.i(TAG, 'getUserInfoPermission:' + JsonUtils.toJSONString(authorizationWithHuaweiIDCredential))  
      this.sendLoginRequest(authorizationCode??authCode)  
      // 涉及服务端开发以获取头像昵称场景,开发者处理authorizationCode  
    }).catch((err: BusinessError) => {  
      this.dealAllError(err);  
    });  
  } catch (error) {  
    this.dealAllError(error);  
  }  
}

用户授权成功后请求服务端接口,服务端通过authorizationCode调用华为服务获取accessToken,接着获取用户信息,绑定自己的账号体系返回自己账号体系的token即可。通过下面接口获取用户级凭证:

POST /oauth2/v3/token HTTP/1.1
Host: oauth-login.cloud.huawei.com
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&code=<code>&client_id=<client_id>&client_secret=<client_secret>

接着通过下面示例获取用户昵称和头像:

POST /rest.php?nsp_svc=GOpen.User.getInfo HTTP/1.1
Host: account.cloud.huawei.com
Content-Type: application/x-www-form-urlencoded

access_token=<Access Token>

必须在手机上调起授权获取用户授权后这里才可以请求到用户头像和昵称。

总结

本次“智能带办”应用的登录体系接入实践,源于上线前短信服务仅对企业开发者开放的限制,迫使我们从固定验证码、邮箱验证码转向华为账号登录方案。初期因误判“一键登录”仅限企业开发者而忽略“华为账号登录”,后发现个人开发者虽无法获取手机号,但恰好规避了邮箱登录的用户体验差(用户因不便退出)与实名合规风险(需额外实名体系),成为关键破局点。

华为账号服务(Account Kit)通过OpenID(应用唯一标识)、UnionID(开发者唯一标识)等核心概念,为个人开发者提供了安全高效的登录能力:既支持自定义样式的登录按钮(如本文配置的红色BUTTON_RED按钮),又通过Authorization CodeAccess Token→用户信息的流程保障安全,避免身份伪造等风险。接入过程中,我们通过LoginWithHuaweiIDButton组件实现前端交互,结合服务端解析凭证绑定自有账号体系,最终完成用户登录闭环。

此次实践的核心启示在于:面对企业级服务限制时,需深度挖掘平台对个人开发者的差异化能力——华为账号登录虽不提供手机号,却以“去实名化”特性解决了合规痛点,同时依托成熟的OAuth 2.0/OIDC协议与丰富组件(如支持深色模式、自定义圆角的按钮),兼顾了开发效率与用户体验。未来,可进一步探索UnionID在多应用间的用户打通能力,或结合GroupUnionID拓展关联主体场景,持续完善登录体系的灵活性与扩展性。

背景

  • Alfred 的翻译工作流不会自己配,只能用一个服务提供商,不满足
  • 没入正 Alfred(穷),用盗版心里过意不去
  • 原生聚焦搜索的操作逻辑不太符合我的习惯,喜欢 Alfred 的操作逻辑
  • 其他 app 要么免费不够用,要么够用不免费,要么外观不喜欢

核心功能(只整合自己最常用的)

  1. app 模糊搜索
  2. 支持多个服务的快捷翻译
  3. 代码片段
  4. 剪贴板历史

特性

  • 借鉴聚焦搜索和 Alfred 的操作逻辑,从激活到离开双手无需离开键盘
  • 支持最新的液态玻璃外观

项目地址: FocusLite

整理 | 华卫

 

昨晚,上了热搜、又在苹果付费软件排行榜的榜首上挂了多日的"死了么"APP,突然宣布更名为 Demumu。据其称,“经团队审慎决策,‘死了么’APP 将于即将发布的新版本中,正式启用全球化品牌名 Demumu。继昨日获得 BBC 报道后,我们的服务在海外实现了爆发式增长。未来,Demumu 将继续秉持安全守护的初心,把源自中国的守护方案带向世界,服务全球更多独居群体。”

 

自推出后,该 APP 的热度剧增,下载量一度暴涨 100 倍。虽开发成本仅 1000 多元,但获得不少头部投资机构的青睐,现在的估值已经飙到了 1 亿元。

 

而最值得一提的是,这一 APP 的完整原型竟然在去年初就有了,可做出来的却不是同一批人。

痛失 1 亿的“原作者”,5 分钟复刻出海外版

“好消息:我去年做了一个‘死了么’APP;坏消息:我只做了产品设计和 UI 并发了文,但我当时觉得这只是个用来博眼球的噱头。”

 

在死了么 APP 爆火后不久,一位 ID 为“饼干哥哥 AGI”的数据分析师公开表示,去年 3 月,他从小红书上经常看到这个需求,随后花了不到一个下午的时间用 Cursor 和 Claude 3.7 生成了完整 APP 原型,并且将提示词模版和操作步骤都发布了出来。

 

提示词 by @花叔:

 

我想开发一个类似外卖 APP「饿了么」,APP 叫「死了么」,用于养老的,每天问一句,以防独自一个人死在家里没人发现。APP 也有骑手,哪里有人死了就去接单收尸。 注意这是专门为独居 90 后的年轻人设计的。风格要求清新好看、APP 内的文案多用搞怪的网络用语。

 

现在需要输出高保真的原型图,请通过以下方式帮我完成所有界面的原型设计,并确保这些原型界面可以直接用于开发:

1、用户体验分析:先分析这个 APP 的主要功能和用户需求,确定核心交互逻辑。

2、产品界面规划:作为产品经理,定义关键界面,确保信息架构合理。

3、高保真 UI 设计:作为 UI 设计师,设计贴近真实 iOS/Android 设计规范的界面,使用现代化的 UI 元素,使其具有良好的视觉体验。

4、HTML 原型实现:使用 HTML + Tailwind CSS(或 Bootstrap)生成所有原型界面,并使用 FontAwesome(或其他开源 UI 组件)让界面更加精美、接近真实的 APP 设计。

拆分代码文件,保持结构清晰:

5、每个界面应作为独立的 HTML 文件存放,例如 home.html、profile.html、settings.html 等。

- index.html 作为主入口,不直接写入所有界面的 HTML 代码,而是使用 iframe 的方式嵌入这些 HTML 片段,并将所有页面直接平铺展示在 index 页面中,而不是跳转链接。

- 真实感增强:

  - 界面尺寸应模拟 iPhone 15 Pro,并让界面圆角化,使其更像真实的手机界面。

  - 使用真实的 UI 图片,而非占位符图片(可从 Unsplash、Pexels、APPle 官方 UI 资源中选择)。

  - 添加顶部状态栏(模拟 iOS 状态栏),并包含 APP 导航栏(类似 iOS 底部 Tab Bar)。

请按照以上要求生成完整的 HTML 代码,并确保其可用于实际开发。

 

操作步骤:

1.打开 Cursor 编辑器(确保版本足够新,支持 Claude 3.7)

2.选择编辑 Agent 模式

3.选择 Claude 3.7 Sonnet 作为模型,最好是用 thinking

4.粘贴上述提示词,填入你需要的 APP 类型

5.等待生成完成,可能需要 3-5 分钟

 

“技术已经不值钱了。现在再重新做的话,可能一个下午的时候都够从 0 到设计到 APP STORE 上架了。”这位数据分析师感叹道。

 

之后,他又花了 5 分钟就复刻出了"死了么"APP 海外版。据称,这次他没敲任何代码。

三名 95 后共同开发,APP 收费已涨了 8 倍

这个引爆全网的 APP,到底有什么魅力?

 

据介绍,该应用是为独居人群打造的低成本安全工具,核心功能十分简单。用户无需注册登录,首次使用只需填写姓名和紧急联系人,每天打开应用完成签到即可;若连续 2 天未签到,系统将于次日自动发送邮件告知紧急联系人。

 

最开始,“死了么”APP 的收费只要 1 元,现在涨到了 8 元。团队表示,这是为了让项目能够健康、持续地发展,并覆盖日益增长的短信、服务器等成本。

 

该应用由三名 95 后共同创立并独立运营,在走红后,其背后的创始人们也陆续“现身”并对外披露了项目相关情况。“死了么”APP 创始人之一郭先生介绍,团队内只有三名 95 后成员,且各自有自己的本职工作,通过远程方式进行协作。项目大约在 2025 年年中立项,开发时间不到一个月,初始投入成本仅 1000 多块钱。

 

另一位创始人吕先生表示,早在两三年前他们就在社交平台上留意到相关需求,“近几年大家都会讨论‘什么 APP 是每个人都需要的,并且一定会下载的’,就有网友提到‘死了么’APP,这个创意出来之后有很大的讨论度,我们看到了其中的需求,并且这件事本身也很有意义,于是我们就尝试去注册这个名字,发现可以注册,后续又用了一个月时间完成了开发。”

 

据创始人郭先生透露,增长从 2026 年 01 月 09 日左右开始,短短两天内,下载量相比之前暴涨 100 倍以上,且仍在持续攀升。吕先生表示,现在 APP 的下载量不太方便透露,但“确实增长速度非常快”。

 

根据点点数据,除中国市场外,目前“死了么”APP 在多国苹果应用商店霸榜第一:在新加坡付费榜位居总榜第一,在比利时、荷兰、瑞典等国付费工具榜排名第一,在英国、澳大利亚、美国等 10 多个国家付费工具榜排名第二。

 

公开信息显示,“死了么”APP 由月境(郑州)技术服务有限公司开发,这家成立于 2025 年 03 月 10 日的公司,注册资本仅 10 万元,法定代表人为郭孟初,由其 100%持股。

 

此前有消息称,该公司已经接触到投资意向,正计划以 100 万元出让公司 10%的股份。也就是说,这时其估值已达到 1000 万元。当前的最新消息是,如今该 APP 用户已增长 800 倍。并且,随着与六七十家投资方的深入接触和洽谈,短短两日间,“死了么”APP 的估值飙升至近 1 亿元。但目前,其团队仍维持出让公司 10%股份的计划。

遍地都是“活了么”,免费版卷疯了

“死了么”APP 爆火后,陆续有网友提出优化建议,有人提出可以改成通过短信通知紧急联系人、优化签到形式等。

 

目前,其团队已透露了后续的发展规划:接下来将把主要精力投入到产品打磨中,例如丰富短信提醒功能、考虑增加留言功能,并探索推出更适老化的新产品。

 

对于为软件带来广泛共鸣与关注的名字,也开始迎来争议。不少网友认为,“死了么”不好听,建议改成“活着么”。苹果官方客服也于 1 月 9 日作出回应,称用户若对 APP 名称不满,可提供应用基础信息,客服将同步至相关业务部门,协调联系开发者沟通处理。

 

现在,“死了么”APP 已改名为 Demumu。有网友认为,“死了么 APP 之所以火,这名字最起码占一半功劳。改名,大概率算是把魂给丢了。只有当它从工具属性进化到社区属性,它才有可能活下来。”

 

而另一款名为“活了么”的 APP 已上架苹果应用商店,其功能与“死了么”相似,但目前是免费版的。此外,在苹果应用商店,有十几个类似名称与功能定位的 APP 也扎堆上线了,如“活着么”、“还活着么”“我还在”“我还活着呢”“我还好”等。其中,“活着么”目前就有 9 个,大部分都是免费版。

 

 

参考链接:

https://mp.weixin.qq.com/s?__biz=MjM5NDI4MTY3NA==∣=2257491168&idx=1&sn=b91be37bdd74cf7f27be5bef4bc337b7&scene=21&poc_token=HCkEZ2mjYvHT95lST7JpKli28nPa1gzdzMOTMQy0

最近奇思妙想群里最热的讨论,莫过于华为鸿蒙的亿元激励活动。

活动介绍:开发者成功报名本计划,且在 2025 年 7 月 23 日至 2025 年 12 月 31 日完成鸿蒙应用、游戏、元服务开发,并正式上架至华为应用市场,将有机会获得现金激励( 1 万元一款)。

群里成果:有刚开始不信后面看大家出结算单然后通宵开发上架十几款,也有在宿舍连夜奋战上架 20 款的学生,还有拿到激励要辞职 all in 的,更有找准赛道连上 100 款的,大部分开发者上架十几款。
群里都是在相互鼓励、相互刺激,大家松懈时,就会有群友发出一个审核上架通知,全体都提起精神开发。

对于鸿蒙活动,很多人会有两种截然不同的反应:

一种是:“xx 你都信,这么天真。”

另一种是:“先相信,干就完了。”

具体可看站内的历史鸿蒙帖子的评论区...

这两种反应的背后,折射出的正是人与人之间赚钱能力的本质差异——认知差。

借着鸿蒙激励活动,来聊聊“认知与赚钱”。

一、 所有的暴利,都源于“供需失衡”的窗口期

为什么华为要发钱?因为它急需在短时间内,把应用商店的货架填满。

这就造成了一个短期的、剧烈的供需失衡

  • 需求端: 华为希望拉升纯血鸿蒙应用的数量。
  • 供给端: 参与鸿蒙开发的开发者很少,市面上的应用极度匮乏。

现在的鸿蒙生态,就是一片“荒地”。在成熟的安卓或 iOS 生态里,你做一个记账软件,可能连水花都砸不出来,因为竞争者有几万个。但在现在的纯血鸿蒙里,你做一个记账软件,可能就是“官方推荐”,因为根本没几个好用的竞品。

赚钱的第一层认知是:识别红利。
红利就是平台为了活下去,不得不让渡出的超额利润。当年的淘宝店、后来的微信公众号、前几年的抖音直播,以及现在的鸿蒙开发,逻辑如出一辙。

那些赚到大钱的人,往往不是因为技术最牛,而是因为他们在平台最饥渴的时候,递了一瓶水。

顺势而为,还是看笑话?

二、 认知的诅咒:为什么聪明人反而赚不到“第一桶金”?

在鸿蒙激励活动出来后,我观察到一个有趣的现象:
很多资深的程序员、技术大牛在冷嘲热讽,他们分析鸿蒙的底层架构,分析生态的各种困难,得出的结论是“这么天真,可操作的地方太多了,赚不到的”。

反而是很多技术一般的“草根开发者”,甚至是一些只会套壳、只会做简单工具的业余程序员,第一时间冲了进去。他们不管架构完不完美,先把 App 上架,接着就是相信鸿蒙打钱。

这就引出了赚钱的第二层认知:执行力往往大于完美主义。

许多“聪明人陷入了“认知的诅咒”。他们想得太多,看得太远,总想等到局势明朗、风险为零的时候再出手。
但商业规律是残酷的:当一件事变得没有任何风险时,它也就没有任何超额收益了。

鸿蒙现在确生态确实不成熟,文档也不完善。但正是因为这些“门槛”和“麻烦”,才挡住了大厂的标准化倾轧,给个体和小团队留出了套利的空间。

真正的高认知,不是预判困难并止步,而是预判了困难,并计算出即使算上解决困难的成本,收益依然可观,然后果断入局。

结语

这世界上最遥远的距离,不是生与死,而是你就站在风口上,却觉得那是阵乱吹的风。

对于程序员来说,鸿蒙不仅是一个技术生态,更是一面镜子。它照出了我们面对新生事物时的态度:
是习惯性地质疑、观望?
还是敏锐地拆解、试错?

你所赚的每一分钱,都是你对这个世界认知的变现;你所亏的每一分钱,都是因为对这个世界认知有缺陷。

所以,先相信

-

有其他想法讨论欢迎进奇思妙想群(一个可能会让你赚钱的群),v 站上最大最久的程序员群: