Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/01-getting-started/01-system-requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ DesireCore 需要连接互联网来调用 AI 服务。请确保你的网络环
- **能够访问 DesireCore 的更新服务器**:例如 `download.desirecore.net`,以便获取最新版本和安全补丁
- **能够访问 Github 代码托管服务**:如果你需要从 Github 获取市场Agent或Skills等资源,确保能够访问 `github.com` 和相关的 CDN 服务。系统会自动检测网络环境,并在无法访问某些服务时提供替代方案(如使用安全的CDN访问白名单中的仓库)。

**注意:** DesireCore 不内置 AI 模型,而是通过 API 接入第三方服务来提供智能能力。截至当前版本(v10.1.0),DesireCore 仍为纯客户端软件,不包含任何服务器组件;官方也未提供后端 API,更新服务依赖对象存储与 CDN。因此,无需额外部署服务器环境,只要能够访问上述 API,即可正常使用
**注意:** DesireCore 不内置 AI 模型,而是通过 API 接入第三方服务或官方云端算力来提供智能能力。核心数据仍本地优先保存;账号登录、credit/订阅、云端模型列表和更新服务需要访问 DesireCore 在线服务。你也可以只使用自备 API Key 和本地数据运行大部分功能

:::tip 网络不太好?
如果你的网络访问海外服务不太顺畅,可以考虑使用国内供应商(如 阿里云、智谱 GLM、月之暗面 Kimi、DeepSeek、MiniMax、硅基流动等),它们的 API 服务器在国内,延迟更低。
Expand Down
8 changes: 8 additions & 0 deletions docs/01-getting-started/02-installation/01-windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,14 @@ keywords: [Windows, 安装, NSIS, SmartScreen]

<!-- 截图占位: SmartScreen 处理 (windows-smartscreen.png) -->

## 更新和受保护目录

如果使用默认安装位置(`%LOCALAPPDATA%\Programs\DesireCore`),自动更新通常不需要管理员权限。

