Awaken
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Warn
- process.env — Environment variable access in .github/workflows/dependency-resources.yml
- process.env — Environment variable access in .github/workflows/desktop-release.yml
- fs module — File system access in .github/workflows/desktop-release.yml
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
基于 Go 开发的本地优先桌面 AI Agent,围绕桌面 Agent 应具备的能力,支持工具调用、文件处理、长期记忆、多智能体协作、计算机操作、技能与插件扩展、MCP 接入及定时任务。

Awaken
Awaken 是一个本地优先的桌面智能体产品。它以 Awaken Desktop 为唯一产品使用面,在用户选择的工作区中组织多轮任务,由本地 awaken-core 完成模型调用、工具执行、事件记录与恢复,再把可验证的过程和交付物投影到桌面工作台。
除另有声明的内容外,Awaken 采用 MIT 许可证,允许使用、修改、分发和商业使用,需保留版权及许可证声明。第三方组件和资源继续遵循各自许可证,参见 Design System 第三方声明和 Desktop 第三方许可证。
本仓库中的文档只描述当前实现、当前 Desktop 行为、仍有效的产品设计和当前验收结论。详细事实按功能域进入 docs/;本 README 只承担项目总入口。
界面与功能
以下截图来自 macOS 上实际运行的 Awaken Desktop 开发版。文件交付示例使用豆包 Doubao-Seed-Evolving 和虚构销售数据;截图中的模型、插件与技能取决于本机配置。
项目与任务工作台
在工作台中描述任务、选择模型,并按需加入技能与插件。左侧按项目组织会话,中间查看执行过程和结果,右侧打开文件与交付物。

从任务到文件交付
把数据整理成 Excel 分析表和 Markdown 经营简报,完成后从交付卡片打开文件,在同一工作台查看结果。
本例生成了销售明细、汇总分析和图表,使用的销售数据均为虚构数据。演示过程中补充了本机 Python 路径后完成生成;文件生成所需环境及当前限制见本机依赖与文件生成。




内置技能与项目技能
通过 Skills 为任务提供操作方法和配套资源。内置 Word、Excel、PowerPoint、PDF 等技能,也支持安装自己的 Skill 包。项目视图按项目组织技能,可以查看数量并进入管理;其他来源通过 Awaken Skills、全局 Skills 和 Agents Skills 页签查看。


办公插件
在插件页配置 Outlook、钉钉和飞书,完成相应服务的安装与授权后,在任务中选择使用。更多外部工具可通过 MCP 连接,具体范围见连接器与插件。

模型选择与推理强度
在输入框中切换已配置的模型。对支持推理强度的模型,还可以选择对应档位;可选档位随模型而定。文件交付示例使用豆包,下方推理强度界面展示 Kimi 的 low、high 和 max。


API 与套餐用量
在应用内查询已配置供应商的用量或余额。下图展示 DeepSeek 的可用余额、赠送额度和充值余额;可查询内容及是否可用取决于供应商接口和账号配置,截图数值仅代表拍摄时的状态。

定时任务
从模板创建循环任务、指定时间的任务或固定提醒,管理执行时间并查看运行记录。定时任务依赖 Awaken 运行,应用完全退出后不会执行。

