🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

桌面智能体工作区 freestylefly/wesight

MCP
freestylefly32 天前有提交已提供中文文档扫描:高危兼容 / 相关生态code

WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…

71/100
综合分
933
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/freestylefly/wesight.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
该类项目不使用 dsh plugin add 安装,静态安装检查不适用
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 32 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

engines.node 要求 >=24 <25,不满足 Node 22.19.0;仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包wesight(未发布到 npm,仅可源码安装)
✗Node 引擎要求 >=24 <25 · 基线 Node 22.19 不满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/3 05:21:12

🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0
🔴 扫描:高危尚无人工评估

静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。

安装时即执行脚本可执行外部命令写入剪贴板(不计风险)读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 42 处,展示前 32 条)
  • 发起网络请求
    openclaw-extensions/ask-user-question/index.ts:87
    const response = await fetch(config.callbackUrl, {
  • 发起网络请求
    openclaw-extensions/mcp-bridge/index.ts:162
    const response = await fetch(config.callbackUrl, {
  • 发起网络请求
    src/main/main.ts:3968
    net.fetch(url, {
  • 发起网络请求
    src/main/main.ts:3977
    const refreshResp = await net.fetch(`${serverBaseUrl}/api/auth/refresh`, {
  • 发起网络请求
    src/main/main.ts:4057
    const resp = await net.fetch(`${serverBaseUrl}/api/auth/exchange`, {
  • 发起网络请求
    src/main/main.ts:4164
    await net.fetch(`${serverBaseUrl}/api/auth/logout`, {
  • 发起网络请求
    src/main/main.ts:4188
    const resp = await net.fetch(`${serverBaseUrl}/api/auth/refresh`, {
  • 发起网络请求
    src/main/main.ts:4599
    const req = https.get(url, { timeout: 10000 }, (res) => {
  • 写入剪贴板
    src/main/main.ts:5388
    clipboard.write({ text: text || '', image });
  • 写入剪贴板
    src/main/main.ts:5390
    clipboard.writeText(text);
  • 执行外部命令来自配置/变量
    src/main/main.ts:7456
    const result = spawnSync(resolution.path, args, {
  • 发起网络请求
    src/main/skillHubMarketplace.ts:224
    const response = await fetch(url, {
  • 执行外部命令来自配置/变量
    src/main/skillManager.ts:36
    const result = spawnSync(checker, [command], {
  • 执行外部命令固定命令
    src/main/skillManager.ts:90
    const machinePath = execSync(
  • 执行外部命令固定命令
    src/main/skillManager.ts:94
    const userPath = execSync(
  • 执行外部命令固定命令
    src/main/skillManager.ts:342
    const result = spawnSync('cmd.exe', ['/d', '/s', '/c', command], {
  • 执行外部命令来自配置/变量
    src/main/skillManager.ts:498
    const child = spawn(command, args, {
  • 执行外部命令来自配置/变量
    src/main/skillManager.ts:537
    const child = spawn(options.command, options.args, {
  • 发起网络请求
    src/main/skillManager.ts:802
    const response = await session.defaultSession.fetch(candidate.url, {
  • 发起网络请求
    src/main/skillManager.ts:1147
    const response = await session.defaultSession.fetch(zipUrl, {
  • 执行外部命令来自配置/变量
    src/main/skillServices.ts:162
    const result = spawnSync(checker, [command], {
  • 执行外部命令固定命令
    src/main/skillServices.ts:228
    execSync('npm install', { cwd: skillPath, stdio: 'ignore', env });
  • 执行外部命令固定命令
    src/main/skillServices.ts:237
    execSync('npm run build', { cwd: skillPath, stdio: 'ignore', env });
  • 执行外部命令来自配置/变量
    src/main/skillServices.ts:331
    child = spawn(runtime.command, [...runtime.args, serverEntry], {
  • 发起网络请求
    src/main/skillServices.ts:459
    const response = await fetch('http://127.0.0.1:8923/api/health', {
  • 发起网络请求
    src/main/taskboardServer.ts:26
    const req = http.get(
  • 执行外部命令来自配置/变量
    src/main/taskboardServer.ts:112
    const child = spawn(process.execPath, [entry], {
  • 发起网络请求
    src/scheduledTask/cronJobService.ts:530
    await client.request('cron.remove', { id });
  • 发起网络请求
    src/scheduledTask/cronJobService.ts:571
    await client.request('cron.run', { id });
  • 读取密钥环境变量
    website/api/download.js:89
    if (process.env.GITHUB_TOKEN) {
  • 读取密钥环境变量
    website/api/download.js:90
    headers.Authorization = `Bearer ${process.env.GITHUB_TOKEN}`;
  • 发起网络请求
    website/api/download.js:93
    const releaseResponse = await fetch(latestReleaseApiUrl, { headers });
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

6 张 · 点击查看大图

功能亮点

  • 一键配置智能体
  • 自定义模型路由
  • 开源桌面工作台

开源桌面 AI 智能体工作台,一键配置 Claude Code、Codex、OpenClaw、Hermes Agent,支持自定义 LLM 模型路由。

README

由 DeepSeek 最新模型翻译生成
WeSight Desktop AI Agent Workspace for Local Coding Agents WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude Code、Codex、Kimi Code、OpenClaw、Hermes Agent、OpenCode、Qwen Code、DeepSeek-TUI 以及内置智能体运行时,然后给它们一个可视化工作区,用来聊天、调用工具、管理文件、接入 IM 频道、编写技能、配置模型服务商、查看运行时指标,以及运行桌面伴侣工作流。 公开发布版提供已签名并公证的 macOS 构建,覆盖 Apple Silicon 和 Intel,另有 Windows x64 安装包。如果 WeSight 对你的智能体工作流有帮助,点个 Star 能让更多开发者发现这个项目。 快速链接 - 官网:wesight.ai - 最新版本:github.com/freestylefly/wesight/releases/latest - 截图:截图 - 核心功能:核心功能 - 智能体引擎:智能体引擎 - 产品路线图:产品路线图 - 开发:快速开始 为什么选 WeSight 终端里的编码智能体很强大,但它们的安装、模型路由、权限、IM 入口、文件改动和运行时指标往往散落在不同地方。
展开完整文档(README 剩余 1 节)
WeSight

Desktop AI Agent Workspace for Local Coding Agents

WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude Code、Codex、Kimi Code、OpenClaw、Hermes Agent、OpenCode、Qwen Code、DeepSeek-TUI 以及内置智能体运行时,然后给它们一个可视化工作区,用来聊天、调用工具、管理文件、接入 IM 频道、编写技能、配置模型服务商、查看运行时指标,以及运行桌面伴侣工作流。

公开发布版提供已签名并公证的 macOS 构建,覆盖 Apple Silicon 和 Intel,另有 Windows x64 安装包。如果 WeSight 对你的智能体工作流有帮助,点个 Star 能让更多开发者发现这个项目。

快速链接

- 官网:wesight.ai
- 最新版本:github.com/freestylefly/wesight/releases/latest
- 截图:截图
- 核心功能:核心功能
- 智能体引擎:智能体引擎
- 产品路线图:产品路线图
- 开发:快速开始

为什么选 WeSight

终端里的编码智能体很强大,但它们的安装、模型路由、权限、IM 入口、文件改动和运行时指标往往散落在不同地方。WeSight 把这些零散环节收进一个桌面工作区:

- 在小白也能上手的界面里,安装、检测并复用本地智能体命令行。
- 用可视化聊天运行编码智能体,带工具面板、斜杠命令、文件差异和权限提示。
- 把智能体任务接到飞书等 IM 频道,按引擎分别配置。
- 跟踪每个任务,记录引擎、模型、token 用量、TTFT、TPS、工具延迟、步数、状态和耗时。
- 通过 SkillHub 技能、内置技能、定时任务、记忆,以及跟随当前工作的桌面宠物,扩展工作流。

截图

Cowork Chat把本地编码智能体当作桌面聊天来运行,可控制引擎和模型。
Agent Engines配置 Claude Code、Codex、Kimi Code、OpenClaw、Hermes Agent、OpenCode、Qwen Code、DeepSeek-TUI,以及内置运行时。

AI Runtime Dashboard查看引擎、模型、token、TTFT、输出阶段 TPS、估算模型 TPS、成本和状态。
Live Workspace智能体工作时,实时查看文件写入、代码改动、工具活动和生成的产物。

Skills Marketplace浏览 SkillHub 分类,把技能安装到本地,并在 WeSight 里管理已安装的技能。
Studio & Pet使用可视化办公室风格工作区和桌面伙伴,跟随智能体的当前任务。

核心功能

- Agent Engines - 在同一个工作区里运行 Claude Code、Codex、Kimi Code、OpenClaw、Hermes Agent、OpenCode、Qwen Code、DeepSeek-TUI 或内置运行时。
- 一键安装 - 在 macOS 上,WeSight 可以安装受支持的本地命令行工具,或检测机器上已有的工具。
- 统一模型服务商 - 配置官方 OpenAI、Anthropic Claude、Google Gemini、DeepSeek、Qwen、Moonshot、Ollama、OpenRouter、GitHub Copilot,以及自定义的 OpenAI 兼容端点。
- 本地命令行配置 - 如果你本地终端已经配置好,可以直接沿用现有的 Claude Code、Codex、Kimi Code、OpenClaw、Hermes Agent、OpenCode、Qwen Code 或 DeepSeek-TUI 账号和配置。
- 图形化工具执行 - 在聊天流里查看命令、文件、权限、斜杠命令、输出、生成的图片和工具结果。
- IM Agent Hub - 把飞书消息路由到 OpenClaw、Hermes Agent、Claude Code 或 Codex,并为每个引擎单独设置机器人配置档。
- AI 运行时仪表盘 - 按引擎、模型、来源、状态、token、完成时间、TTFT、输出阶段 TPS、估算模型 TPS、工具延迟和智能体步骤统计调用。
- 实时工作区 - 打开右侧工作区,用于实时写代码、静态 diff、运行时监控、任务待办、技能和产物。
- SkillHub 市场 - 发现、分类、安装、启用、禁用、更新和移除本地 WeSight 技能。
- 定时任务 - 创建周期性智能体任务,用于调研、报告、监控、收件箱清理和提醒。
- 记忆与个性化 - 从对话中提取有用的偏好,在后续会话中复用。
- 桌面宠物与工作室 - 保留轻量桌面伙伴,以及用于活跃任务的像素风工作室视图。

❤️ 赞助商

想出现在这里? 加我微信,在好友申请里写上你的产品名和一段简短的项目赞助说明。

| 赞助商 | 描述 |
| | 项目赞助商。PPToken 为 ChatGPT、Claude、Gemini 等主流 AI 模型提供 API 中转与密钥分发,低延迟、高可用、按量计费,并支持灵活的订阅方案。 |
| | 项目赞助商。Ciyuan API 致力于成为开发者的一站式 AI 接口平台,提供稳定、低延迟、高可用的大模型 API 服务,让 AI 应用开发更简单。 |

智能体引擎

| 引擎 | 最适合 | 配置路径 |
| 内置运行时 | 通用桌面协作会话与技能 | 随 WeSight 提供 |
| Claude Code | 带图形聊天界面的 Claude Code 工作流 | 一键安装,或复用本地已有的命令行配置 |
| Codex | Codex 命令行工作流、本地任务执行和 IM 控制 | 一键安装,或复用本地已有的命令行配置 |
| Kimi Code | 带本地登录、技能和 MCP 的 Kimi Code 工作流 | 官方安装器,或复用本地已有的命令行配置 |
| OpenClaw | 运行时网关、IM 频道、沙箱式智能体作业 | 复用本地运行时/命令行,或走 WeSight 配置流程 |
| Hermes Agent | 本地 Hermes Agent 网关与 IM 风格运行时实验 | 官方安装器,或复用本地已有的命令行配置 |
| OpenCode | OpenCode 终端智能体工作流 | 一键安装,或复用本地已有的命令行配置 |
| Qwen Code | 适配 Qwen 的编码工作流与 DashScope 配置 | 一键安装,或沿用本地已有的命令行配置 |
| DeepSeek-TUI | DeepSeek-TUI 的 HTTP/SSE 运行时与工具流式输出 | 一键安装,或沿用本地已有的命令行配置 |

模型服务商

WeSight 把模型配置集中在一处,当所选引擎遵循 WeSight 设置时,再把它映射进该引擎。

- 添加多个服务商与模型。
- 使用 OpenAI、Anthropic Claude、Google Gemini 官方服务商。
- 添加兼容 OpenAI 的服务商,支持 DeepSeek、Qwen、Moonshot、Ollama、OpenRouter、GitHub Copilot、本地网关或私有端点。
- 在 WeSight 托管的模型设置与本地已有的命令行配置之间切换。
- 想让 WeSight 接管时,导入或同步本地引擎配置。

下载

公开的桌面版构建通过 GitHub Releases 发布:

- 官网:wesight.ai
- 最新版本:github.com/freestylefly/wesight/releases/latest

每个稳定版都包含已签名并完成公证的 macOS Apple Silicon 与 Intel 构建、Windows x64 安装包、更新元数据以及 SHA256 校验和。Windows 安装包目前未签名,可能触发 Microsoft Defender SmartScreen。CI 产物是短期保留的构建输出,供维护者在版本发布前测试。

下载与安装

macOS

从最新版本下载对应的 DMG:Apple Silicon 用 WeSight.<version>.mac.arm64.dmg,Intel 用 WeSight.<version>.mac.x64.dmg。发布工作流会为这两个包签名、公证并附加公证票据。打开 DMG,把 WeSight.app 拖进 Applications 文件夹。

Windows

从同一个版本下载 WeSight.Setup.<version>.exe。当前 Windows x64 安装包没有代码签名证书,SmartScreen 可能提示应用无法识别。继续之前,请用 SHASUMS256.txt 校验文件。

快速开始

环境要求

- Node.js >=24 <25
- npm

开发

git clone https://github.com/freestylefly/wesight.git
cd wesight
npm install
npm run electron:dev

Vite 开发服务器运行在 http://localhost:5175。

官网开发

公开官网位于 website/,有独立的依赖与锁文件。它可以脱离 Electron 应用单独安装和运行:

npm ci --prefix website
npm run website:dev

官网开发服务器运行在 http://127.0.0.1:5173。生产构建与预览命令可在仓库根目录执行:

npm run website:build
npm run website:preview
现有的 wesight-portal Vercel 项目把 website 作为 Root Directory,框架是 Vite,Node.js 24.x,Production Branch 是 main。Pull request 会创建 Preview Deployment,推送到 main 会创建 Production Deployment。如果要在已认证的维护者机器上手动预览:

cd website
vercel link --project wesight-portal --scope canghes-projects
vercel deploy

网站上的下载按钮通过 website/api/download.js,从最新的公开 GitHub Release 里解析出对应的 macOS DMG 或 Windows x64 EXE。每个生产版本都要附上 arm64 和 x64 的 DMG 资源,以及 WeSight.Setup.<version>.exe。

不要把 .vercel/、本地环境文件、node_modules/ 和 dist/ 提交到 Git。website/design-reference/ 目录存放设计参考的原始概念稿,不会进入生产静态资源。

配合智能体运行时开发

Start WeSight and detect supported local agent CLIs from Settings
npm run electron:dev

Convenience aliases currently point to the same development entry
npm run electron:dev:openclaw
npm run electron:dev:hermes

常用的 OpenClaw 开发变量:

Override OpenClaw source location
OPENCLAW_SRC=/path/to/openclaw npm run electron:dev:openclaw

Force OpenClaw runtime rebuild
OPENCLAW_FORCE_BUILD=1 npm run electron:dev:openclaw

Skip OpenClaw version checkout for local OpenClaw development
OPENCLAW_SKIP_ENSURE=1 npm run electron:dev:openclaw

构建

TypeScript + Vite
npm run build

Electron main process
npm run compile:electron

ESLint
npm run lint

Public website
npm run website:build

打包

macOS
npm run dist:mac

macOS single-architecture packages
npm run dist:mac:x64
npm run dist:mac:arm64

Do not use npm run dist:mac:universal until native modules have an
explicit merge strategy for both macOS architectures.

Windows
npm run dist:win

Linux
npm run dist:linux

托管运行时的元数据在 package.json 里声明。生成的运行时目录、构建产物、本地密钥和打包发布输出都会被 Git 忽略。

自动发布

Build Platforms GitHub Actions 工作流会并行构建 macOS Apple Silicon、macOS Intel 和 Windows x64。手动触发工作流只做构建校验,并上传三个 Actions Artifact。打 v 标签触发的工作流会在所有平台都成功后发布 GitHub Release。

发布版本使用 SemVer。创建标签前,先通过普通 pull request 更新根目录 package.json 的版本号。在干净且已同步的 main 分支上,用下面的命令校验并发布标签:

npm run release:tag -- 1.0.1 --dry-run
npm run release:tag -- 1.0.1
该命令会校验分支、工作树、origin/main、包版本,以及本地和远程标签。随后创建带注释的 v1.0.1 标签,并且只推送这个标签。像 1.1.0-rc.1 这样的预发布版本会发布为 GitHub prerelease;稳定版本则成为 Latest release。

macOS 签名与公证使用以下 GitHub Actions secrets:

- APPLE_ID
- APPLE_APP_PWD
- APPLE_TEAM_ID
- MACOS_CERTIFICATE
- MACOS_CERTIFICATE_PWD

不要把证书内容或密码写进仓库文件或工作流日志。在配置好 Windows 代码签名证书之前,Windows 签名保持禁用。

如果某个平台任务失败,针对同一个 commit 或 tag 重跑失败的 GitHub Actions 任务即可。发布任务会等待三个平台全部完成,并且在 release 已存在时使用资产替换,所以安全重跑只会更新已有资产,不会创建重复的 release。

架构

WeSight 采用 Electron 进程隔离。渲染进程从不直接访问 Node.js API;特权操作统一走类型化的 preload 桥接和主进程中的 IPC 处理器。

主进程

- 窗口生命周期、托盘行为、桌面宠物窗口和深链接
- 用 SQLite 持久化设置、会话、消息、运行时调用、技能和认证 token
- 智能体引擎路由和外部命令行适配器
- OpenClaw 和 Hermes 网关生命周期辅助逻辑
- IM 网关集成和原生飞书路由
- 技能管理、定时任务、文件活动跟踪和运行时遥测

渲染进程

- React + Redux Toolkit + Tailwind CSS
- Cowork 聊天 UI、studio 视图、实时工作区、运行时仪表盘和 artifacts
- 引擎选择器、模型选择器、设置、技能、MCP、智能体、IM、记忆和外观 UI
- 流式渲染消息、工具调用、命令输出、斜杠命令面板、文件、图片和权限提示

关键目录

src/main/
main.ts Electron entry and IPC handlers
preload.ts Safe renderer bridge
sqliteStore.ts Local persistence
coworkStore.ts Session and message storage
libs/agentEngine/ Engine adapters and router
libs/externalAgent.ts External CLI setup and config helpers
im/ IM gateway integrations

src/renderer/
App.tsx App shell
components/cowork/ Chat, studio, activity workspace, engine UI
components/Settings.tsx Model, engine, IM, skills, memory, and app settings
components/pet/ Desktop companion UI
services/ IPC wrappers and app services
store/slices/ Redux state

SKILLs/ Built-in skills
scripts/ Runtime, packaging, and setup scripts
src/shared/ 共享常量和类型

内置技能

WeSight 自带丰富的技能库,覆盖日常智能体工作,并接入 SkillHub,可从市场安装。

| 领域 | 示例 |
| 研究 | 网页搜索、科技新闻、股票研究、影视/音乐搜索 |
| 文档 | DOCX、XLSX、PPTX、PDF 处理 |
| 自动化 | Playwright、本地工具、定时任务 |
| 创意 | Remotion 视频、前端设计、画布设计、图像与视频工作流 |
| 沟通 | IMAP/SMTP 邮件和 IM 渠道 |
| 智能体构建 | 技能创建、技能审核、自定义规划 |

技能可以安装、启用、禁用、删除,并在桌面 UI 中路由。

安全模型

- 启用上下文隔离。
- 渲染进程中禁用 Node 集成。
- 敏感操作走主进程 IPC。
- 工具执行前可以弹出权限请求。
- 本地数据存放在应用数据目录下的 SQLite 中。
- 运行时文件夹、构建产物、生成的资源和本地密钥都被 Git 忽略。

产品路线图

查看 WeSight 产品路线图,了解当前优先级、计划中的功能和更大的产品方向。如果你想看到某个功能,欢迎提 issue。

社区微信群

扫描下方二维码,加入 WeSight 微信群,和其他开发者交流。二维码有效期到 2026 年 6 月 13 日;如果过期,关注下方公众号获取最新邀请。

Star 历史

微信公众号

在微信搜索 苍何,或扫描下方二维码,关注苍何的原创微信公众号。回复 AI,获取更多 AI 提示词和智能体工作流资源。

致谢

WeSight 的成型离不开众多优秀的开源项目和智能体社区实践。特别感谢:

- LobsterAI,在桌面个人助理智能体、README 结构和开源发布实践上带来启发。
- OpenClaw,在本地智能体运行时、网关和 IM 智能体能力上的探索。
- Hermes Agent:本地智能体运行时、网关和模型配置的思路来源。
- Star-Office-UI:像素风 AI 工作室的灵感来源。
- SkillHub:技能发现、安装和市场流程方面的思路来源。
- Claude Code、Codex、Kimi Code、OpenCode、Qwen Code、DeepSeek-TUI 周围的终端智能体生态,以及所有推动本地 AI 智能体工作流向前发展的开发者。

License

MIT。见 LICENSE。

感谢贡献者

感谢每一位为 WeSight 提交 PR 的人。新贡献合并后,这面墙会根据 GitHub 贡献者数据自动更新。

WeSight Contributors
预览分享卡片长什么样 ↓freestylefly/wesight
分享 · DeepSeek Harness Hub
freestylefly/wesight

WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…

回到顶部