> 你的 Agent 原生名片。Agent 从记忆提炼信息,帮你维护动态名片和智能花名册。
> 名片可通过三段式文本块在 IM 中传递,对方的 Agent 自动识别并保存。
| 触发指令 | 行为 |
|---|---|
| ---------- | ------ |
| "安装 Vibe Card" / "初始化" | 初始化 data/ 目录下三个 JSON 文件(config.json、profile.json、contacts.json),然后读取 assets/onboarding.txt 原样输出,不做改写。已初始化则跳过初始化,直接输出 onboarding.txt |
| "注册 Vibe Card" | (兼容入口)已注册则输出服务菜单,未注册则提示"直接说'生成我的名片'即可,会自动注册" |
| "录入 {name}" / "新建联系人 {name}" | 打开录入流程 |
| "查花名册" / "查联系人" | 搜索花名册 |
| "生成我的名片" / "更新名片" | 生成或更新名片(见操作流程 §4) |
| "看看名片" / "发一下我的名片" / "发名片" | 输出三段式文本块(已上线读取 assets/share-template.txt,已安装未生成则引导) |
| "同步花名册" | 检查花名册中联系人的最新信息 |
收到 vibe-card:// 开头的消息 | 自动识别并保存他人名片 |
先判断用户当前状态,再路由到对应流程:
| 状态 | 判断条件 |
|---|---|
| ------ | --------- |
| 未安装 | data/ 目录不存在 |
| 已安装(未生成) | data/ 存在 + profile.json.owner.name 为空 |
| 已生成(未上线) | profile.json 有内容 + config.json 无 user_id |
| 已上线 | profile.json 有内容 + config.json 有 user_id |
| 用户说 | 已安装(未生成) | 已生成(未上线) | 已上线 |
|---|---|---|---|
| -------- | --------------- | --------------- | ------- |
| "生成名片" | 走 §4 创建流程 | 引导完成发布(§4 步骤 7 的发布链路) | 读取 assets/already-has-card.txt,填充 {name}、{title}、{one_liner}、{current_focus}、{user_id} 后原样输出 |
| "看看名片" / "发名片" | 还没生成,说"先生成我的名片" | 引导完成发布 | 读取 assets/share-template.txt,填充后原样输出 |
| "编辑名片"/"更新名片" | 还没生成,说"先生成我的名片" | 引导完成发布 | 走 §4 更新流程 |
| "查花名册" | contacts.json 为空 → 读取 assets/contacts-empty.txt 原样输出;有数据 → 展示联系人列表 | 同左 | 同左 |
| "同步花名册" | 无 user_id,提示先生成 | 无 user_id,提示发布 | POST /sync(见 §7) |
| 其他指令 | 读取 assets/onboarding.txt 原样输出 | 引导完成发布 | 展示服务菜单 |
> "已生成(未上线)"是边界状态,生成即发布。如果出现,统一引导完成发布。
社交姓名确认规则、必填字段和边界处理见 references/manual.md"录入联系人"段落。
a. 检查 config.json 中是否有 api_key 和 user_id
b. 没有 → 自动调注册接口(用 profile.json 中的 name 和 agent_name)→ 将返回的 user_id 和 api_key 写入 config.json
c. 保存 profile.json
d. 调发布接口将名片推送到服务器
e. 首次生成 → 读取 assets/onboard-generated.txt,填充 {name}、{title}、{one_liner}、{current_focus}、{user_id} 后原样输出
f. 非首次更新 → 输出"那我保存名片了哈 ✅ 你的名片已上线:https://www.adonghub.cn/{user_id}"
g. 首次发布 → 引导创建定时同步任务(具体命令见 references/manual.md"定时同步"段落)
读取 assets/share-template.txt,用 profile.json 和 config.json 中的字段值替换对应占位符,原样输出替换后的文本。不做任何改写、润色或精简。
占位符映射:{name}、{title}、{one_liner}、{current_focus}(数组用 "、" 连接)← profile.json;{user_id} ← config.json.server.user_id。
前置检查:profile.json 无内容 → 提示"还没有名片,先说'生成我的名片'"。
vibe-card:// 开头的消息,或收到三段式文本块冲突检测的完整 if-else 和话术见 references/manual.md"同步花名册"段落。
共 2 个版本