如果你把 DesireCore 安装到 `C:\Program Files\` 等受保护目录,更新安装器需要管理员权限。此时 Windows 会弹出 UAC 确认窗口;确认后安装器会以管理员身份继续更新。

更新前 DesireCore 会尝试关闭旧进程和相关子进程,避免旧文件被占用。如果更新失败,可以先完全退出 DesireCore,必要时重启电脑后重新运行安装包。

## 卸载

如果你需要卸载 DesireCore:
Expand Down
17 changes: 16 additions & 1 deletion docs/01-getting-started/02-installation/03-linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,22 @@ DesireCore 已在统信 UOS、银河麒麟(Kylin)、深度 Deepin、openKyli
AppImage 是一种便携式应用格式——不需要安装,下载后直接运行。你可以把它放在任何你喜欢的目录里。
:::

## 创建桌面快捷方式
## 推荐:安装 AppImage 启动器

较新的 Linux 包提供 AppImage 启动器安装脚本。它会把 AppImage 放到固定位置,并创建命令行入口、应用菜单项和桌面快捷方式。

典型安装结果:

| 路径 | 用途 |
|------|------|
| `~/.local/share/desirecore/DesireCore.AppImage` | 固定 AppImage 路径 |
| `~/.local/bin/desirecore` | 命令行启动入口 |
| `~/.local/share/applications/desirecore.desktop` | 应用菜单入口 |
| `~/.local/share/desirecore/launcher.env` | 沙箱或启动参数配置 |

如果脚本不可用,也可以继续按下面的方式手动创建桌面快捷方式。

## 手动创建桌面快捷方式

如果你希望从应用菜单中启动 DesireCore,可以手动创建一个桌面入口文件:

Expand Down
11 changes: 9 additions & 2 deletions docs/01-getting-started/04-configure-api-key.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,21 @@ keywords: [API Key, 配置, OpenAI, Claude, DeepSeek, Gemini, 硅基流动, 供

# 配置 API Key

DesireCore 是一个本地优先的应用——你的数据存储在本地,AI 能力通过你自己的 API Key 来接入。配置 API Key 是开始使用 DesireCore 前最关键的一步。
DesireCore 是一个本地优先的应用——你的核心数据存储在本地。AI 能力可以通过两种方式接入:登录后使用官方云端算力,或配置你自己的 API Key。配置 API Key 仍然是高级用户和企业用户最常用的方式,但它已经不是唯一入口。

## 快速开始:云端算力或自备 Key

| 方式 | 适合谁 | 说明 |
|------|--------|------|
| 官方云端算力 | 不想先注册各家供应商的新用户 | 登录后自动绑定 `desirecore-cloud`,按订阅或 credit 使用 |
| 自备 API Key | 已有供应商账号、需要自控成本或企业合规 | API Key 存储在本机系统凭据管理器中 |

## 什么是 API Key?

API Key 就像是你访问 AI 服务的"钥匙"。每个 AI 供应商(如 OpenAI、Anthropic、DeepSeek 等)都提供 API 服务,你需要在它们的网站上注册并获取一个 API Key,然后在 DesireCore 中填入,DesireCore 就能调用对应的 AI 模型了。

:::info 费用说明
使用 API Key 调用 AI 服务会按用量计费,费用直接由对应的供应商收取,DesireCore 本身不收费。不同模型的价格差异很大,从每百万 Token 几分钱到几十美元不等
使用自备 API Key 调用 AI 服务会按用量计费,费用直接由对应供应商收取。使用官方云端算力时,会消耗你的订阅额度或 credit。不同模型的价格和消耗倍率差异很大
:::

## 在 DesireCore 中配置
Expand Down
20 changes: 20 additions & 0 deletions docs/02-user-guide/08-automation/01-heartbeat.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,22 @@ tasks:

如果 `HEARTBEAT.md` 为空或只有注释,心跳不会发起实际检查。

## 结构化结果

心跳检查会由智能体通过 `HeartbeatRespond` 提交结构化结果。它不只是“有无通知”,还会说明当前巡检的 outcome、是否需要提醒、产出文件和下次检查建议。

常见 outcome:

| Outcome | 含义 | 通常行为 |
|---------|------|----------|
| `no_change` | 没有重要变化 | 只记录历史,不打扰 |
| `progress` | 有进展但无需你处理 | 记录摘要,必要时轻提醒 |
| `done` | 监控事项已完成 | 可发送完成通知 |
| `blocked` | 卡住或需要外部条件 | 提醒你处理 |
| `needs_attention` | 需要你关注或决策 | 顶部通知或审批入口 |

心跳结果可以附带 `notificationText`、文件链接、优先级和建议下次检查时间。旧文档中的 OK / Notify / Action 可以理解为这些结构化结果的用户可见层级。

## 心跳结果

智能体完成检查后会自主判断:这次有没有需要打扰你的事情。
Expand Down Expand Up @@ -141,6 +157,10 @@ tasks:
3. **数据源是否可用**:对应的工具、MCP 服务或账户连接是否正常
4. **是否被抑制**:检查是否处于专注模式、安静时段或 Snooze 状态

### 历史汇总文件

心跳会维护历史汇总文件,例如 `heartbeat/history.md`。当心跳发现文件产物、报告或需要你查看的资料时,通知和历史记录中会展示可点击文件链接。

## 瞬态错误处理

心跳遇到网络超时、限流或服务暂不可用等临时错误时会自动重试,最多 4 次,退避间隔依次为 3 秒、8 秒、20 秒和 60 秒。周期性心跳不会因为单次失败而停止。
Expand Down
37 changes: 33 additions & 4 deletions docs/02-user-guide/08-automation/02-notifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,34 @@ keywords: [通知, 提醒, 通知中心, 桌面通知, 审批通知]
| **审批请求** | 命令执行、外部发送、敏感操作等需要确认 | 会话内审批卡片、通知中心跳转、桌面提醒 |
| **系统错误** | 后台服务、工具调用或连接器异常 | 系统通知、活动记录错误日志 |

心跳 OK 结果默认静默记录,不主动推送。心跳 Alert 会以卡片形式出现在对应智能体的对话流中,并可被持久化到该智能体的主对话;它不会写入通知中心。只有心跳执行失败时,才会以系统通知提醒你检查算力、网络或数据源。定时任务查询结果会根据成功或失败进入任务通知或系统通知。
心跳 `no_change` 结果默认静默记录,不主动推送。需要你关注的心跳结果会显示为顶部横幅、对话流卡片或通知;心跳失败、审批和任务类事件也会进入通知中心。定时任务查询结果会根据成功或失败进入任务通知或系统通知。

### 消息通知

来自智能体的对话消息通知。

- **图标**:蓝色铃铛
- **场景**:智能体在对话中发送了新消息

### 系统通知

来自系统层面的通知。

- **图标**:绿色信息图标
- **来源**:心跳检查失败、定时任务执行失败、测试通知等
- **场景**:智能体的心跳检查出现错误、定时任务执行报错

### 任务通知

来自定时任务的完成通知。

- **图标**:紫色勾选图标
- **来源**:定时任务成功执行后的结果
- **场景**:每日早报生成完毕、定时查询返回了结果

:::info 心跳提醒
心跳检查没有重要变化时只记录历史;需要你关注的结果会显示为顶部横幅或通知,失败、审批和任务类事件也会进入通知中心。详见[心跳监控](./01-heartbeat.md)。
:::

## 通知中心

Expand All @@ -36,9 +63,11 @@ keywords: [通知, 提醒, 通知中心, 桌面通知, 审批通知]

- 分类图标和颜色
- 通知标题
- 相对时间,例如“刚刚”“3 分钟前”“2 小时前”
- 通知正文摘要
- 未读指示
- 相对时间(如"刚刚"、"3 分钟前"、"2 小时前")
- 通知正文(支持 Markdown 预览,最多显示两行)
- 未读指示(蓝色圆点)

点击通知可以标记为已读,并跳转到对应对话、审批或任务。审批类通知可以在通知中心内直接批准或拒绝。按 **ESC** 键或点击空白区域可关闭通知中心。

![通知中心面板](./img/notification-center.png)

Expand Down
18 changes: 14 additions & 4 deletions docs/02-user-guide/08-automation/03-scheduled-tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ keywords: [定时任务, 调度, 自动化, 定时提醒, 周期任务, 模板,

如果你想“每天 9 点生成日报”,使用定时任务。如果你想“每 30 分钟看看有没有重要邮件,并且没有变化时别打扰我”,使用[心跳监控](./01-heartbeat.md)。如果智能体只是需要“等 10 秒再继续检查构建结果”,使用 `Sleep`。

:::info 当前上下文不会自动延续
`CreateSchedule` 创建任务后会立即返回。真正到点时,DesireCore 会启动新的执行任务来发送 Prompt,不会继承当前对话里的临时上下文。定时任务的 Prompt 应写成独立可执行的指令
:::info 调度是异步任务
`CreateSchedule` 只负责创建异步调度。任务到期后会在新的运行会话中执行,不继承你当前输入框里的临时上下文。如果是长期监控某个数据源,优先使用心跳;如果是到点执行一段指令,使用定时任务
:::

## 创建方式
Expand Down Expand Up @@ -117,8 +117,6 @@ AgentFS 的调度定义结构还可以表示更高级的字段,例如 `starts_

