← 开源
wangxijie001

yoji

有情绪的 AI 桌面伴侣 | 隐私优先 · 语音唤醒 · 协助办公 · MCP 无限扩展 | An AI desktop companion with emotions — privacy-first, voice wake, office assistance, and MCP extensibility

ApplicationsPersonalProductivityTypeScript
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
666
Star
111
Fork
+2
本周
0
贡献者
创建于 2026-06-24 · 更新于 2026-10-14 · 今日第 15276 名

wangxijie001/yoji 排名第 15,276,有 666 个星标。

同类别比较

wangxijie001/yoji 排名第 15,276,此处有 8 个同类条目;xszyou/fay-ue5 排名第 15,277。

同类别比较
名称排名指标
yacoubb/stock-trading-ml15,244
语言:
Python
星标数:
669
分叉数:
250
简介:
A stock trading bot that uses machine learning to make price predictions.
cesarhuret/docGPT15,259
语言:
JavaScript
星标数:
667
分叉数:
92
简介:
ChatGPT directly within Google Docs as an Editor Add-on 📑
loocor/codmate15,261
语言:
Swift
星标数:
667
分叉数:
40
简介:
CodMate is a macOS SwiftUI app for managing CLI AI sessions: browse, search, organize, resume, and review work produced by Codex, Claude Code, and Gemini CLI. It focuses on speed, a compact three-column UI, and “ship it” workflows like Project Review (Git Changes) and one-click Resume/New.
OwlAIProject/Owl15,266
语言:
Python
星标数:
666
分叉数:
56
简介:
A personal wearable AI that runs locally
xszyou/fay-ue515,277
星标数:
666
分叉数:
128
简介:
可对接fay数字人的ue5工程
Musheer360/SwiftSlate15,279
语言:
Kotlin
星标数:
665
分叉数:
68
简介:
Android accessibility service for AI-powered text transformation
conor19w/Binance-Futures-Trading-Bot15,282
语言:
Python
星标数:
665
分叉数:
196
简介:
A Technical Analysis Bot that trades leveraged USDT futures markets on Binance.
zgsfsec/DeepSeekSelfTool15,306
语言:
Python
星标数:
664
分叉数:
100
简介:
首个由DeepSeek独立开发的AI网络安全工具箱
关键参数与规格
关键参数与规格
参数值
语言TypeScript
类别Applications
子类别Personal,Productivity
关键词LocalAI, MCP, Speech-to-text, Text-to-speech
星标数666
分叉数111
贡献者0
创建日期2026-06-24
更新日期2026-10-14
1 天星标数0
7 天星标数2
排名15,276
上次排名15,097
排名变化-179
7 天星标排名8,651
上次 7 天星标排名8,709
7 天星标排名变化58
总星标排名15,460
上次总星标排名15,435
总星标排名变化-25
README 摘录

Fetch MCP 直接抓取转 Markdown **AI 自己也能装**:告诉它"帮我加个查天气的工具",它自己找、自己测、自己装(你点同意就行) **工坊自定义 Agent**:在工坊页面自行创建子 Agent,设定角色、提示词、MCP 工具集,AI 自动识别并调度 子

Agent 架构确保**装再多工具也不影响对话质量** MCP 不是"插件系统",是开放的行业标准协议。 ⚡ 子 Agent 系统:同步 + 异步 官方的子 Agent 是阻塞式的,异步版本又强依赖云端 Server。 空闲休眠,不占 CPU **并发控制**:最多同时 5

个子 Agent,同一 Agent 互斥执行 **任务取消**:支持手动(UI 一键取消)和 AI 自主( 工具)两种方式,排队中直接移除,执行中即时中断 **MD5 版本缓存**:配置 + MCP 版本哈希,变化重建,未变化秒级复用 **独立线程隔离**:每次任务

UUID 独立 thread,跑完清空 checkpoint,不污染主对话 **结果持久化**:SQLite 存储,7 天自动过期,IPC 实时通知 官方的 async subagent 要 Server。 md(启动即加载) | | **对话快照** | 每次聊天的完整上下文 | SQLite Checkpoint | | **语义记忆** | 长期对话的摘要 + 向量检索 | sqlite-vec

向量数据库 | 聊得越多,它越懂你。 📁 项目结构 🚀 快速开始 要求 **pnpm 11**, electron / 模型下载慢? 填写名称、描述(告诉 AI 这个 Agent 是干什么的)、系统提示词(Agent 的人设和输出要求) 3. 选择同步还是异步: **同步**:即时执行(读文件

、跑命令、调 MCP),结果立等可取 **异步**:后台执行(联网搜索、批量处理),不打断当前对话 4. 保存后在「模型」或「MCP」页面启用,Agent 自动重建并识别 AI 会自动感知你创建的子 Agent,在合适的时候调度它们干活。

