我用 AI 写了一个个人信息管理助手,随时随地查账号密码
前言
你是否也有这样的困扰:
-
身份证号太多,总是记不住 -
各种平台账号密码,记在备忘录里不安全 -
用密码管理器,又觉得太重、不够便捷
我一直想做一个工具:打开手机就能查,数据加密存储,操作简单直观。
最近,我用 AI 辅助,开发了一个飞书个人信息管理助手。在飞书里发条消息,就能查询和管理身份证、账号密码等敏感信息。
今天,把这个过程分享给你。
一、项目背景
为什么选择飞书?
飞书是我们日常工作的沟通工具,打开频率高,操作习惯。如果能通过聊天的方式管理个人信息,既方便又自然。
核心需求
- 加密存储
:身份证号、密码等敏感信息必须加密 - 便捷查询
:在飞书聊天界面直接操作,无需打开其他 App - 功能完整
:支持身份证、账号的增删改查 - 安全可靠
:数据存储在本地,密钥自己掌握
二、技术方案
整体架构
用户 → 飞书 App → 飞书机器人 → 后端服务 → 加密数据存储
关键点:
-
飞书机器人在飞书开放平台创建和配置 -
后端服务接收机器人转发的消息,处理后返回结果 -
敏感数据使用 Fernet 对称加密,密钥本地存储
技术栈
- 后端框架
:Flask(轻量级,适合快速开发) - 加密库
:cryptography(Python 标准加密库) - 数据存储
:本地 JSON 文件(简单可靠) - API 对接
:飞书开放平台 API
部署方式
当前版本部署在云服务器上:
-
Python 程序运行在云服务器,提供公网访问地址 -
飞书开放平台配置事件订阅地址指向云服务器 -
数据文件存储在云服务器本地
后续计划:实现本地部署 + 内网穿透版本,数据完全存储在本地,无需云服务器,进一步降低成本和提升安全性。
三、开发过程
第一步:在飞书开放平台创建机器人
这一步不需要写代码,在飞书开放平台完成:
-
创建自建应用,获取 App ID 和 App Secret -
开启机器人能力,配置消息接收权限 -
设置事件订阅,让飞书把用户消息转发到你的服务器
第二步:用 AI 生成后端服务代码
我向 AI 描述了需求:
开发一个飞书机器人后端服务,功能包括:
接收飞书机器人转发的用户消息 解析命令(保存身份证、查账号等) 加密存储敏感信息到本地 JSON 文件 返回处理结果给飞书机器人 技术要求:Python + Flask + cryptography
AI 生成了完整的代码,包括:
# 核心模块
- CryptoManager:加密管理器(Fernet 对称加密)
- DataManager:数据管理器(JSON 文件读写)
- CommandParser:命令解析器(解析用户输入)
- FeishuClient:飞书 API 客户端(发送回复消息)
- MessageHandler:消息处理器(处理业务逻辑)
第三步:迭代优化
初始版本完成后,我又提出了优化需求:
-
添加日志记录,方便排查问题 -
增加错误处理,提升用户体验 -
添加帮助系统,降低使用门槛
AI 每次都能快速响应,整个过程就像和一个经验丰富的程序员结对编程。
四、效果展示
功能演示
查询账号
在飞书中发送命令,机器人即时返回结果:

示例命令:
查账号 微信
✅ 查询结果平台: 微信用户名: zhangsan密码: Abc123456电话: 138****8000邮箱: zhang***@example.com备注: 工作号更新时间: 2024-01-15
保存身份证 张三 110101199001011234 北京户口
✅ 已保存 张三 的身份证信息
查看帮助
发送”帮助”,机器人返回完整的功能列表:

