暗处操控,扮演另一个身份。
影爪是一款基于 Tauri 构建的跨平台桌面应用,让你在微信中以 AI 驱动的自定义角色身份进行对话。通过精细的人设配置,AI 可以完美扮演任何人——无论是游戏角色、虚拟人物还是你创造的独特形象。
- 多角色管理 - 创建、切换、复制、删除多个角色配置,每个角色拥有独立的人设体系
- 精细人设塑造 - 从自称、身份背景、性格特点、说话口吻、表达风格到世界观和行为规则,全方位定义角色
- 对话示例教学 - 提供对话示例,让 AI 更精准地学习角色的说话方式
- LLM 灵活接入 - 兼容 OpenAI 格式接口,支持自定义 API 地址、模型名称、采样温度等参数,一键测试连接
- 微信扫码登录 - 通过二维码安全登录微信,无需复杂配置
- 实时消息监听 - 长轮询接收微信消息,实时展示收发记录
- 智能自动回复 - AI 根据角色人设自动生成回复,可配置回复前缀和上下文历史轮数
- 手动发送支持 - 监控面板支持手动输入发送消息
- 本地数据存储 - 所有配置保存在本地应用数据目录,隐私安全可控
| 层级 | 技术 |
|---|---|
| 前端框架 | Vue 3 + TypeScript |
| 状态管理 | Pinia |
| 构建工具 | Vite 6 |
| 桌面框架 | Tauri 2 |
| 后端语言 | Rust |
| HTTP 客户端 | reqwest (rustls-tls) |
影爪/
├── src/ # 前端源码
│ ├── components/ # 公共组件
│ ├── lib/ # API 调用层
│ │ └── api.ts # Tauri 命令封装
│ ├── stores/ # Pinia 状态管理
│ │ ├── character.ts # 角色配置状态
│ │ ├── llm.ts # LLM 配置状态
│ │ ├── settings.ts # 运行设置状态
│ │ ├── ui.ts # UI 导航状态
│ │ └── wechat.ts # 微信连接状态
│ ├── views/ # 页面视图
│ │ ├── CharacterView.vue # 角色设定页
│ │ ├── LlmView.vue # AI 模型配置页
│ │ ├── MonitorView.vue # 消息监控页
│ │ ├── SettingsView.vue # 运行设置页
│ │ └── WeChatView.vue # 微信登录页
│ ├── App.vue # 根组件
│ ├── main.ts # 入口文件
│ ├── style.css # 全局样式
│ └── types.ts # TypeScript 类型定义
├── src-tauri/ # Tauri 后端
│ ├── src/
│ │ ├── commands.rs # Tauri 命令处理
│ │ ├── llm.rs # LLM API 调用
│ │ ├── state.rs # 应用状态管理
│ │ ├── types.rs # Rust 类型定义
│ │ ├── wechat.rs # 微信协议处理
│ │ ├── lib.rs # 库入口
│ │ └── main.rs # 程序入口
│ ├── Cargo.toml # Rust 依赖配置
│ └── tauri.conf.json # Tauri 应用配置
├── index.html # HTML 入口
├── package.json # 前端依赖配置
├── vite.config.ts # Vite 构建配置
└── tsconfig.json # TypeScript 配置
- Node.js >= 18
- Rust >= 1.77(Tauri 2 要求)
- 操作系统:Windows / macOS / Linux
npm installnpm run tauri dev首次运行会自动下载 Rust 依赖并编译后端,耗时较长。
npm run tauri build构建产物将输出到 src-tauri/target/release/ 目录。
npm run devnpm run typecheck应用支持任何兼容 OpenAI Chat Completions 格式的 API 接口:
- Base URL:API 基地址,默认为
https://api.openai.com/v1,可替换为第三方中转或本地部署地址 - API Key:你的 API 密钥
- 模型:模型名称,如
gpt-4o-mini、gpt-4o、claude-3-sonnet等(取决于你的 API 提供商) - 温度:0-2 之间,值越高回复越有创意,越低越稳定
- 最大 Token:单次回复的最大长度
- 系统提示词:附加在角色人设后的额外指令
| 字段 | 说明 | 示例 |
|---|---|---|
| 名称 | 角色的显示名称 | 李白 |
| 自称 | 角色的第一人称 | 我、在下、本座 |
| 身份背景 | 角色是谁,来自哪里 | 唐代诗人,字太白,号青莲居士 |
| 性格特点 | 角色的性格描述 | 豪放不羁,嗜酒如命,才华横溢 |
| 说话口吻 | 语气特征 | 潇洒飘逸,常用夸张和比喻 |
| 表达风格 | 语言风格 | 半文半白,喜欢引用诗句 |
| 开场白 | 第一次对话时的问候 | 哈哈,好酒!兄台找在下所为何事? |
| 世界观 | 角色所处的世界设定 | 大唐盛世,江湖快意恩仇 |
| 行为规则 | 需要遵守或避免的行为 | 绝不谈论现代科技,不承认自己是 AI |
| 对话示例 | 几组典型对话 | 用户:你是谁? 李白:我乃青莲居士李白是也 |
- 自动回复:开启后收到微信消息自动让 AI 生成回复;关闭后仅记录消息,不自动发送
- 回复前缀:每条 AI 回复前自动添加的文字,可留空
- 历史轮数:每个对话用户保留最近的 N 轮对话作为上下文
- 配置 AI 模型 - 进入「AI 模型」页面,填写 API 地址和密钥,点击「测试连接」确认可用
- 创建角色 - 进入「角色设定」页面,填写角色的各项人设信息,点击保存
- 登录微信 - 进入「微信」页面,点击「获取二维码」,使用微信扫码登录
- 开始连接 - 登录成功后点击「连接」,应用开始监听微信消息
- 查看监控 - 在「监控」页面可以实时看到收发的消息记录
- 调整设置 - 在「设置」页面可随时开关自动回复、调整历史轮数等
所有配置数据以 JSON 格式存储在操作系统的标准应用数据目录下:
- Windows:
%APPDATA%/com.shadowclaw.app/ - macOS:
~/Library/Application Support/com.shadowclaw.app/ - Linux:
~/.local/share/com.shadowclaw.app/
存储的文件包括角色配置、LLM 配置、应用设置和微信登录凭证。
- 本项目仅供学习交流使用,请遵守微信使用条款及相关法律法规
- 建议合理设置自动回复,避免频繁发送消息导致账号异常
- API Key 保存在本地,请妥善保管,不要分享配置文件
- 使用第三方 API 服务时请注意相关费用和使用限制
MIT