跳转到主内容
← 文档总览架构

系统架构

深入了解千手的双引擎 AI 架构、客户端-服务端分离模型、IPC 通信机制与数据流设计。

架构总览

千手采用客户端-服务端分离架构。桌面客户端基于 Electron 39.x 构建,内部分为 Main Process(主进程)和 Renderer Process(渲染进程)两层。主进程负责文件系统监控、数据库操作、邮件同步、AI 引擎调度和安全管理;渲染进程提供 React UI 界面,通过 IPC(进程间通信)与主进程交互。

企业服务端独立部署在 Docker 容器中,提供用户认证(JWT 双令牌)、模型管理、智能体配置同步和审计日志持久化。客户端通过 HTTPS 与服务端通信,AI 执行请求通过 SSE(Server-Sent Events)实现流式响应。

┌─────────────────────────────────────────────────────────────────────┐
│                        桌面客户端 (Electron)                         │
│  ┌──────────────────────────┐  ┌──────────────────────────────────┐ │
│  │     Renderer Process     │  │        Main Process              │ │
│  │                          │  │                                  │ │
│  │  Shell (TitleBar /       │  │  fileService    emailService     │ │
│  │   ActivityBar / Status / │  │  searchService   pdfService      │ │
│  │   NotificationCenter)    │◄─►  agentService    auditService    │ │
│  │  Activities (13 IDs)     │IPC│  credentialStore sessionService  │ │
│  │  design-system + Zustand │  │  webSearchService toolRuntime    │ │
│  │  Stores (17 个 / 6 切片)   │  │                                  │ │
│  └──────────────────────────┘  └───────────┬──────────────────────┘ │
└────────────────────────────────────────────┼────────────────────────┘
                                             │ HTTPS / SSE
                                             ▼
                          ┌──────────────────────────────────┐
                          │        企业服务端 (Docker)         │
                          │                                  │
                          │  Hono.js 4.x REST API            │
                          │  ├── /api/auth    (JWT)          │
                          │  ├── /api/models  (模型管理)      │
                          │  ├── /api/agents  (智能体同步)    │
                          │  ├── /api/ai/execute  (SSE 代理) │
                          │  └── /api/audit   (审计日志)      │
                          │                                  │
                          │  PostgreSQL 16 ◄─ Prisma ORM     │
                          │  Redis 7.x (缓存)                │
                          └──────────────────────────────────┘

双引擎 AI 架构

千手的 AI 系统采用双引擎架构,根据 API Key 的存储位置将模型分为两类引擎:

  • DirectEngine(直连引擎):用户自有模型,API Key 存储在客户端本地 Keychain(Electron safeStorage),请求直接发送到 AI 厂商 API,不经过企业服务端。适用于个人模型或需要完全数据隔离的场景。
  • ProxyEngine(代理引擎):组织统一管理的模型,API Key 以 AES-256 加密存储在服务端。客户端发送请求到 /api/ai/execute,服务端注入密钥后转发,实现零信任客户端架构。

此外,系统还提供两个扩展引擎:AgenticRAGEngine 在 DirectEngine 基础上增加多轮文档检索迭代,适用于知识密集型任务;PresentonEngine 对接独立的 PPT 生成服务,支持异步任务跟踪和模板库管理。

用户请求引擎路由DirectEngine用户自有模型API Key 存本地 KeychainsafeStorage / credentialStoreOpenAI · 火山 · 阿里云ProxyEngine组织模型API Key 存服务端客户端零信任 · SSE 流式/api/ai/executeSSE 流式输出token #1024

客户端架构

Main Process(主进程)

主进程运行 90+ 个服务模块,注册 550+ 个 IPC 处理器,负责所有需要系统级权限的操作。关键服务包括:

服务职责
fileService文件系统监控(chokidar)、目录读取、文件操作
emailServiceIMAP 邮件同步、多账户管理、邮件线程;自动回复规则与 SMTP 出站队列
searchServiceSQLite FTS5 全文检索、jieba-wasm 中文分词、LRU 缓存
agentService智能体执行调度、四引擎管理、流式输出、allowedTools 白名单
auditService审计日志记录、数据提取、报告生成
credentialStoresafeStorage 凭据隔离、API Key 安全存储、OAuth tokens
sessionServiceSQLite 会话持久化、消息存储、工件管理
pdfServicePDF 文本提取、逐页渲染、OCR 集成

集成服务(Integration)

把第三方协议与外部服务接入桌面工作台的服务层。详细行为见 集成生态

mcpMCP 协议客户端:服务器管理、工具配置、OAuth 流
oauth统一 OAuth 流(Google、Microsoft、自定义 IdP)
connector通用连接器框架,桥接第三方数据源
calendar日历事件同步与会议任务调度
knowledge / knowledgeGraph本地知识库与知识图谱编译
urlFetchService / webSearchServiceURL 抓取与多 Provider Web 搜索
presentonServicePresenton PPT 引擎适配(异步任务)
tool-runtime / skill-runtime工具与技能运行时,统一治理外部能力

基础设施服务(Infrastructure)

支撑可靠性、可观测性与可演进性的横向能力,对功能产品域透明。

cacheService统一 LRU 缓存与 cacheMaintenance 调度
metricsService运行时性能指标采集与报告生成
featureFlagService功能开关,支持灰度与 labs 通道
undo编辑操作历史与回滚
traceServiceTrace 链路记录,与 audit 共享数据
sessionCleanup会话清理调度
mcp-export把千手内部能力导出为 MCP / CLI 形式

Renderer Process(渲染进程)