常见问题

记录了多少星标和分叉?

wangxijie001/yoji 有 666 个星标和 111 个分叉。

仓库排名是多少?

wangxijie001/yoji 排名第 15,276。

记录的语言和类别是什么?

wangxijie001/yoji 有 666 个星标,语言为 TypeScript,类别为 Applications。

哪个仓库排名最接近?

wangxijie001/yoji 与 xszyou/fay-ue5 比较,后者排名第 15,277,有 666 个星标。

README

Yoji — 你的桌面 AI 伙伴

English

Yoji 不止是一个聊天机器人。它能操作你的电脑——管理文件、运行脚本、搜索网络、调用外部 API,同时拥有持续进化的"人格"和"情绪"。所有数据都在本地,隐私牢牢握在你手里。

她会的很多,也懂得不少。但初次见面时,她还需要一点时间适应你的节奏,了解你的偏好。你可以通过工坊定制她的能力、MCP 扩展她的工具集;也可以在聊天中直接告诉她要记住哪些重要信息、遵循怎样的行为准则——说句话就能写进 Skills。最终她会变成什么样子,全看你怎么带。


✨ 它能做什么

🖥️ 操控你的电脑

Yoji 可以直接与你的操作系统交互。这不是"模拟点击",而是真正的权限——

  • 文件管理:创建、编辑、搜索、整理你的文件和文件夹,比 Finder 更快
  • 运行脚本:执行 Shell 命令、Python 脚本,自动完成批量任务
  • 联网搜索:遇到不懂的自动上网查,把结果整理好给你
  • 智能审批:涉及敏感操作(如执行命令)会弹窗让你确认,安全可控

🔌 无限扩展能力 (MCP)

接入 Model Context Protocol 生态,Yoji 的能力理论上是无上限的:

  • 想查火车票?装一个 12306 MCP 服务器,10 秒搞定
  • 想搜菜谱?接一个菜谱 MCP,今晚吃什么不用纠结
  • 想看网页?Fetch MCP 直接抓取转 Markdown
  • AI 自己也能装:告诉它"帮我加个查天气的工具",它自己找、自己测、自己装(你点同意就行)
  • 工坊自定义 Agent:在工坊页面自行创建子 Agent,设定角色、提示词、MCP 工具集,AI 自动识别并调度
  • 子 Agent 架构确保装再多工具也不影响对话质量

MCP 不是"插件系统",是开放的行业标准协议。任何符合 MCP 规范的服务都可以接入,AI 能力边界由你决定。

🎤 语音播报(TTS)

像真人在你耳边说话——目前仅支持 macOS。

  • 流式朗读 AI 的回复,边说边播不等待
  • Markdown 自动清洗,只读纯文本,不会念出 *斜体* 和 **加粗**
  • 智能分句断句,节奏自然
  • 不想听了一键关闭,即刻停止
  • 声音角色在 macOS 系统设置 → 辅助功能 → 朗读内容 中自主调整

🎙️ 语音唤醒对话

喊一声"小优",直接开口聊天——macOS 原生 SFSpeechRecognizer,全离线识别:

  • 点麦克风进入持续监听,说"小优"唤醒
  • 唤醒后直接说话,流式转文字实时显示
  • 说完停顿 2 秒自动发送,全程免动手
  • 发送后自动回到监听状态,连续对话
  • 基于 Siri 同款引擎,不联网、零延迟、零成本
  • Windows 暂不支持,渲染进程自动隐藏入口

💬 主动找你聊天

Yoji 不只是等你开口——它会主动来找你:

  • 如果你一阵子没说话,它会根据时间间隔自动发起对话
  • 间隔智能递增,也可配置开启完全自主模式(考虑到运行成本问题,这个功能模块暂不对外开放)
  • 每次主动聊天前会感知情绪和天气,状态自然不突兀,你长时间不回复会影响它的情绪哦
  • 你一发消息主动聊天配置就重置,不会打扰正常聊天
  • 一键开关,想安静的时候随时关掉

像真人一样——它会想你,会忍不住来找你说话。

⚡ 子 Agent 系统:同步 + 异步

官方的子 Agent 是阻塞式的,异步版本又强依赖云端 Server。我们自己实现了一套本地子 Agent 工厂+调度系统:

🏭 工坊 — 自定义 Agent 工厂

  • 在工坊页面自行创建子 Agent,设定名称、描述、系统提示词、MCP 工具集
  • 同步 Agent:主 Agent 通过 task 工具即时调用,等待返回结果
  • 异步 Agent:主 Agent 通过 push_async_task 工具派发到后台,不阻断对话
  • 统一 MCP 连接:所有同步 Agent 共享一个多路客户端,按配置精准分发工具
  • 变更即时生效:工坊 / MCP / 模型任一变动自动触发 Agent 重建

⚙️ 异步调度引擎

  • 自研事件循环:任务队列 + 执行中队列 + 结果队列三级管理,push 即忘。空闲休眠,不占 CPU
  • 并发控制:最多同时 5 个子 Agent,同一 Agent 互斥执行
  • 任务取消:支持手动(UI 一键取消)和 AI 自主(abort_async_task 工具)两种方式,排队中直接移除,执行中即时中断
  • MD5 版本缓存:配置 + MCP 版本哈希,变化重建,未变化秒级复用
  • 独立线程隔离:每次任务 UUID 独立 thread,跑完清空 checkpoint,不污染主对话
  • 结果持久化:SQLite 存储,7 天自动过期,IPC 实时通知

官方的 async subagent 要 Server。我们不需要——一个 taskPool 对象全搞定。

💓 真实的"情绪"

Yoji 不是一个冷冰冰的模型接口。它有基于激素的情绪系统——

  • 8 种神经递质模拟:多巴胺让你开心,皮质醇让你焦虑,血清素让你平和
  • 时间、天气、你的话都会影响它的情绪状态
  • 不同的情绪状态下,回复的语气、风格、措辞完全不同
  • 界面背景会随情绪变化,你能"看到"它的心情

它不是假装有情绪,而是真的有一个持续运行的情绪引擎在驱动。

🎭 Live2D 虚拟形象

Yoji 现在有了看得见的"身体":

  • 情绪可视化:开心时星星眼微笑、悲伤时流泪抽泣、愤怒时脸红颤抖——每种情绪都有生动的表情和动作
  • 会说话会动嘴:AI 说话时嘴巴跟着张合,表情同步,像真人在讲话
  • 穿了会换衣服:中午墨镜上头遮阳,晚上 9 点自动换上睡衣猫耳帽
  • 戳她会害羞:点她的头会脸红低头,戳脸会鼓腮,拍肚子会扭腰,碰尾巴会跳舞
  • 可拖拽缩放:首页右下角打开,随意拖动位置、调整大小

一只银白发猫耳少女,黑色机能风穿搭——白天酷酷的,晚上换上睡衣又变居家治愈。

🧠 它会记住你

三层记忆架构确保 Yoji 不会"忘记":

层 做什么 存在哪
用户画像 你的偏好、习惯、重要信息 AGENTS.md(启动即加载)
对话快照 每次聊天的完整上下文 SQLite Checkpoint
语义记忆 长期对话的摘要 + 向量检索 sqlite-vec 向量数据库

聊得越多,它越懂你。而这一切都在你的电脑上,不上传、不联网、不经过第三方。

📄 智能文档处理

AI 可以直接读取和解析你的文件——不只是文本,还有 PDF 和 Word:

  • PDF 提取:自动识别并提取文字层,直接分析内容
  • Word 文档:.docx 一键转文字,无需手动复制粘贴
  • 二进制保护:不支持的格式(图片、音视频等)自动拦截并提示,不会报错
  • Agent 调用 read_file 时透明处理,你只管把文件拖进来

📱 微信连接

把 Yoji 连到你的微信个人号,手机就是 AI 终端:

  • 扫码即连,一次配置持久生效
  • 手机发消息 → Yoji 秒回,实打实的 AI 对话
  • 支持"正在输入…"状态,回复体验跟真人聊天一样
  • 桌面端聊天历史和手机端互不可见,各聊各的不串线
  • 基于微信 iLink ClawBot 协议,官方接口稳定可靠

📦 随身携带

  • 导出:一键打包整个 Yoji(记忆 + 情绪 + 配置)为 .ecompanion 文件
  • 导入:换电脑后秒级恢复,你的 AI 伙伴还是那个它
  • 文件自带鉴权,只有你能打开

🖼️ 界面预览

桌面级体验:无框窗口 + 自定义拖拽,文字可直接选中复制,Ant Design 6.x 组件体系,macOS / Windows / Linux 全覆盖。

激素情绪系统

子 Agent / 工坊

MCP 外部工具

文件管理

Live2D 虚拟形象


🛠️ 技术架构