当前产品形态
当前主产品是 Electron + React 的 Awaken Desktop,主界面为 Run Workbench:
- 左侧栏负责项目与线程入口,并提供已停止会话的归档入口;权限允许的 root 与普通 Agent 可通过受控只读工具按
thread_id列出和分页读取归档历史,物理 FileStore 路径不进入模型权限; - 中间工作区负责输入、运行叙事、状态反馈和最终交付物;
- 右侧 Inspector 当前提供项目文件工作区、文件夹组选择、筛选、只读目录树以及 Office、代码/文本、PDF、图片预览和统一浏览器标签(应用内 http(s) 浏览,也可在地址栏打开本机 HTML);从项目文件树打开的 Markdown 可在同一文件工作区切换预览与编辑并写回原文件,HTML 与其他代码/安全纯文本直接显示源码、可编辑并自动保存。交付物中的 Markdown、图片和视频分别落入三种 Artifact 标签:Markdown 临时标签只读,运行过程媒体继续留在
RunStage.overlay,终态 ready 媒体在右侧文件工作区打开临时 Artifact 文件标签。当前 thread 存在原生 Subagent 记录时,还提供子任务详情、状态、活动、结果、错误、模型与实际思考强度、独立计划/上下文、只读详情与单任务停止;中间任务分组可停止全部子任务,关闭标签仅收起详情;通用工具详情尚未接通; - Settings 承载模型、搜索、长期记忆、全局规则、外观、桌面宠物、环境管理、计算机操作、Hook、ACP runner 和固定末项“已归档的聊天”等配置与管理界面;设置界面的用户可见标题显示为“钩子”;
- Desktop 负责启动、监督和关闭本地
awaken-core,用户不需要单独运行 Core; Awaken Design System是纯 UI 组件包和 Gallery,不拥有产品状态、后端策略或运行时协议。
当前开发构建已接通 Awaken 原生 Computer Use:设置开启且 CUA Host、屏幕录制、辅助功能权限均 ready 时,视觉模型可通过受 session、policy、review、fence 与审计约束的工具观察和操作桌面。正式发布仍以 Computer 域的打包签名与真实 Desktop 准入结果为准。
核心能力地图
| 功能域 | 当前能力摘要 | 权威入口 |
|---|---|---|
| 桌面工作台 | 项目与线程导航、会话归档与恢复、用户消息撤销与编辑、Workbench 输入和运行叙事、附件、交付物、全局/项目 AGENTS.md 入口、外观、宠物与 Desktop 生命周期 | 01 桌面工作台 |
| 主智能体闭环 | thread/run、多轮上下文、AGENTS.md 运行快照、压缩、主动提问、取消和失败终止;主 run 支持 各 Agent 独立的 update_plan、耐久运行计划、实时进度入口与终态历史,并可通过 archived_history 只读查询归档会话;原生 Subagent 支持 explore/plan/review/general、shared_readonly/shared/git_worktree、协作组默认 8 个活动 Agent(含 root)/128 个排队任务/8 层递归、fresh/full/recent 上下文、终态交接、status/wait/message/followup/interrupt/close、父任务等待汇总、停止整棵任务树与重启后明确继续、Memory snapshot 继承、orphan interrupted、耐久事件与 Desktop 任务组/Inspector |
02 主智能体闭环 |
| 运行时与本地服务 | Desktop 托管本地服务、SemanticJournal、工具媒体 blob、当前用户执行环境观察与历史回放 | 03 运行时与本地服务 |
| 工具、权限与安全执行 | 八个模型基础工具、provider/capability/dependency、每 run 可用性快照、零审批、TaskScope/Trash;工具渐进披露(低频内建辅助工具与 MCP 工具的定义按需经 tool_find 检索加载,不长期占用上下文);按授权范围读取公开主对话的归档历史桥;user/project/project-local Hook、自然语言配置工具、command/受控 HTTP/prompt/只读 agent 执行器、十一类边界、阻断/输入更新、耐久回执与显式 Skill 激活注册;以及保留工具的窄 broker 合同 |
04 工具、权限与安全执行 |
| 模型与供应商 | 模型 profile、能力与余额、调用链、安全凭据存储及故障恢复 | 05 模型与供应商配置 |
| MCP runtime | user/project/dynamic 配置、stdio/http/sse、动态工具直通、可选只读错误与 Artifact metadata、认证与 prompt/resource Skill bridge | 06 MCP 运行时 |
| 连接器 | MCP provider 目录、供内置插件钉钉与飞书复用的官方运行组件安装与授权、host Connector 本地 OAuth 账号、生命周期、readiness 与重启 ownership 边界;当前 Awaken Outlook 通过插件专属的 host Connector、系统浏览器 PKCE 与本地 Microsoft Graph MCP 管理个人/共享邮箱、草稿、附件、文件夹、分类、退订和本机定时发送,不在连接器目录重复展示 | 07 连接器 |
| 技能 | 多来源 Universal Skill 完整目录包发现、按需文件树/正文/资源、composer 当前选择的 run-scoped 确定性绑定、统一 catalog、inline/真实 child fork、MCP 动态来源与恢复;composer 显式激活后可注册包内受控 Hook;模型可用内置 Creator 脚手架生成完整候选,并 dry-run 校验、受控导出、安装或 Trash 替换用户 Skill;以及随 App 分发的 word/excel/ppt/pdf/code-search/PDF_Max/skill-creator/plugin-creator 八个内置 Skill 包 | 08 技能 |
| ACP Client/Agent | ACP Client(Phase 0–4):runner 配置、probe 与 Desktop 设置页;delegate_external_agent 工具、会话生命周期与权限处理已在 Core 实现;Workbench 嵌套进度与 permission gate UI 已实现。ACP Agent(Phase 5):cmd/awaken-acp 与 src/acp/agentbridge 已实现 stdio transport、launcher lease、authenticated control routes、Core 事件投影、模型 profile selector/default fallback 与 cancel/close;Desktop-owned 与 core-only 的真实 stdio prompt 已通过,第三方 client、headless 多进程验收与跨 Core 重启恢复仍是已知缺口 |
02 主智能体闭环 |
| AG-UI 与 A2UI | Awaken 自有事件到 AG-UI-compatible wire 的映射;A2UI 仅作参考 | 09 AG-UI 与 A2UI 协议 |
| Computer Use | CUA Host、观察/动作/验证工具、复核、暂停/接管/交还、媒体策略与发布准入 | 10 计算机操作能力 |
| 长期记忆与 Dream | Markdown Memory、主模型相关性召回、受控工具、无正文事件、Settings 查看/删除、手动/空闲期 Dream、Workbench 紧凑回执与 Dream 重启恢复 | 11 长期记忆 |
| 定时任务 | 首版已支持:左侧一级入口、循环/日程任务、10 个内置模板、创建/编辑/启停/删除/立即执行/取消、专属线程、执行历史、Core 内调度器与 misfire 恢复、Agent 与固定提醒两类任务;Agent 编辑器支持 / Skill 与 @ Computer Use/Plugin 结构化选择;Desktop 完全退出后不运行 |
12 定时任务 |
| 移动端 | 当前不支持;已确认目标设计为 Desktop/Core 继续拥有本机执行与耐久事实,手机通过受控 Gateway 与可自托管 relay 查看和控制任务,不直接连接或暴露 loopback Core | 13 移动端 |
| 插件 | Desktop 以自动校验/digest 锁定安装管理 Agent Plugins 1.0.0、Codex、Claude Code、Cursor user-scope ZIP 包,并把随 Desktop 发布、默认关闭且不可卸载的 Awaken 内置插件投影到独立页签;内置页显示带官方图标和中文 Skills 的 Outlook 邮箱,并提供钉钉、飞书的原安装与账号连接入口;后两项复用原安装与授权,已连接时进入工作台 @ 和插件快捷菜单,通过原官方技能绑定调用,不创建包或增加开关。统一控制台展示 Skills、MCP、Rules、Agents、Commands、Hooks、Variables、Apps,并把可运行组件接入现有 Skill/MCP/instructions/Hook/Subagent runtime。安装入口只接受点击选择或拖入的本地 ZIP,同名插件自动安全替换,不提供 URL/Git 安装、Marketplace 或插件目录聚合;另支持组件与 tool override、Variable/Secret、插件 OAuth/Device/MCP OAuth、宿主 CLI/host Connector 引用、Hook 回执、Plugin Agent/Command/Rule Composer token、升级迁移、Trash 与 run generation lease。插件进程默认保持当前用户完全访问,但不能读取宿主或其他插件凭据。Codex Apps 仍只识别不运行;project scope、跨重启 Hook receipt 索引和 Windows/Linux 实机仍不支持或未验收 | 14 插件 |
| 编码工作台 | 当前不支持;已确认目标设计为 checkpoint 式代码撤回、右侧栏“变更”diff 面板、typed 只读 git_workspace 工具与 Git 状态条、内置 Git 防护 Hook preset,以及项目 .awaken/coding.json 编码环境契约;当前可用的编码相关底座(typed 文件工具、Bash、git_remote、Subagent git_worktree)仍由 04/02 域拥有 |
15 编码工作台 |
| 深度研究 | Workbench @deep-research(@研究)已支持主 Agent 组队调研:第一波至少两路普通 general 分 Agent 取证,收回后审核;材料错误或过时再续派,再用 bundled Office Skill 发布 Word/Excel/PPT/PDF 或 Markdown;显式 URL 由宿主按原值预取,发布前「已核实」出处必须对上本 run 的 Read/WebFetch 回执,逐跳 SSRF fail closed。任意远程 Git clone、用户 Skill 覆盖入口、不经回执的已核实标法不在范围 |
16 深度研究 |
功能文档按“板块 → 功能”组织,每个功能只保留《需求文档》和《实现方案》。下面列出全部功能入口;需求说明用户行为与限制,实现说明代码、数据、接口、恢复和验证。
功能文档
当前共 16 个板块、39 个功能、78 份文档。新增或合并功能时,同时更新本目录和 AGENTS.md 的数量。
01_桌面工作台
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 项目管理 | 需求文档 | 实现方案 |
| 会话管理 | 需求文档 | 实现方案 |
| 工作台布局与运行展示 | 需求文档 | 实现方案 |
| 消息输入与编辑 | 需求文档 | 实现方案 |
| 文件浏览与评论 | 需求文档 | 实现方案 |
| 交付物展示 | 需求文档 | 实现方案 |
| 外观与主题 | 需求文档 | 实现方案 |
| 桌面宠物 | 需求文档 | 实现方案 |
| 应用生命周期与更新 | 需求文档 | 实现方案 |
02_主智能体闭环
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 对话运行与恢复 | 需求文档 | 实现方案 |
| 规则指令 | 需求文档 | 实现方案 |
| 上下文与用量 | 需求文档 | 实现方案 |
| 子智能体协作 | 需求文档 | 实现方案 |
| ACP协作 | 需求文档 | 实现方案 |
| 运行计划 | 需求文档 | 实现方案 |
03_运行时与本地服务
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 本地服务管理 | 需求文档 | 实现方案 |
| 数据存储与重放 | 需求文档 | 实现方案 |
| 本机依赖与文件生成 | 需求文档 | 实现方案 |
| 依赖与路径管理(待资源发布) | 需求文档 | 实现方案 |
| 网络代理与恢复 | 需求文档 | 实现方案 |
04_工具权限与审批
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 工具发现与执行 | 需求文档 | 实现方案 |
| 文件操作与路径安全 | 需求文档 | 实现方案 |
| 命令执行 | 需求文档 | 实现方案 |
| 文件发布 | 需求文档 | 实现方案 |
| 钩子 | 需求文档 | 实现方案 |
05_模型与供应商配置
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 模型配置与调用 | 需求文档 | 实现方案 |
| 凭据存储与恢复 | 需求文档 | 实现方案 |
06_MCP运行时
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 连接配置与认证 | 需求文档 | 实现方案 |
| 工具与技能桥接 | 需求文档 | 实现方案 |
07_连接器
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 连接器管理 | 需求文档 | 实现方案 |
08_技能
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 技能管理与执行 | 需求文档 | 实现方案 |
09_AGUI与A2UI协议
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 本地接口与事件协议 | 需求文档 | 实现方案 |
10_计算机操作能力
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 桌面观察与操作 | 需求文档 | 实现方案 |
11_长期记忆
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 长期记忆与Dream | 需求文档 | 实现方案 |
12_定时任务
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 定时执行与提醒 | 需求文档 | 实现方案 |
13_移动端
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 手机远程访问 | 需求文档 | 实现方案 |
14_插件
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 插件管理与运行 | 需求文档 | 实现方案 |
15_编码工作台
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 代码变更与撤回 | 需求文档 | 实现方案 |
16_深度研究
| 功能 | 用户需求 | 技术实现 |
|---|---|---|
| 研究报告 | 需求文档 | 实现方案 |
总体架构
flowchart TD
User["用户"] --> Desktop["Awaken Desktop"]
Desktop --> Main["Electron Main / Preload"]
Desktop --> Renderer["React Renderer / Workbench"]
Renderer --> DS["@awaken/design-system"]
Main --> Core["awaken-core 本地服务"]
Core --> Agent["Agent Core"]
Agent --> Model["模型供应商"]
Agent --> Skills["Universal Skill Catalog"]
Agent --> Tools["Tool Catalog / run snapshot"]
Tools --> Providers["内置 / MCP / Connector providers"]
Core --> Store["全局线程库 / SemanticJournal"]
Providers --> Machine["当前用户 PATH / 项目 / Skill / 系统工具"]
责任边界:
apps/desktop拥有 Desktop 生命周期、Electron bridge、产品状态和真实交互投影;src/agentcore拥有智能体运行循环、请求构建、工具调用编排和内部语义事件;src/runtime、src/server和src/protocol/agui分别拥有会话/持久化编排、本地 HTTP/SSE surface 和 wire 映射;src/tool、src/tools、src/mcpclient、src/skills与src/skillruntime拥有对应能力的定义、策略与实现;Awaken Design System只接收 props/callbacks,不读取 Electron、runtime 或业务 store;- 普通 Office/PDF 任务通过
load_workspace_dependencies取得用户级固定办公包,Bash 和 Skill 使用返回的受管路径;设置中的“环境管理”显示 Python/Node.js 状态,以一个修复按钮准备或修复环境。软件项目依赖保留项目约定。办公候选包尚未公开发布,不能宣称新用户已可下载;交付文件仍通过artifact_publish发布。
更细的模块协作、字段和状态机由相应功能域文档唯一拥有。
正式入口
先在仓库根目录安装依赖:
npm install
Awaken Desktop
macOS 的正式开发使用入口:
npm run open:desktop
npm run close:desktop
open:desktop 会复用或建立受管理的 awaken-dev-desktop 会话,准备 renderer、Electron 和 awaken-core,并以真实 Awaken Dev 窗口作为成功标准。它不检查或安装 Python、LibreOffice、Poppler、FFmpeg;缺少 Work 依赖不会阻止 Desktop/Core 启动。开发版与安装版使用不同 identity、userData、凭据和单实例域,可以同时运行;close:desktop 只关闭开发入口拥有的进程。
Windows 当前使用前台入口:
npm run dev:desktop
关闭时在该终端按 Ctrl+C。
该脚本是当前 Windows 开发入口,但本仓库当前可复核的真实 Desktop 验收基线只覆盖 macOS;脚本存在不能替代 Windows 实机与 CI 验收。
推送到 main 或更新 pull request 时,GitHub 持续集成会运行单元测试、macOS/Windows 的 Electron 功能验收,以及 ad-hoc macOS 与未签名 Windows 客户端打包。main 打包成功后,安装包出现在本仓库的 ci-<commit> prerelease。正式签名发布仍只在推送 vX.Y.Z tag 后由 desktop-release.yml 编排。CI 启动检查和 Gallery 都不能代替本页正式入口的真实 Desktop 验收。
不要把以下路径当成独立产品入口:
- 单独启动
cmd/awaken-core; - 单独打开 Vite renderer;
- 在普通浏览器中用 renderer 页面代替 Electron 验收;
- 直接运行旧的
dist-electron产物。
Design System Gallery
仅检查组件时使用:
npm run open:ui
Gallery 使用 mock state,只能证明组件渲染,不能替代 Awaken Desktop 的产品验收。
主要目录与 owner
| 路径 | 职责 |
|---|---|
cmd/awaken-core |
本地 Core 可执行入口 |
apps/desktop |
Electron main/preload/renderer 与 Desktop 产品行为 |
src/agentcore |
Agent loop、上下文构建、工具编排和内部语义事件 |
src/runtime |
thread/run、journal、重放及本地运行时协作 |
src/server |
本地 HTTP/SSE handlers 与服务装配 |
src/protocol/agui |
Awaken 语义事件到 AG-UI-compatible wire 的映射 |
src/tool、src/tools |
工具合同、暴露、权限、Outcome 与内置工具 |
src/mcpclient |
MCP 配置、连接、认证和动态工具桥接 |
src/connectors、src/connectorauth、src/outlook |
Connector 目录/生命周期、宿主账号 OAuth 与 Outlook Graph 本地 MCP |
src/skills、src/skillruntime |
Skill 发现、激活和执行 |
src/plugins |
Agent Plugins 包格式、安装生命周期,以及向 08/06 提供 root 与 plugin-scope 配置 |
scripts |
Desktop、构建与验收自动化 |
Awaken Design System |
UI-only 组件、tokens、资源和 Gallery |
docs |
按产品功能域组织的确定性工程知识库 |
Coding Agent 读档路径
协作、读档与完成规则见 AGENTS.md。需要领域背景时,从下方功能文档目录进入受影响功能,先读需求,再按任务读取实现方案;真实 Desktop 验证使用本 README 的正式入口。
项目级硬边界
- Desktop 是正式产品 consumer,并拥有
awaken-core的本地生命周期;不得增加需要用户独立维护的第二套 Core 入口。 - Workbench 中间区域的 ownership、唯一滚动容器和
center/dock形态不得绕过;具体规则只以 架构契约 为准。 Awaken Design System不得依赖 Electron、HTTP/SSE、Agent Core、MCP 或产品 store;Desktop 也不得从其源码内部路径建立私有耦合。src/agentcore不依赖src/protocol/agui;内部语义与外部 wire 由协议映射层隔离。- Renderer 不拥有后端权限、路径安全、凭据或持久化策略;这些决策必须留在相应 Main/Core owner。
- Gallery、旧截图、旧验收摘要和绕过 Desktop 的 provider smoke 不能作为真实产品通过证据。
Bash以 Desktop 向awaken-core注入的当前登录用户身份和 login 环境直接执行,不经过 restricted/staging broker,也不声称 workspace 隔离、全部副作用可观测或任意删除可恢复;TaskScope、Trash 与 staging 只属于实际选用的 typed 工具及dependency_install、git_remote、MCP Artifact bridge。Computer-ready run 同时暴露Bash与三个computer_*工具:前者用于 CLI、Python/Typst、构建和 Skill 脚本,后者用于直接 GUI 观察与输入。只有 Computer lane 内动作受其 review、lease/fence 和 verify 约束,Bash 事件保持独立且不能冒充 Computer 证据。消息发送不经过 Awaken 人工审核门。- 不得把 A2UI、原生 OS Computer Use、MCP WebSocket、完整 OAuth/401 自动恢复、全平台强制 Shell overlay 等尚未实现或不完整能力写成当前支持。
- Memory/Dream 的已实现范围、child 对父
MemoryRecallSnapshot的继承约束和真实 Desktop/跨平台验收缺口只以 11 长期记忆 为准。 - 不提交 secret、userData、依赖目录或生成产物;不覆盖或清理与当前任务无关的本地改动。
- 代码改变产品事实时,必须在同一任务同步更新唯一权威文档和当前验收证据。
文档状态
正式知识库不得保存长期历史切片、修复流水账、完成记录或一次性实施计划。仍有效的设计背景必须改写为当前原因、约束或明确限制,进入对应权威文档后再删除旧载体。
发现代码、Desktop、测试与文档不一致时,以可复核的当前事实为依据停止错误声明:先记录差异并确认 owner,再决定修代码还是修文档,不能用文档掩盖产品缺口。
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found