渲染进程基于 React 18 构建,使用自研 design-system(23 个 headless 组件:14 primitives + 3 layout + 6 overlays,Tailwind 着色,无外部 UI 库依赖)。布局由 SplitView + Sidebar + WorkspaceHeader 三件套组合,配合 Activity 路由实现一栏 / 多栏可拖拽分屏。Zustand 5.0+ 管理 17 个状态 Store(含 6 切片架构),navigationStore + activityStore + viewRegistry 联合驱动 Activity 显隐与切换。

视图注册表(src/app/viewRegistry.ts,refactor-2026 §A.5.2)共定义 13 个 ActivityId:9 个默认可见 + Settings 固底 + 3 个默认隐藏(用户可在 CustomizeMenu 中显式开启)。

home

默认可见

主页与导航中枢,含首次启动引导

mail

默认可见

邮件管理:账户、文件夹、消息列表、撰写、自动回复规则

calendar

默认可见

日历视图、事件详情,与 Mail Workspace 共享 OAuth 凭据

chat

默认可见

AI 工作区:智能体选择、流式输出、RAG 显示、任务规划

files

默认可见

文件管理:监控目录、预览器(15+ 格式)、文档操作

aisearch

默认可见

AI 增强搜索:自然语言检索 + FTS5 索引

knowledge

默认可见

知识库浏览与图谱可视化、Wiki 抽屉与来源引用

intel

默认可见

情报采集(含远程 OctoReport handoff 面板)

library

默认可见

内置资产与模板库

settings

固底

模型 / 智能体 / 邮件 / 外观 / Lab / Provider 能力矩阵等系统设置

audit

默认隐藏

审计追踪面板,可在 CustomizeMenu 中开启

education

默认隐藏

使用教学与教程入口,可在 CustomizeMenu 中开启

presenton

默认隐藏

PPT 生成专属工作区,可在 CustomizeMenu 中开启

Shell Chrome(外壳层)

src/shell/ 下的组件构成应用外壳:跨 Activity 共享的 TitleBar、ActivityBar、StatusBar、NotificationCenter、CommandPalette 等,承载窗口控制、全局通知与命令分发。所有组件均消费 design-system primitives,与具体 Activity 解耦。

组件职责
TitleBarV232px 平台自适应顶栏(macOS / Windows / Linux 各取所需),承载窗口控制 + 全局命令入口
ActivityBar左侧垂直图标栏,按 activityStore.order 渲染默认 Activity,固底放 Settings + UserMenu
CustomizeMenuActivityBar 中段「…」按钮唤起,用于显隐 / 重排 Activity 与开启隐藏 Activity
StatusBar底部状态栏,承载凭据 / 同步进度 / License 提示 / 通知小红点
NotificationCenter通知中心抽屉:分类型通知列表 + 类型化 deep-link,配 NotificationBridge 统一调度 toast
CommandPaletteCMD+K 全局命令面板,跨 Activity 跳转与动作触发
DialogHost / ToastHost / UndoBridge对话框 / Toast / 撤销操作的全局宿主,与 design-system Dialog/Toast 协同

服务端架构

企业服务端基于 Hono.js 4.x 构建,运行在 Docker 容器中。采用三容器部署模式:应用服务(Hono.js + Node.js 24)、数据库(PostgreSQL 16)和缓存(Redis 7.x)。Prisma ORM 5.x 提供类型安全的数据库访问层。

认证系统使用 JWT 双令牌机制(access token + refresh token),支持令牌自动刷新。管理后台提供 14 个管理端点,覆盖用户管理、角色权限、系统配置和审计查询。

API 端点概览

端点描述
/api/auth/*用户认证(登录、令牌刷新、登出)
/api/models/*模型管理与同步
/api/agents/*智能体配置 CRUD 与同步
/api/agents/dify, /api/agents/statsDify 平台桥接与运行统计
/api/ai/executeAI 执行代理(SSE 流式响应)
/api/audit/*审计日志查询与统计
/api/intel/*情报源管理、内容聚合、报告、远程 handoff
/api/drafts邮件 / 文档草稿同步
/api/knowledge组织知识库与文档共享
/api/wiki团队 Wiki 接口
/api/license授权与许可校验
/api/notifications通知中心
/api/organization组织、部门、角色管理
/api/proxy上游模型与外部服务代理出口
/api/trial, /api/homepage试用申请与官网内容数据
/api/admin/*管理后台(用户、角色、系统配置)
/health健康检查端点

数据流

文件处理流

文件系统 → chokidar 监控 → 变更检测 → SQLite 索引更新 → FTS5 全文检索 → 搜索结果

AI 处理流

用户输入 → 引擎选择(Direct/Proxy)→ 模型调用 → SSE 流式输出 → 人工确认(高风险操作)→ 审计日志记录

邮件处理流

IMAP 服务器 → 邮件同步 → 本地 SQLite 存储 → AI 辅助撰写 → 人工确认 → SMTP 发送 → 审计日志

完整技术栈

桌面客户端

类别技术
桌面框架Electron 39.x
UI 框架React 18.x
UI 原语@/design-system/*
样式Tailwind CSS
类型系统TypeScript 5.0+
构建工具Vite 6.x
包管理pnpm 10.x
布局design-system SplitView + Sidebar + WorkspaceHeader
外壳层src/shell/* (ActivityBar / TitleBar / StatusBar / NotificationCenter / CommandPalette)
状态管理Zustand 5.0+
本地数据库SQLite + FTS5
邮件imapflow + nodemailer
文档提取pdf-parse, mammoth
OCRmacOS Vision Framework
Markdownreact-markdown + remark-gfm
测试Vitest 4.0 + Playwright
打包electron-builder 24.0

企业服务端

类别技术
Web 框架Hono.js 4.x
运行时Node.js 24.x
数据库PostgreSQL 16
ORMPrisma 5.x
缓存Redis 7.x
认证JWT
加密crypto-js (AES-256) + bcrypt
AI SDKOpenAI SDK
部署Docker + Docker Compose