功能列表:
飞书个人信息管理助手【身份证管理】• 保存身份证:保存身份证 姓名 身份证号 [备注]• 查询身份证:查身份证 姓名• 删除身份证:删除身份证 姓名【账号管理】• 保存账号:保存账号 平台 用户名 密码 [电话] [邮箱] [备注]• 查询账号:查账号 平台 [用户名]• 更新账号:更新账号 平台 用户名 password=新密码• 删除账号:删除账号 平台 用户名
五、代码亮点
AI 生成的代码质量超出预期,几个设计值得分享:
1. 加密机制
class CryptoManager:"""加密管理器,负责敏感信息的加密和解密"""def encrypt(self, plaintext: str) -> str:if not plaintext:return ""return self.cipher.encrypt(plaintext.encode('utf-8')).decode('utf-8')def decrypt(self, ciphertext: str) -> str:if not ciphertext:return ""try:return self.cipher.decrypt(ciphertext.encode('utf-8')).decode('utf-8')except Exception as e:logger.error(f"解密失败:{e}")return "[解密失败]"
所有敏感字段(身份证号、密码、电话、邮箱)都加密存储,查询时自动解密。
2. 命令解析
class CommandParser:"""命令解析器,解析用户输入的命令"""@staticmethoddef parse(message: str) -> Dict[str, Any]:# 支持自然语言命令if message.startswith('保存身份证'):parts = message.split(maxsplit=3)return {'command': 'add_person','name': parts[1],'id_card': parts[2],'remark': parts[3] if len(parts) > 3 else ''}# ... 其他命令
用户不需要记忆复杂语法,用自然语言就能操作。
3. 模块化设计
代码分为五个独立模块,职责清晰:
-
加密、数据存储、命令解析、API 调用、业务处理各司其职 -
方便后续扩展新功能 -
代码可读性强,易于维护
六、AI 编程的几点体会
1. 需求描述要具体
❌ 模糊描述:
帮我写个飞书机器人
✅ 具体描述:
开发一个飞书机器人后端服务,用于管理个人信息。功能包括加密存储身份证和账号密码,支持增删改查,使用 Python + Flask + cryptography 技术栈。
2. 分步骤迭代
不要期望一次生成完美代码。我的做法是:
-
先生成核心功能(加密存储、命令解析) -
再添加辅助功能(日志、错误处理、帮助系统) -
最后优化细节(代码注释、异常处理)
3. 审核代码是必须的
AI 生成的代码不是 100% 正确。你需要:
-
理解每一行代码的作用 -
检查是否有安全漏洞 -
测试边界情况
比如,AI 生成的初始版本没有对解密失败做处理,我补充了异常捕获。
4. 效率提升明显
传统开发流程:需求分析 → 技术选型 → 架构设计 → 编码 → 测试 → 调试,预计需要 3-5 天。
AI 辅助开发:需求描述 → AI 生成代码 → 审核调整 → 测试,实际用时 2-3 小时。
七、安全说明
这个项目涉及敏感信息,安全是首要考虑:
- 加密存储
:使用 Fernet 对称加密,密钥本地生成 - 密钥保管
: encryption.key文件必须妥善保管,丢失后无法恢复数据 - 数据隔离
:当前版本设计为单人使用,多人使用需要增加用户认证 - 部署建议
:部署在私人服务器或可信云环境
八、项目特点
-
加密存储敏感信息(身份证号、密码、电话、邮箱) -
支持身份证、账号的增删改查 -
自然语言命令,操作简单 -
完整的帮助系统 -
日志记录,方便排查问题 -
错误处理完善,用户体验友好
结语
这个项目让我深刻体会到 AI 编程的价值:
它不是替代程序员,而是让程序员更高效。
以前需要花几天研究 API、写代码、调试,现在只需要描述清楚需求,AI 就能生成 80% 的代码。剩下的 20%,是审核、优化、测试——这些恰恰是需要经验和判断力的部分。
如果你也想尝试 AI 编程,建议从小项目开始:
-
一个命令行工具 -
一个简单的 Web 服务 -
一个数据处理脚本
你会发现,编程的门槛正在降低,而创造的乐趣从未改变。
互动话题
你用过 AI 辅助编程吗?有没有遇到什么有趣的项目?欢迎在评论区分享你的经验。
关注我,获取更多 AI 编程实战案例。
本文案例代码由 AI 生成,经人工审核优化后发布。
夜雨聆风