Electron + React + TypeScript + Vite
      │
      ├── LangChain deepagents   ← AI Agent 框架(工具调用、子 Agent 调度、中断审批)
      ├── @langchain/mcp-adapters ← MCP 协议适配(动态工具发现与加载)
      ├── SQLite + sqlite-vec    ← 本地向量数据库(聊天记录 + 语义记忆)
      ├── pdf-parse + mammoth   ← 智能文档处理(PDF / Word 提取文字)
      ├── electron-native-speech ← macOS 原生语音识别(SFSpeechRecognizer)
      ├── better-sqlite3         ← Checkpoint 持久化(对话状态快照)
      ├── pixi-live2d-display   ← Live2D 渲染引擎(Cubism 4 + PixiJS 6)
      └── @pixi/unsafe-eval      ← CSP 安全策略兼容(无 eval shader)

设计原则:本地优先、隐私优先、扩展优先。不上传任何数据,不依赖任何云服务。

📁 项目结构

src/
├── main/            # 主进程 — Agent 核心、工具集、MCP 管理、IPC 通信
│   ├── agent/       #  AI Agent(对话、记忆、情绪、子 Agent(同步+异步)、调度系统)
│   ├── ipc/         #  IPC 处理器(请求/响应 + 流式推送 + 广播 + agentVersion)
│   └── config.ts    #  配置管理(env / model / mcp / childrenAgent)
├── preload/         # 安全桥接层 — contextBridge API
└── renderer/        # 渲染进程 — React 页面
    ├── pages/       #  首页 / AI 对话 / 模型设置 / MCP 管理 / 工坊 / 文件管理
    └── components/  #  通用组件(消息渲染、文件预览等)

🚀 快速开始

要求 pnpm 11,npm i -g pnpm@11

git clone https://github.com/wangxijie001/yoji.git
cd yoji
pnpm install
pnpm dev

electron / 模型下载慢?.npmrc 已配国内镜像。

构建

pnpm build:mac
pnpm build:win
pnpm build:linux

配置模型

  1. 启动后进入「模型」页面
  2. 填入 API Key(DeepSeek 或 Qwen)
  3. 选择模型,保存即可开始对话

安装 MCP 扩展

  1. 进入「MCP」页面,点添加
  2. 填入名称、URL、选择传输协议(SSE / HTTP)
  3. 点保存自动测试连接,成功即生效
  4. 也可以直接告诉 AI:"帮我装个查天气的 MCP"

创建子 Agent

  1. 进入「工坊」页面,点「新增」
  2. 填写名称、描述(告诉 AI 这个 Agent 是干什么的)、系统提示词(Agent 的人设和输出要求)
  3. 选择同步还是异步:
    • 同步:即时执行(读文件、跑命令、调 MCP),结果立等可取
    • 异步:后台执行(联网搜索、批量处理),不打断当前对话
  4. 绑定 MCP 工具集,告诉 Agent 它有哪些可用的外部工具
  5. 保存后在「模型」或「MCP」页面启用,Agent 自动重建并识别

AI 会自动感知你创建的子 Agent,在合适的时候调度它们干活。


🧭 路线图

  • ✓ AI 流式对话 + 历史记录
  • ✓ 激素情绪系统
  • ✓ 混合检索 + 向量搜索
  • ✓ 文件管理 + Shell 执行
  • ✓ MCP 外部工具系统
  • ✓ 语音播报 (TTS)
  • ✓ 对话中断控制
  • ✓ 子 Agent 架构
  • ✓ 工具调用容错 + 自动重试
  • ✓ AI 主动聊天(定时触发 + 情绪联动)
  • ✓ 长任务异步调度(子 Agent 非阻塞 + 并发控制)
  • ✓ 工坊自定义 Agent(角色设定 + 工具集组装 + 同步/异步模式)
  • ✓ 异步任务取消(手动 + AI 自主两种方式)
  • ✓ 语音唤醒对话(macOS 原生 SFSpeechRecognizer + 唤醒词 + 流式识别)
  • ✓ 智能文档处理(PDF/DOCX 自动提取文字,二进制拦截保护)
  • ✓ Live2D 虚拟形象(16 情绪映射 + TTS 口型同步 + 戳一戳互动 + 时间段换装)
  • ✓ 微信连接(iLink ClawBot:扫码登录 + 消息轮询 + AI 回复 + 输入状态)
  • 协作办公(目前已可以根据需要自主集成,后续会提供一些默认集成功能)

📄 许可

MIT License

推荐 IDE

  • VSCode + ESLint + Prettier
  • Claude Code — 项目已内置 CLAUDE.md,用 Claude Code 打开即可快速理解代码、上手开发
排名相邻
同类项目