Awaken

agent
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Uyari
  • 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 Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

基于 Go 开发的本地优先桌面 AI Agent,围绕桌面 Agent 应具备的能力,支持工具调用、文件处理、长期记忆、多智能体协作、计算机操作、技能与插件扩展、MCP 接入及定时任务。

README.md

Awaken

Awaken

Awaken 是一个本地优先的桌面智能体产品。它以 Awaken Desktop 为唯一产品使用面,在用户选择的工作区中组织多轮任务,由本地 awaken-core 完成模型调用、工具执行、事件记录与恢复,再把可验证的过程和交付物投影到桌面工作台。

除另有声明的内容外,Awaken 采用 MIT 许可证,允许使用、修改、分发和商业使用,需保留版权及许可证声明。第三方组件和资源继续遵循各自许可证,参见 Design System 第三方声明和 Desktop 第三方许可证。

本仓库中的文档只描述当前实现、当前 Desktop 行为、仍有效的产品设计和当前验收结论。详细事实按功能域进入 docs/;本 README 只承担项目总入口。

界面与功能

以下截图来自 macOS 上实际运行的 Awaken Desktop 开发版。文件交付示例使用豆包 Doubao-Seed-Evolving 和虚构销售数据;截图中的模型、插件与技能取决于本机配置。

项目与任务工作台

在工作台中描述任务、选择模型,并按需加入技能与插件。左侧按项目组织会话,中间查看执行过程和结果,右侧打开文件与交付物。

Awaken 项目与任务工作台

从任务到文件交付

把数据整理成 Excel 分析表和 Markdown 经营简报,完成后从交付卡片打开文件,在同一工作台查看结果。

本例生成了销售明细、汇总分析和图表,使用的销售数据均为虚构数据。演示过程中补充了本机 Python 路径后完成生成;文件生成所需环境及当前限制见本机依赖与文件生成。

任务完成后的文件交付卡片

Excel 汇总分析与图表预览

查看经营简报与任务执行过程

Markdown 经营简报预览

豆包调用工具生成文件的执行过程

内置技能与项目技能

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

Awaken 内置技能

按项目组织与管理 Skills

办公插件

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

Outlook、钉钉与飞书插件入口

模型选择与推理强度

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

选择已配置的模型

调整模型推理强度

API 与套餐用量

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

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,再决定修代码还是修文档,不能用文档掩盖产品缺口。

Yorumlar (0)

Sonuc bulunamadi