AI时代,我们还需要隐私吗?一个去中心化本地AI助理(智能体)的详细技术方案(附完整功能清单)
你的微信,早就不只是微信了——广告、营销、工作群、砍价链接……它成了最大的负担。亲友团AI,重新定义亲友通讯。✅ 无广告·纯净——只有你添加的亲友,没有一条营销消息。✅ 真隐私·安全——去中心化架构,聊天记录只在你手机,谁也别想看。✅ 真身份·省心亲友团AI通过模块化设计,实现了 “核心轻量,功能按需” 的产品理念。APP聚焦于真实身份社交和隐私通讯,插件市场则让用户自由扩展生活服务能力,所有功能
亲友团AI · 去中心化 · 端到端加密 · 本地智能 · 插件丰富
让你的数据,真正属于你。
写在前面的话:
你的手机,还是你的吗?
曾经,QQ、微信、钉钉……让我们和家人、同事、朋友靠得更近。
现在呢?
每天睁开眼,几十个群聊红点——工作群、家长群、购物群、砍价群……你不敢退,也不敢静音,生怕错过重要消息。可翻看半天,99%都是广告、拼团、投票、养生谣言。
你精心拍的家庭照片,想和爸妈分享,却被压缩成一堆模糊的像素。发个大文件,提示“超过100M无法发送”。想找一张去年的合影,聊天记录早被自动清理。
更可怕的是,你的聊天记录、通讯录、位置信息,都在别人的服务器上。你说了什么、买了什么、和谁联系——这些本该属于你的隐私,却成了别人眼里的数据金矿。
朋友圈里,十条有五条是广告。你屏蔽了一个,又冒出三个。
这些看似带来便利的APP,早已从一个工具,变成了一个沉重的包袱。
是时候,把通讯工具变回工具了。
为此,作者设计一个基于本地智能体的全新APP,亲友团AI。
它只有一个简单的目标:让你和真正重要的人,干干净净地联系。
没有广告,没有营销号
亲友团AI里没有朋友圈,没有公众号,没有视频号。只有你的家人、亲友、同事——那些你主动添加、真实存在的人。你不会收到任何陌生人消息,也不会看到任何一条广告。
你的数据,只属于你
我们没有一个中心服务器。你的所有聊天记录、照片、文件,都只存在你的手机里。点对点加密传输,连我们都看不到,更别说卖给广告商。你和家人的每一次通话,都是真正的私密。
真实身份,无需备注
微信加好友后,你还要手动改备注、输电话、填公司。在亲友团AI,扫一扫二维码,对方真实姓名和手机号自动同步到你通讯录。谁是谁,一目了然。再也不怕“换了手机联系人全没了”。
想用的功能,自己装
亲友团AI只保留最核心的通讯能力。如果你想买票、比价、订酒店,去插件市场下载就行——就像给手机装App一样。用完就关,不占内存,也不后台偷跑。所有插件都在本地沙箱运行,安全可控。
即使没网,也能联系
在野外、地下室、地铁里,只要你们在同一局域网,或者蓝牙范围内,就能发消息、传文件。亲友团AI会帮你自动建立连接。
亲友团AI,不是一个要取代谁的巨无霸。
它只是想还你一个干净的、私密的、真正属于你和亲友的空间。
如果你也厌倦了每天在广告和垃圾信息里翻找家人的消息,如果你还在乎那点珍贵的隐私,如果你想让通讯工具变回工具——
亲友团AI。
从今天起,只和重要的人,说重要的话。
————————
以下是完整的详细技术方案和源代码(任何人都可以免费使用)
亲友团AI 详细技术方案
1. 引言
1.1 背景与目标
亲友团AI是一款完全去中心化、隐私优先、本地智能的私密社群通讯工具。它旨在替代传统即时通讯软件(如微信)在家庭、亲友、同事等小范围群体中的使用,消除中心服务器带来的隐私泄露风险、广告骚扰、功能冗余等问题。核心目标包括:
-
零信任架构:无中心服务器,所有数据仅存储于用户设备。
-
真实身份社交:使用真实姓名和手机号作为唯一标识,加好友自动同步信息,无需手动备注。
-
模块化功能:基础APP仅包含通讯与核心智能,扩展功能通过插件市场按需安装。
-
端到端安全:所有通信加密,身份基于公钥体系,防冒充防篡改。
-
本地智能体:端侧AI理解用户指令,执行购票、购物、搜索等任务,保护隐私。
1.2 设计原则
-
去中心化:不依赖任何中心服务器,使用P2P网络实现所有功能。
-
隐私计算:用户数据本地处理,不上传云端;AI推理在端侧完成。
-
模块化:核心与插件解耦,插件运行于沙箱,保证系统安全。
-
易用性:扫码加好友、自动同步信息,降低使用门槛。
2. 总体架构
2.1 分层架构图
表现层(UI) │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 聊天界面 │ │ 联系人列表 │ │ 插件市场UI │ │ 设置界面 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ ├─────────────────────────────────────────────────────────────────┤ │ 应用逻辑层 │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 联系人管理 │ │ 消息管理 │ │ 群组管理 │ │ 状态同步 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 本地智能体 │ │ 插件管理器 │ │ 搜索服务 │ │ 自动化规则 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ ├─────────────────────────────────────────────────────────────────┤ │ 核心服务层 │ │ ┌─────────────────────┐ ┌─────────────────────────────────────┐ │ │ │ 身份与密钥管理 │ │ P2P通信引擎(libp2p) │ │ │ └─────────────────────┘ └─────────────────────────────────────┘ │ │ ┌─────────────────────┐ ┌─────────────────────────────────────┐ │ │ │ 加密存储(SQLCipher)│ │ 插件沙箱(WebAssembly/JS) │ │ │ └─────────────────────┘ └─────────────────────────────────────┘ │ ├─────────────────────────────────────────────────────────────────┤ │ 基础设施层 │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 操作系统 │ │ 网络栈 │ │ 文件系统 │ │ 安全硬件 │ │ │ │ (Android/iOS/...) │ (TCP/UDP)│ │ │ │ (Keystore) │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │
2.2 技术栈选型
| 层次 | 技术组件 | 说明 |
|---|---|---|
| UI层 | Flutter 3.x | 跨平台,一套代码覆盖移动端和桌面端 |
| 状态管理 | Riverpod / Bloc | 响应式状态管理 |
| P2P通信 | libp2p (Go-IPFS或Rust-libp2p封装) | 提供NAT穿透、DHT、加密传输、多路复用 |
| 本地数据库 | SQLCipher (SQLite加密扩展) | 加密存储联系人、消息、元数据 |
| 文件存储 | 分块加密 + 文件系统 | 大文件分块存储,每个块AES-256-GCM加密 |
| 密钥管理 | Android Keystore / iOS Keychain | 存储私钥,永不导出 |
| 端侧AI | TensorFlow Lite / MediaPipe | 运行意图识别、语音识别、文本生成模型 |
| 插件沙箱 | Wasmtime (WebAssembly) + QuickJS | 插件运行于隔离环境,通过API与核心交互 |
| 浏览器自动化 | Puppeteer (headless Chromium) | 用于购票、比价等需要模拟浏览器的插件 |
| 网络辅助 | STUN/TURN (coturn) | 公共STUN服务器,用户可自建TURN中继 |
3. 核心模块详细设计
3.1 身份与密钥管理
3.1.1 用户身份生成
-
首次启动时,生成Ed25519密钥对(长期身份密钥)。
-
私钥使用设备安全硬件存储(Android Keystore / iOS Keychain),并绑定用户生物认证(指纹/面容)或锁屏密码。
-
公钥哈希作为用户唯一ID(
peer_id)。 -
同时生成一组用于X3DH的带密钥(Signed Prekey、One-time Prekeys),定期轮换。
3.1.2 真实身份绑定
-
用户输入真实姓名、手机号。
-
手机号验证:通过短信验证码(点对点通道)或物理碰一碰(蓝牙/NFC)验证。短信验证使用公共短信网关?不,去中心化下可借用第三方服务,但这不是核心依赖;也可让用户通过其他已信任的亲友代为验证(信任传递)。
-
真实姓名和手机号用私钥签名后存储于本地,交换时通过加密通道发送给对方,对方用公钥验证签名确保未被篡改。
3.1.3 联系人表结构(SQLCipher)
CREATE TABLE contacts (
peer_id TEXT PRIMARY KEY, -- 公钥哈希
public_key BLOB NOT NULL, -- 原始公钥
name TEXT NOT NULL, -- 真实姓名
phone TEXT, -- 手机号
avatar BLOB, -- 头像图片(可选)
added_time INTEGER NOT NULL, -- 添加时间戳
group_id TEXT NOT NULL, -- 所属分组ID(外键)
custom_note TEXT, -- 自定义备注(如“爸爸”)
permission_flags INTEGER DEFAULT 0, -- 权限位:0x01可见状态,0x02可见手机号...
last_seen_address TEXT, -- 最近已知网络地址(IP:port)
online_status INTEGER DEFAULT 0, -- 0离线 1在线 2未知
last_heartbeat INTEGER DEFAULT 0, -- 最后心跳时间
FOREIGN KEY(group_id) REFERENCES groups(id)
);
3.2 通讯与状态同步
3.2.1 P2P连接建立
-
使用libp2p作为底层通信库,支持TCP、WebRTC、QUIC等多种传输。
-
每个节点启动时,通过STUN获取公网地址(
/ip4/x.x.x.x/tcp/yyyy),并发布到DHT(分布式哈希表)作为对等点地址。 -
添加好友时,通过二维码交换临时地址,双方直接连接;后续可通过DHT查找对方最新地址。
3.2.2 消息传输协议
-
消息格式:protobuf 或 CBOR 序列化,包含消息ID、类型、内容、时间戳、发送者签名。
-
加密:每条消息使用会话密钥(通过X3DH协商,派生自长期密钥和临时密钥)进行AEAD加密(AES-256-GCM)。
-
可靠传输:基于libp2p的Stream复用,提供有序可靠传输;文件传输可分块使用独立的流。
3.2.3 离线消息处理
-
当目标节点离线时,发送方将消息持久化到本地“待发送队列”。
-
对方上线后,通过状态更新通知发送方,发送方尝试重传。
-
若双方同时离线,可利用中间在线节点暂存?这引入中心化风险,因此不采用;可让发送方周期性重试(指数退避),直到超时(默认7天)删除。
3.2.4 在线状态检测(去中心化)
-
每个节点每隔30秒向所有在线联系人发送签名心跳(包含递增序列号)。
-
节点收到心跳后,更新本地联系人状态为在线,记录
last_heartbeat。 -
若超过3分钟未收到某联系人心跳,则标记为离线。
-
状态变更时,可发送通知(可选),但不强求,因为UI可轮询本地数据库。
优化:对于群组规模较大(>50人),改用Gossip协议传播状态,减少O(n²)消息量。
3.3 分组与权限管理
-
分组表:
sql语句: CREATE TABLE groups ( id TEXT PRIMARY KEY, -- UUID name TEXT NOT NULL, -- 分组名称 type TEXT DEFAULT 'custom', -- preset/custom permission_flags INTEGER DEFAULT 0, -- 默认权限 created_time INTEGER );
-
预设分组:家人、亲友、单位、朋友,系统创建,不可删除。
-
权限控制:每个联系人的权限由
permission_flags字段控制(位掩码),也支持分组默认权限。权限包括:-
允许查看在线状态
-
允许查看手机号
-
允许查看真实姓名
-
允许向我发起群聊
-
允许自动下载文件
-
-
当联系人有冲突时,以联系人独立权限为准。
3.4 本地智能体(基础版)
3.4.1 架构
-
基于TensorFlow Lite运行多个模型:
-
语音识别:whisper.cpp 或 WeNet 端侧模型,将用户语音指令转为文本。
-
意图识别:BERT-tiny 模型,识别用户意图(如“提醒”“购票”“搜索”)。
-
实体抽取:抽取时间、地点、人物等实体。
-
文本生成:Gemini Nano 或 Phi-2 端侧模型,用于生成回复、总结。
-
-
模型文件存储在应用私有目录,初次启动时下载(用户可选择仅Wi-Fi下载)。
-
所有推理在后台线程执行,不影响UI。
3.4.2 功能实现
-
提醒设置:识别聊天中的时间事件,调用系统日历API添加提醒(需用户确认)。
-
自动化规则:用户可配置IFTTT风格规则(如“当位置到家时,给家人发消息”),基于系统广播(地理位置变化)触发。
-
简单问答:基于本地知识库(联系人信息、聊天记录向量化)回答关于亲友的问题(如“妈妈的生日是什么时候”)。
3.5 互联网搜索(基础版)
-
使用公开搜索引擎API(如DuckDuckGo HTML API)或自建代理(但需服务器,故不采用)。实际实现可集成本地爬虫,但效率低。
-
替代方案:用户可配置自定义搜索模板(如
https://html.duckduckgo.com/html/?q={query}),APP发起HTTP请求并解析结果。 -
搜索结果在本地渲染,不经过任何中间服务器。
-
搜索历史可选加密存储。
4. 插件市场设计
4.1 插件包格式
-
插件以
.qap(Qinyou App Package)为后缀,实际为ZIP压缩包。 -
包含文件:
-
manifest.json:插件元数据(名称、版本、作者、权限声明、入口文件) -
main.js:插件主逻辑(JavaScript) -
icon.png:插件图标 -
wasm/:可选WebAssembly模块 -
assets/:资源文件
-
4.2 插件清单示例(manifest.json)
{
"id": "com.qinyouai.ticket",
"name": "购票助手",
"version": "1.0.0",
"author": "亲友团官方",
"permissions": [
"network",
"contacts:read",
"calendar:write",
"payment"
],
"entry": "main.js",
"wasm": ["ocr.wasm"],
"description": "查询和购买机票、火车票、电影票"
}
4.3 插件沙箱与API
-
插件运行于隔离环境:使用QuickJS(轻量JS引擎)或Wasmtime(WebAssembly)执行。
-
核心暴露API给插件,通过RPC调用:
-
qy.api.sendMessage(peerId, content):发送消息 -
qy.api.getContacts():获取联系人列表(需权限) -
qy.api.httpRequest(url, options):发起HTTP请求(需网络权限) -
qy.api.storage.get(key)/set(key, value):插件私有存储 -
qy.api.pay(amount, description):调起支付(需用户生物认证) -
qy.api.ui.showCustomView(view):在聊天区域显示自定义UI
-
-
所有API调用经过权限检查,若插件未声明权限则拒绝。
4.4 插件分发与更新
-
插件市场:插件列表由社区维护,但无中心服务器。可采用以下方案:
-
每个插件发布者生成一个插件包,签名后上传到IPFS(星际文件系统)或通过P2P网络共享。
-
插件市场本身是一个特殊的群组,用户订阅后接收插件更新通知。
-
用户点击安装时,从IPFS或P2P网络下载插件包,验证发布者签名(信任模型基于社交网络:可信任亲友推荐的插件)。
-
-
更新机制:插件开发者可发布新版本,通过群组广播更新通知,APP自动下载更新(用户可配置自动/手动)。
4.5 插件示例实现
4.5.1 购票插件
-
利用本地浏览器自动化(Puppeteer headless)访问票务网站。
-
但移动端无法直接运行Chromium,可改用轻量级浏览器引擎(如WebView),在插件沙箱外启动一个单独进程运行自动化脚本。
-
支付通过调用
qy.api.pay,跳转系统支付框架。
4.5.2 比价插件
-
使用
qy.api.httpRequest访问电商网站API(需解析HTML,可使用Cheerio在插件内解析)。 -
商品信息展示使用插件自定义UI组件(基于Flutter渲染或HTML/CSS)。
5. 安全与隐私
5.1 加密体系
-
身份密钥:Ed25519,用于签名所有消息和身份认证。
-
会话密钥:通过X3DH协议协商,使用Curve25519椭圆曲线,提供完美前向安全。
-
消息加密:AES-256-GCM,每个消息使用独立随机nonce。
-
文件加密:每个文件分块(如1MB),每块随机生成密钥,使用AES-256-GCM加密,密钥通过消息通道发送(用会话密钥加密)。
-
本地存储:数据库使用SQLCipher(256-bit AES),密钥派生自用户锁屏密码+随机盐,存储于KeyStore。
5.2 身份认证与防冒充
-
所有消息必须包含发送者签名(Ed25519),接收方用本地存储的公钥验证。
-
添加好友时,双方交换公钥并通过物理方式(扫码)确认,防止中间人攻击。
-
联系人信息更新(如手机号变更)需要签名,且需原手机号验证(通过短信或已有信任链)。
5.3 隐私保护机制
-
零数据收集:APP不收集任何分析数据。
-
权限最小化:插件权限由用户授予,且运行时沙箱隔离。
-
匿名搜索:搜索请求可通过Tor或用户自配代理转发(可选)。
-
敏感信息脱敏:在UI显示手机号时,默认部分掩码(如138****1234),点击可展开。
5.4 支付安全
-
不存储任何支付密码或银行卡信息。
-
支付时调起系统支付(Apple Pay / Google Pay)或第三方支付SDK(支付宝/微信),通过Intent传递商品信息,支付结果通过回调返回。
-
支付授权需用户生物认证。
6. 数据存储
6.1 数据库设计(SQLCipher)
-
主要表:
-
contacts:联系人信息 -
groups:分组信息 -
messages:消息记录(含群聊) -
files:文件元数据 -
pending_outbox:待发送消息队列 -
plugin_data:插件私有数据(JSON) -
settings:用户设置
-
-
所有敏感字段(如消息内容)在存入前加密(使用AES-256-GCM,密钥来自数据库主密钥)。
6.2 文件存储
-
文件存储路径:
/storage/emulated/0/Android/data/com.qinyouai/files/(Android)或沙盒目录(iOS)。 -
文件分块:例如每块1MB,块文件名为
{file_id}_{chunk_index}.enc。 -
元数据:记录总块数、每块哈希、加密密钥(加密后存入数据库)。
-
自动清理:可设置自动清理超过一定时间的文件(如30天)。
6.3 备份与迁移
-
用户可在设置中导出加密备份包(.qbak),包含数据库文件和文件目录的加密归档。
-
备份密码由用户设定,使用Argon2id派生密钥加密。
-
恢复时,导入备份包,输入密码解密,覆盖当前数据。
7. 网络通信细节
7.1 NAT穿透策略
-
使用libp2p的AutoNAT和Hole Punching机制。
-
每个节点定期通过STUN服务器获取公网地址,并更新到DHT。
-
当两个节点无法直连时,尝试利用第三方节点进行中继(TURN),中继流量加密,用户可自建TURN服务器。
-
备选方案:WebRTC的ICE框架,集成了STUN/TURN。
7.2 DHT(分布式哈希表)
-
用于存储节点当前公网地址(键为peer_id,值为multiaddress)。
-
使用libp2p的Kademlia DHT实现。
-
DHT网络需要初始引导节点,可内置几个公共引导节点(由社区维护),也可通过用户已添加的亲友逐步引导。
7.3 离线消息存储
-
待发送消息队列表结构:
CREATE TABLE pending_messages ( id INTEGER PRIMARY KEY, target_peer_id TEXT NOT NULL, message BLOB NOT NULL, -- 已加密消息 created_time INTEGER, retry_count INTEGER DEFAULT 0, next_retry_time INTEGER );后台服务定期扫描待发送消息,对在线目标尝试发送,成功后删除;失败则更新
next_retry_time(指数退避)。
8. 用户界面与交互设计要点
8.1 主要界面
-
首页:聊天列表,置顶常用联系人,显示最后消息时间和未读计数。
-
联系人:分组列表,每个分组可展开收缩;联系人头像旁显示在线状态。
-
扫一扫:相机扫码,展示自己二维码,历史记录。
-
插件市场:插件列表,分类,安装/卸载按钮。
-
设置:账号管理、隐私设置、网络设置、备份恢复、关于。
8.2 交互细节
-
加好友流程:扫码后弹出对方真实姓名和手机号(掩码),确认后选择分组,一键完成。
-
插件集成:已安装插件会在聊天输入框上方显示快捷入口(如“订票”“比价”),点击拉起插件界面。
-
状态指示:联系人列表绿点/灰点,群聊中成员列表旁显示状态。
8.3 设计规范
-
色彩:主色调暖橙(#FF7F50),辅助色清新绿(#2ECC71),背景白色,字体深灰。
-
图标:统一线性风格,圆角设计。
-
动效:适度,如扫一扫成功时的震动反馈,消息发送动画。
9. 性能与优化
9.1 电量优化
-
心跳间隔自适应:根据用户活跃度和网络状态调整,如屏幕关闭时延长心跳间隔。
-
后台服务使用WorkManager(Android)和BGTaskScheduler(iOS),限制频率。
-
文件传输仅在前台或充电时进行。
9.2 内存与存储
-
消息分页加载,每次加载20条。
-
图片缩略图缓存,原图按需下载。
-
定期清理过期的临时文件和待发送队列中的超时消息。
9.3 网络优化
-
使用Protocol Buffers减少消息体积。
-
文件传输启用断点续传,分块校验。
-
多路复用,减少连接建立开销。
10. 开发与部署
10.1 开发环境
-
IDE:Android Studio / Xcode / VS Code
-
语言:Dart (Flutter), Rust (libp2p桥接), Kotlin/Swift (平台特定代码)
-
构建工具:CocoaPods (iOS), Gradle (Android)
10.2 测试策略
-
单元测试:测试核心逻辑(如加密、数据库)。
-
集成测试:模拟P2P网络,测试多设备通信。
-
真机测试:覆盖不同品牌、Android/iOS版本。
10.3 分发渠道
-
官网和开源网站提供APK和IPA下载(企业签名或TestFlight)。
-
应用商店上架(可能因去中心化性质需特殊说明)。
11. 未来扩展
-
多设备同步:通过P2P同步消息历史和联系人,实现手机、平板、电脑多端登录。
-
端到端加密群组音视频通话:基于WebRTC的P2P通话。
-
分布式身份验证:结合区块链或DID,实现更灵活的身份恢复。
-
AI模型联邦学习:在保护隐私的前提下,通过P2P交换模型梯度,提升智能体能力。
-
插件开发工具:提供可视化插件构建器,降低开发门槛。
12. 总结
本方案详细描述了亲友团AI的技术架构与实现路径。通过采用libp2p、端侧AI、插件沙箱等前沿技术,构建了一个完全去中心化、隐私安全、可扩展的通讯平台。用户将重获数据主权,享受纯净的亲友沟通体验。方案可行且具有前瞻性,期待各位大佬将其转化为现实作品。
13.附件:亲友团AI —— 模块化功能清单
一、设计理念
亲友团AI采用模块化架构,基础核心APP仅包含最必要的通讯与身份管理功能,确保轻量、安全、易用。所有扩展功能(如购票、购物等)均通过插件市场按需下载安装,用户可自由组合所需能力,同时保持隐私数据完全本地化。
二、基础核心功能(安装即用)
1. 身份与账户管理
-
真实身份注册:首次启动时,用户输入真实姓名、手机号,APP生成Ed25519公私钥对,私钥加密存储于设备安全区域(Keystore/Keychain)。
-
手机号验证:通过短信验证码(点对点加密通道,无需服务器)或物理碰一碰验证,确保手机号真实性。
-
个人二维码:动态生成加密二维码(含公钥哈希、真实姓名哈希、临时网络地址、签名、时间戳),用于添加好友。
-
个人资料:可编辑头像、额外联系方式(如邮箱),真实姓名和手机号为不可修改的信任根。
2. 联系人管理(基于真实身份)
-
扫一扫加好友:
-
扫描对方二维码,发起P2P加密连接请求。
-
对方同意后,自动交换真实姓名、手机号、头像。
-
双方各自选择将对方归入分组(预设/自定义),无需手动备注。
-
-
联系人列表:按真实姓名显示,支持搜索、字母索引。
-
联系人详情:显示真实姓名、手机号、分组、添加时间、共享权限设置。
-
黑名单:屏蔽特定联系人,不再接收其消息和状态更新。
3. 分组管理
-
预设分组:家人、亲友、单位、朋友(不可删除,可重命名)。
-
自定义分组:用户可创建任意名称的分组(如“读书会”“项目A”),最多支持50个分组。
-
分组权限:
-
每个分组可独立设置权限:是否允许查看我的在线状态、是否允许查看我的手机号、是否允许向我发起群聊等。
-
支持批量移动联系人至其他分组。
-
4. 通讯功能
-
点对点聊天:
-
文本消息(支持表情、富文本)。
-
图片/视频发送(自动压缩,原图可选)。
-
文件传输(任何格式,支持断点续传,分块加密)。
-
语音消息(录制发送,自动转文字可选)。
-
消息已读/未读状态(基于P2P回执)。
-
-
群组聊天:
-
创建群组(最多50人),群成员必须互为好友。
-
群公告、群文件共享。
-
群聊消息同步基于Gossip协议,保证最终一致性。
-
-
在线状态感知:
-
联系人列表显示实时在线状态(绿点/灰点)。
-
状态更新基于签名心跳广播(默认30秒一次),超时自动标记离线。
-
5. 本地智能体(基础版)
-
语音唤醒:通过本地语音识别(whisper.cpp)唤醒智能体。
-
简单意图识别:理解常见指令,如“提醒我明天开会”“给妈妈发消息说我晚点到”。
-
自动化规则:预设规则引擎,支持条件触发(如“到家时自动给家人发消息”)。
-
本地日历集成:从聊天中识别日期事件,添加至本地日历(需用户确认)。
6. 互联网搜索(基础版)
-
文本搜索:通过搜索引擎公开API(可匿名化)查询信息,返回网页标题和摘要。
-
图片搜索:以图搜图,基于本地图片或拍照搜索。
-
视频搜索:按关键词搜索视频平台内容,返回视频链接(需用户手动跳转观看)。
-
搜索隐私设置:可开启“无痕模式”,不保存搜索历史。
7. 隐私与安全
-
端到端加密:所有消息、文件传输使用X3DH+Noise协议加密。
-
本地加密存储:数据库(SQLCipher)和文件分块加密,密钥派生自用户设备密码+随机盐。
-
权限管理:严格控制APP对系统权限的访问(如位置、通讯录仅在使用时询问)。
-
数据备份与恢复:支持导出加密数据包(需用户设置备份密码),用于迁移到新设备。
8. 设置与辅助
-
网络设置:STUN/TURN服务器配置(可自定义,默认使用公共节点)。
-
通知设置:消息提醒、声音、振动自定义。
-
存储管理:查看缓存文件大小,清理过期文件。
-
帮助与反馈:内置使用指南,问题反馈通道(通过P2P发送给开发者?需设计)。
三、插件市场(扩展功能)
1. 插件市场入口
-
在APP首页或侧边栏设有“插件市场”图标。
-
插件列表按分类展示(购票、购物、生活服务、工具等),支持搜索。
2. 插件下载与安装
-
插件以签名包形式发布(类似于APK,但运行于沙箱环境)。
-
点击安装,APP验证插件签名(防止篡改),提示所需权限(如“访问网络”“读取联系人信息”),用户确认后下载。
-
插件存储在应用私有目录,运行在独立的JavaScript沙箱(或WebAssembly环境)中,无法直接访问系统数据,只能通过API调用基础功能。
3. 插件管理
-
已安装插件列表:显示插件名称、版本、大小、权限。
-
启用/禁用:可临时关闭插件而不卸载。
-
卸载:彻底删除插件及其数据。
-
更新:当插件有新版本时,提示用户更新(需重新授权)。
4. 官方插件示例
4.1 购票插件
-
功能:
-
机票/火车票查询、比价、预订。
-
电影票选座、购买。
-
酒店预订。
-
-
实现:基于本地浏览器自动化(Headless Chromium)访问各大票务网站,或调用官方API(如有)。
-
权限:需要网络访问、读取联系人信息(用于填充乘机人)、读取日历(添加行程)、支付权限。
4.2 购物插件
-
功能:
-
多平台商品比价。
-
降价监控与提醒。
-
一键复购常购商品。
-
智能导购(根据用户偏好推荐)。
-
-
实现:爬取电商平台公开数据(遵守robots.txt),使用本地模型分析用户评论。
-
权限:网络访问、读取联系人信息(用于收货人)、支付权限。
4.3 生活服务插件
-
功能:
-
外卖点餐(根据口味推荐)。
-
打车服务(预估价格、叫车)。
-
天气查询(实时天气、空气质量)。
-
-
实现:调用公开API或爬取服务页面。
-
权限:网络访问、位置信息(可选)。
4.4 办公协作插件
-
功能:
-
文档协作(实时编辑本地文档,P2P同步)。
-
任务看板(创建任务,分配给群组成员)。
-
会议提醒(集成日历,发起语音会议)。
-
-
实现:基于CRDT算法实现多端同步,无需服务器。
-
权限:网络访问、读取联系人、文件读写。
5. 插件开发SDK(面向开发者)
-
提供JavaScript/TypeScript SDK,封装基础API:
-
通讯API:发送消息、获取联系人列表。
-
存储API:读写插件私有存储空间。
-
网络API:发起HTTP请求(需用户授权)。
-
UI API:在聊天窗口中插入自定义界面。
-
-
插件签名机制:开发者需注册并获得签名证书(通过P2P网络验证,去中心化)。
四、功能关系图
text
┌─────────────────────────────────────────────────────────────┐
│ 亲友团AI 基础核心 │
├─────────────────────────────────────────────────────────────┤
│ 身份管理 │ 联系人管理 │ 分组管理 │ 通讯功能 │ 基础智能体 │
│ 隐私安全 │ 互联网搜索 │ 设置辅助 │ 插件市场入口 │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────┐
│ 插件市场 │
├─────────────────┤
│ 购票插件 │ 购物插件 │ 生活服务插件 │ ... │
│ 办公插件 │ 工具插件 │ 自定义插件 │
└─────────────────┘
│
▼
┌─────────────────┐
│ 插件运行沙箱 │
│ (JS/Wasm 隔离) │
└─────────────────┘
五、版本规划
| 版本 | 包含功能 |
|---|---|
| v1.0(基础版) | 身份管理、扫一扫加好友、分组管理、点对点通讯、群聊、在线状态、基础搜索、隐私安全 |
| v1.1 | 插件市场上线,提供官方购票插件(测试版) |
| v1.2 | 增加购物插件、生活服务插件 |
| v1.3 | 开放插件SDK,支持第三方开发者上传插件 |
| v2.0 | 增强智能体能力,插件支持自动化任务编排 |
六、总结
亲友团AI通过模块化设计,实现了 “核心轻量,功能按需” 的产品理念。基础APP聚焦于真实身份社交和隐私通讯,插件市场则让用户自由扩展生活服务能力,所有功能均在本地运行,数据完全自主可控。这种设计既保证了核心体验的纯粹性,又为未来生态发展留下无限可能。
更多推荐


所有评论(0)