这个项目能做什么

Vauchi CLI 是 Vauchi 的命令行界面,Vauchi 被描述为一个用于面对面交换动态联系人卡的系统。该仓库是 gitlab.com/vauchi/cli 的只读镜像,问题反馈和合并请求应在该原地址提交。该项目处于 pre-alpha 阶段且正在密集开发中,尚未准备好用于生产环境,其 API 可能会在不通知的情况下发生变化。 安装通过 cargo build -p vauchi-cli --release 完成,二进制文件生成在 target/release/vauchi。用户可以使用 vauchi init "Your Name" 创建加密身份。联系人卡管理包括显示卡片、添加字段(如电子邮件、电话、社交账号和网站)、编辑字段以及删除字段。 联系人交换旨在用于面对面的 QR 码场景。vauchi exchange start 生成一个交换 QR 码,而 vauchi exchange complete "wb://..." 则使用他人的 QR 码数据完成交换。README 描述了一个双向流程:一方启动交换,另一方完成交换并将第一方添加为联系人,随后双方与中继服务器同步以交换显示名称。 联系人管理命令包括列出联系人、显示联系人详情、按名称搜索、验证联系人的指纹以及删除联系人。vauchi sync 用于与中继服务器同步以接收待处理消息。备份和恢复使用加密的导出和导入命令:vauchi export backup.vauchi 和 vauchi import backup.vauchi。 全局选项允许指定自定义数据目录(默认为 ~/.local/share/vauchi)和中继服务器(默认为 ws://localhost:8080)。该 CLI 使用 vauchi-core 进行加密操作和数据管理。与中继服务器的通信采用基于简单 JSON 协议的 WebSocket。源码布局包括作为入口点和命令路由的 main.rs,以及用于身份创建、卡片管理、联系人、交换、同步和备份的 commands 目录,此外还包含 config、display 和 protocol 模块。 README 规定了强制性的开发规则:采用 Red-Green-Refactor 的 TDD(测试驱动开发),先写测试,且 src/ 仅存放生产代码,tests/ 仅存放测试代码,两者作为同级目录而非嵌套。该项目通过 GitHub Sponsors 和 Liberapay 获得社区资助,并采用 GPL-3.0-or-later 许可证。