普通定时任务触发时会向目标智能体发送一段 Prompt。智能体会像收到一条新的任务消息一样执行它,执行结果会进入对应的会话、通知或执行记录。

定时任务触发时会向目标智能体发送 Prompt,智能体会像收到一条新的任务消息一样执行它。

写 Prompt 时建议包含足够上下文:

```text
Expand All @@ -128,6 +126,12 @@ AgentFS 的调度定义结构还可以表示更高级的字段,例如 `starts_

定时任务适合独立执行的内容。需要依赖当前对话临时上下文时,不要把它拆成定时任务;让智能体在当前会话里继续执行,或使用 `Sleep` 做短等待。

创建调度后,智能体会在当前聊天中显示调度创建回执。调度真正触发时,会生成独立运行记录和执行历史。

:::info 心跳调度的唯一性
每个智能体只能有一个心跳类型的调度任务。创建新的心跳调度时,旧的会被自动替换。
:::

## 典型场景

### 每日早报
Expand Down Expand Up @@ -304,6 +308,12 @@ AgentFS 的调度定义结构还可以表示更高级的字段,例如 `starts_

通知的展示取决于任务结果和智能体输出。

如果调度任务产出了文件,通知和执行历史会展示文件链接。失败、跳过、补偿触发也会记录在执行历史中。

:::tip 实时同步
调度任务的状态变化(如触发、暂停、完成)会通过实时通道即时同步到界面,无需手动刷新。
:::

## 文件位置

每个调度任务保存为智能体仓库中的 JSON 文件:
Expand Down
2 changes: 2 additions & 0 deletions docs/02-user-guide/10-settings/03-keyboard-shortcuts.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ DesireCore 内置了三种编辑器快捷键模式,适应不同用户的操作
| 发送消息 | `Enter` |
| 换行 | `Shift + Enter` |
| 取消输入 | `Esc` |
| 采纳预测 | `Tab` 或 `→` |
| Rewind 到检查点 | `Cmd/Ctrl + Alt + Z` |

### 超级文书

Expand Down
78 changes: 60 additions & 18 deletions docs/02-user-guide/10-settings/04-compute-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ keywords: [算力, AI 供应商, API Key, 模型, Provider, LLM, 设置]

# 算力服务配置

算力服务(Compute Service)负责管理 AI 供应商、API Key、模型列表和默认模型映射。智能体需要至少一个可用模型才能理解你的意图、生成回复、调用工具并执行任务;图片、语音、视频、音乐等媒体能力也在这里统一配置。
算力服务(Compute Service)负责管理 AI 供应商、API Key、模型列表和默认模型映射。智能体需要至少一个可用模型才能理解你的意图、生成回复、调用工具并执行任务;图片、语音、视频、音乐等媒体能力也在这里统一配置。你可以配置自己的供应商,也可以登录后使用官方云端算力。

## 基本概念

Expand All @@ -17,6 +17,8 @@ keywords: [算力, AI 供应商, API Key, 模型, Provider, LLM, 设置]
| **API Key** | 供应商颁发的访问密钥,保存在系统凭据管理器中 |
| **模型(Model)** | 具体模型名称,可用于对话、工具调用、图像、语音、视频或音乐等服务 |
| **默认映射** | 为不同任务用途选择默认模型 |
| **官方云端算力** | 登录后自动绑定的 `desirecore-cloud` provider,按订阅或 credit 使用 |
| **服务类型** | 模型用途,例如 chat、tool use、vision、tts、asr、image_gen、video_gen、music_gen |

## 进入算力服务配置

Expand Down Expand Up @@ -46,17 +48,6 @@ DesireCore 内置多家主流供应商模板,也支持自定义 OpenAI 兼容
3. 如有需要,设置 API 格式、媒体 API 地址和服务类型
4. 点击验证,确认 Key 和模型可用

验证结果会显示:

| 状态 | 含义 |
|------|------|
| **可用** | 模型或服务验证通过 |
| **异常** | Key 无权限、地址错误、模型不存在或供应商返回错误 |
| **超时** | 网络或供应商响应超时 |
| **检测中** | 正在验证 |

模型验证会按模型类型选择合适的验证方式。图片、语音、视频、音乐等媒体模型会使用媒体服务路径;当供应商的普通 Base URL 指向非 OpenAI 兼容端点时,`mediaBaseUrl` 可用于媒体请求和验证。

### 自定义供应商

当你的供应商不在内置模板中,或公司内部通过统一网关代理模型时,可以添加自定义供应商。配置时通常需要确认:
Expand All @@ -73,15 +64,66 @@ DesireCore 内置多家主流供应商模板,也支持自定义 OpenAI 兼容
某些供应商区分按量 API Key 与 Token Plan Key。界面会提示 Key 类型是否疑似放错位置,避免配置后模型一直验证失败。
:::

## API Key 安全
## 官方云端算力

登录后,资源面板会自动出现官方云端算力分组。它会同步你当前账号可用的模型,并显示余额、credit、临期额度和相对消耗信息。

云端算力适合:

- 不想手动配置 API Key 的新用户
- 临时试用模型能力
- 使用订阅或 credit 包统一管理消耗

手动 API Key 和官方云端算力可以并存。你仍然可以为某些任务指定自己的供应商。

## 管理 API Key

你的 API Key 通过以下方式得到保护:

- API Key 存储在本地设备的系统凭据管理器中(macOS Keychain / Windows Credential Manager / Linux Secret Service)
- 配置文件中只保存加密引用,不保存明文
- API Key 不会上传到 DesireCore 服务器或任何第三方

修改 API Key:选择供应商后,点击 **编辑** 按钮,输入新的 Key 即可覆盖旧值。

删除供应商实例会移除该实例配置;如果某个智能体仍引用它,需要重新选择可用供应商或调整默认映射。建议按供应商或用途拆分 Key,不要把同一个高权限 Key 同时用于测试、日常任务和生产任务。这样更容易定位账单、限流和权限问题。

## 模型验证

配置完供应商后,建议验证模型是否可用:

1. 选择一个已配置的供应商
2. 点击 **验证全部模型** 按钮
3. 系统会逐一检测每个模型的可用性

验证结果会以状态标签显示:

| 状态 | 含义 |
|------|------|
| **可用** | 模型或服务验证通过 |
| **异常** | Key 无权限、地址错误、模型不存在或供应商返回错误 |
| **超时** | 网络或供应商响应超时 |
| **检测中** | 正在验证 |

模型验证会按模型类型选择合适的验证方式。图片、语音、视频、音乐等媒体模型会使用媒体服务路径;当供应商的普通 Base URL 指向非 OpenAI 兼容端点时,`mediaBaseUrl` 可用于媒体请求和验证。

验证结果会持久化到模型配置中。明确验证失败的模型不会优先出现在聊天模型选择器中,避免误选不可用模型。

## 服务类型和媒体模型

- API Key 使用系统凭据管理器保存(macOS Keychain / Windows Credential Manager / Linux Secret Service)
- 配置文件中只保存引用,不保存明文
- API Key 不会上传到 DesireCore 服务器
不同模型用途不同:

修改 API Key 时,选择对应供应商实例并进入编辑状态,输入新 Key 后保存即可覆盖旧凭据。删除供应商实例会移除该实例配置;如果某个智能体仍引用它,需要重新选择可用供应商或调整默认映射。
| 服务类型 | 用途 |
|----------|------|
| `chat` | 普通对话和文本生成 |
| `tool_use` | 支持工具调用的对话 |
| `vision` / `image_understanding` | 图片理解、扫描 PDF 识别 |
| `tts` / `asr` | 语音合成和语音识别 |
| `image_gen` | 图像生成 |
| `video_gen` | 视频生成 |
| `music_gen` | 音乐生成 |

建议按供应商或用途拆分 Key,不要把同一个高权限 Key 同时用于测试、日常任务和生产任务。这样更容易定位账单、限流和权限问题
图像、视频、音乐等生成类模型不会作为普通聊天模型出现在对话模型选择器中,但可以被对应工具或技能调用

## 默认模型映射

Expand Down
Loading
Loading