diff --git a/docs/02-user-guide/06-agents/02-marketplace.md b/docs/02-user-guide/06-agents/02-marketplace.md index 0d065ec..bdafe38 100644 --- a/docs/02-user-guide/06-agents/02-marketplace.md +++ b/docs/02-user-guide/06-agents/02-marketplace.md @@ -6,17 +6,17 @@ keywords: [智能体市场, Agent Market, 安装, 更新, 卸载] # 智能体市场 -智能体市场(Agent Market)是发现和获取智能体的中心。你可以在这里浏览官方和社区提供的智能体,一键安装到本地使用。 +智能体市场(Agent Market)是发现和获取智能体、技能和应用的中心。你可以在这里浏览官方和社区提供的条目,一键安装到本地使用。 ## 进入市场 -点击主导航栏中的"市场"图标即可进入。市场主界面包含三个标签页: +点击主导航栏中的"市场"图标即可进入。新版市场会以搜索、分类、推荐区块和响应式网格展示条目。市场主界面包含三个标签页: | 标签页 | 内容 | |---|---| | **Agent** | 智能体模板,安装后成为你的专属助手 | | **Skill** | 技能包,扩展智能体的能力 | -| **应用** | 与 DesireCore 集成的第三方应用 | +| **应用** | 与 DesireCore 集成的第三方应用或服务入口 | ## 浏览和搜索 @@ -37,6 +37,7 @@ keywords: [智能体市场, Agent Market, 安装, 更新, 卸载] - **关键词搜索**:在名称、描述、标签中搜索 - **过滤条件**:按分类、安装状态、来源仓库筛选 - **排序方式**:按更新时间、名称或热度排序 +- **来源状态**:区分官方、社区、受信任仓库和自定义仓库 ### 项目卡片 @@ -50,6 +51,12 @@ keywords: [智能体市场, Agent Market, 安装, 更新, 卸载] 点击卡片进入详情页,查看完整介绍、功能特性和变更日志。 +## Registry 与 Pointer + +市场条目来自 metadata registry。某些条目本身只保存 pointer:它描述条目的来源仓库、版本、校验信息和安装入口,真正内容在安装时再下载。 + +这种方式让第三方条目可以远程更新,同时保留校验、来源和许可提示。 + ## 安装智能体 ### 安装步骤 @@ -59,6 +66,8 @@ keywords: [智能体市场, Agent Market, 安装, 更新, 卸载] 3. 等待下载和配置完成 4. 安装成功后,在对话页面切换到新智能体即可开始使用 +Skill 安装时可以选择全局安装或安装到指定智能体。应用安装后,可能会派生出服务条目,并进入 [应用与服务目录](../capabilities/app-service-catalog) 管理。 + :::info 安装过程 安装时,DesireCore 会下载智能体的配置文件并写入本地的 AgentFS 文件系统。整个过程通常只需要几秒钟。 ::: @@ -97,6 +106,8 @@ keywords: [智能体市场, Agent Market, 安装, 更新, 卸载] 如果你手动修改过智能体的配置,更新时系统会检测到偏离并跳过覆盖,保护你的自定义内容。 ::: +如果本地修改和远端更新冲突,系统会进入冲突解决流程,而不是直接覆盖你的文件。详见 [版本管理](./08-version-control.md)。 + ### 卸载 1. 在已安装的智能体上点击菜单按钮 diff --git a/docs/02-user-guide/06-agents/06-agent-files.md b/docs/02-user-guide/06-agents/06-agent-files.md index 90b0f4d..c4f4755 100644 --- a/docs/02-user-guide/06-agents/06-agent-files.md +++ b/docs/02-user-guide/06-agents/06-agent-files.md @@ -22,6 +22,7 @@ keywords: [AgentFS, 文件系统, 资源管理器, 智能体文件, 文件结构 ├── skills/ # 技能目录 │ └── / # 每个技能一个目录 │ └── SKILL.md # 技能说明文档 +├── skill_permissions.json # 技能启用、排除和权限策略 ├── tools/ # 工具注册 ├── workflows/ # 工作流定义 ├── schedules/ # 定时任务定义 @@ -86,6 +87,9 @@ DesireCore 的设计理念是"一切皆文件"。文件比数据库更透明— | `memory/_policy.json` | JSON | 记忆压缩与保留策略 | | `memory/*.md` | Markdown | 记忆条目:学到的知识和偏好 | | `skills/*/SKILL.md` | Markdown | 技能文档:技能说明和执行指令 | +| `skills/*/references/` | 任意 | 技能参考资料 | +| `skills/*/scripts/` | 脚本 | 技能可复用脚本 | +| `skill_permissions.json` | JSON | 全局技能排除、技能工具权限等策略 | | `tools/*.json` | JSON | 工具注册:可调用工具的参数定义 | | `heartbeat/HEARTBEAT.md` | Markdown | 心跳检查内容:智能体主动巡检时关注什么、如何判断和如何汇报 | | `workflows/*.yaml` | YAML | 可视化工作流 DSL | @@ -96,6 +100,22 @@ DesireCore 的设计理念是"一切皆文件"。文件比数据库更透明— 调整默认模型时,请使用 `agent.json` 的 `llm` 字段;调整日期、时间和跨日提醒时,请使用 `env` 字段;调整心跳开关时优先使用心跳设置,也可以查看 `agent.json.heartbeat.enabled`;调整记忆自动压缩时,请编辑 `memory/_policy.json`。 ::: +## 项目级 Skill 文件 + +除了智能体自己的 `skills/` 目录,当前工作目录也可以提供项目级 Skill: + +``` +/ +├── .agents/ +│ └── skills/ +│ └── /SKILL.md +└── .claude/ + └── skills/ + └── /SKILL.md +``` + +`.agents/skills` 是 DesireCore 推荐路径,`.claude/skills` 用于兼容已有项目。项目级 Skill 不属于某个智能体的 AgentFS,但会在该项目作为工作目录时参与能力加载。 + ## 下一步 - [技能管理](./07-skills-management.md) — 了解如何为智能体添加和管理技能 diff --git a/docs/02-user-guide/06-agents/07-skills-management.md b/docs/02-user-guide/06-agents/07-skills-management.md index be9880a..5e38160 100644 --- a/docs/02-user-guide/06-agents/07-skills-management.md +++ b/docs/02-user-guide/06-agents/07-skills-management.md @@ -61,7 +61,9 @@ DesireCore 会从多个来源发现技能: 3. 查看技能说明、依赖和风险提示 4. 点击安装并按提示确认 -全局市场技能安装后会写入全局技能目录,所有智能体都能发现;绑定到智能体的技能则写入对应智能体仓库。 +安装 Skill 时可以选择安装目标:全局、指定智能体,或项目级目录。全局市场技能安装后会写入全局技能目录,所有智能体都能发现;绑定到智能体的技能会写入对应智能体仓库;项目级 Skill 只在对应工作目录下生效,适合把团队规范、项目脚本和本地模板随项目一起维护。 + +### 移除技能 ### 本地导入 @@ -134,6 +136,39 @@ DesireCore 自带一组全局技能,包括技能创建、文档处理、PDF、 技能描述越清晰,智能体越容易在合适的任务中自动选择它。建议在 `description` 和正文开头明确写出“何时使用”和“不要在什么情况下使用”。 ::: +## Skill 来源优先级 + +同一个任务中,智能体会综合多个来源的 Skill: + +| 来源 | 典型路径 | 适用范围 | +|------|----------|----------| +| 项目级 Skill | `/.agents/skills/` | 当前项目或工作目录 | +| Claude 兼容 Skill | `/.claude/skills/` | 兼容已有 Claude 项目配置 | +| 智能体 Skill | `agents//skills/` | 当前智能体 | +| 全局 Skill | 全局技能目录 | 所有智能体 | + +当 `.agents/skills` 和 `.claude/skills` 同时存在时,DesireCore 优先使用 `.agents/skills`。这允许你在不破坏旧项目的前提下逐步迁移到 DesireCore 原生结构。 + +## Skill 导出 + +在 Skill 详情页可以单独导出 Skill。导出的 ZIP 会包含: + +- `SKILL.md` +- 可选的脚本、参考资料、模板和资源文件 +- 元数据、输入输出 schema 和本地化内容 + +导出 Skill 适合在团队间共享单个能力,而不是导出整个智能体。 + +## 多语言和资源引用 + +Skill 可以声明本地化内容。界面语言为中文时,智能体会优先加载中文说明;界面语言为英文时,会加载英文说明。这样同一个 Skill 可以在多语言团队里保持一致行为。 + +Skill 文档中可以使用 `${SKILL_DIR}` 或 `{{SKILL_DIR}}` 引用自身目录下的资源,例如模板、脚本或示例文件。执行时系统会把占位符解析为真实路径,避免在不同设备上硬编码绝对路径。 + +:::info 自动注入 +并非所有 Skill 都会自动进入模型上下文。只有被显式调用、被智能体判定需要,或在元数据中允许自动注入的 Skill,才会被加载。这样可以减少上下文污染和无关工具暴露。 +::: + ## 下一步 - [技能包详解](../09-capabilities/04-skill-packs.md) — 理解技能与工具的关系 diff --git a/docs/02-user-guide/06-agents/08-version-control.md b/docs/02-user-guide/06-agents/08-version-control.md index 4d4142f..c4a1493 100644 --- a/docs/02-user-guide/06-agents/08-version-control.md +++ b/docs/02-user-guide/06-agents/08-version-control.md @@ -111,6 +111,32 @@ DesireCore 中的每个智能体都是一个 Git 仓库。你对智能体的每 导出时可以按智能体、技能、记忆、工作区等类别选择内容。导出的文件可在另一台设备上导入使用,也可以通过公开 URL 导入公开智能体仓库。 +## 同步和冲突解决 + +从市场或远程仓库安装的智能体可以检查更新。当远端有新版本时,DesireCore 会比较本地 Git 状态: + +- 本地没有改动:可以直接更新 +- 本地有改动但不冲突:自动合并并记录 commit +- 本地和远端修改了同一文件:进入冲突解决流程 + +冲突出现时,界面会显示冲突 badge,并打开解决对话框。你可以: + +| 操作 | 说明 | +|------|------| +| 保留本地 | 使用你当前的文件内容 | +| 使用远端 | 使用市场或远程仓库的新版本 | +| 手动编辑 | 在 DiffEditor 中合并内容后保存 | +| 保留两者 | 另存一份,避免丢失任一版本 | + +冲突解决完成后,系统会自动提交一次合并结果。若远端文件被删除,本地修改也会在冲突列表中明确展示。 + +## Clone、Fork 与团队分发 + +除了发布单个智能体,DesireCore 还支持克隆智能体和团队级版本管理: + +- [Clone 与同步](./clone-and-sync) — 复制智能体,选择是否复制私有数据,并处理后续同步 +- [团队版本管理](./team-version-control) — 团队远程托管、fork、release 和市场分发 + ## 下一步 - [团队版本管理](./09-team-version-management.md) — 把整支智能体团队当作一个整体进行版本管理 diff --git a/docs/02-user-guide/06-agents/09-clone-and-sync.md b/docs/02-user-guide/06-agents/09-clone-and-sync.md new file mode 100644 index 0000000..ee410f1 --- /dev/null +++ b/docs/02-user-guide/06-agents/09-clone-and-sync.md @@ -0,0 +1,48 @@ +--- +title: Clone 与同步 +description: 克隆智能体、选择私有数据复制范围,并处理远程同步冲突。 +keywords: [Clone, 克隆智能体, 同步, 冲突解决, Agent Git] +--- + +# Clone 与同步 + +Clone 用于基于现有智能体创建一个新副本。它适合做实验、为不同项目准备变体,或把市场智能体调整成自己的版本。 + +## 克隆方式 + +| 场景 | 行为 | +|------|------| +| 本地智能体 | 复制 AgentFS,创建新的智能体 ID | +| 带远程来源的智能体 | 可选择保留远程关系、fork 或作为纯本地副本 | +| 市场智能体 | 复制核心配置,后续仍可检查远端更新 | + +核心 DesireCore 智能体通常不允许被克隆,以避免破坏主控入口。 + +## 私有数据选项 + +克隆时可以选择是否复制用户私有数据: + +- 记忆 +- 偏好 +- 关系数据 +- 本地资源文件 + +如果你只是想把一个智能体分享给别人,不建议复制私有数据。若你是给自己创建分身,可以按需保留这些内容。 + +## 同步更新 + +克隆后的智能体如果仍保留远程来源,可以继续检查更新。更新时会走 Git 合并流程,并在冲突时展示冲突文件列表。 + +## 冲突处理 + +当本地和远端都修改了同一个文件时,DesireCore 会阻止直接覆盖,并提供冲突解决对话框: + +1. 查看冲突文件列表 +2. 打开 Diff 查看本地和远端差异 +3. 选择保留本地、使用远端、手动编辑或保留两者 +4. 保存后系统自动提交解决结果 + +:::tip +如果你长期大幅改造市场智能体,可以考虑 fork 成自己的远程仓库,这样后续更新策略更清晰。 +::: + diff --git a/docs/02-user-guide/06-agents/10-team-version-control.md b/docs/02-user-guide/06-agents/10-team-version-control.md new file mode 100644 index 0000000..bb8e216 --- /dev/null +++ b/docs/02-user-guide/06-agents/10-team-version-control.md @@ -0,0 +1,36 @@ +--- +title: 团队版本管理 +description: 使用 Git 远程托管团队、发布 release,并通过市场分发团队智能体。 +keywords: [团队, Git, Release, Fork, Market, 远程托管] +--- + +# 团队版本管理 + +团队也可以像智能体一样使用 Git 管理。团队版本管理适合多人维护一组智能体、统一发布版本,并通过市场或远程仓库分发。 + +## 能力概览 + +| 能力 | 说明 | +|------|------| +| 远程托管 | 为团队配置 Git remote,推送和拉取团队配置 | +| Fork 安装 | 从远程团队创建自己的本地副本 | +| Release | 为团队生成可安装的版本快照 | +| 市场分发 | 把团队发布到市场,供其他用户安装 | +| 成员锁定 | 团队内成员智能体可以跟随团队版本固定 | + +## 典型流程 + +1. 团队负责人配置远程仓库 +2. 提交团队结构、成员智能体和共享资源 +3. 创建 release,填写版本说明 +4. 发布到市场或分享远程仓库地址 +5. 其他用户通过 fork 安装团队 + +## 隐私边界 + +团队发布默认只包含团队结构、智能体核心配置、技能和共享资源。个人对话、用户私有记忆、运行日志和本地缓存不会作为团队 release 的一部分发布。 + +## 更新和冲突 + +已安装团队可以检查远端更新。如果你本地修改了团队成员或共享资源,更新时可能触发冲突解决。处理方式与智能体同步类似:保留本地、使用远端、手动合并或保留两者。 + diff --git a/docs/02-user-guide/09-capabilities/04-skill-packs.md b/docs/02-user-guide/09-capabilities/04-skill-packs.md index b7d138c..f4a3dfb 100644 --- a/docs/02-user-guide/09-capabilities/04-skill-packs.md +++ b/docs/02-user-guide/09-capabilities/04-skill-packs.md @@ -50,12 +50,14 @@ my-skill/ ## 技能如何生效 -技能有两种主要触发方式: +技能可以通过以下方式进入当前任务: | 方式 | 说明 | 适合场景 | |------|------|----------| -| 显式调用 | 用户通过命令、技能列表或界面指定某个技能 | 你明确知道要用哪个技能 | +| 显式调用 | 用户通过 `/skill:技能名`、技能列表或界面指定某个技能 | 你明确知道要用哪个技能 | | 自动匹配 | 智能体根据任务和技能描述判断是否加载 | 你只描述目标,不关心具体技能 | +| 项目注入 | 当前工作目录的 `.agents/skills` 或 `.claude/skills` 提供项目级能力 | 团队规范、项目脚本和模板随项目维护 | +| 自动注入 | Skill 元数据允许时,系统可把内容自动加入上下文 | 轻量规则、常驻约束或明确声明的能力 | 技能可声明 `user-invocable`、`disable-model-invocation`、`allowed-tools`、`context` 等字段,用来控制用户是否能直接调用、模型是否能自动触发、执行时可用哪些工具,以及是否使用 fork 子上下文。`disable-model-invocation` 也兼容 `disable_model_invocation` 写法。 @@ -67,6 +69,8 @@ my-skill/ 自动匹配依赖技能描述和触发条件。你只需要描述目标,智能体会判断是否需要加载某个启用的技能。它适合你只关心结果、不想手动决定流程的情况。 +自动注入会受 Skill 配置控制。对于大型 Skill,系统通常只注入摘要或在需要时再加载详情,以节省上下文。 + 只有启用状态的技能会进入候选范围。如果技能声明了 `allowed-tools`,智能体只能在该技能允许的工具范围内执行;如果技能关闭模型自动调用,则不会被模型主动匹配,只能由用户或界面显式调用。 ## 技能来源与优先级 @@ -125,6 +129,32 @@ DesireCore 附带一组通用全局技能,用于常见的专业任务: 这些技能随客户端和市场同步自动维护。你可以查看、禁用或复制它们,也可以创建自己的技能覆盖特定工作流。 +### 项目级技能 + +项目级技能放在工作目录中,跟随项目而不是跟随某个智能体。推荐路径是: + +``` +/.agents/skills//SKILL.md +``` + +DesireCore 也兼容: + +``` +/.claude/skills//SKILL.md +``` + +项目级技能适合放团队代码规范、项目部署步骤、报告模板、数据处理脚本等内容。 + +### 资源目录占位符 + +Skill 可以在说明中引用自身目录: + +```md +使用 `${SKILL_DIR}/templates/report.docx` 作为报告模板。 +``` + +运行时 `${SKILL_DIR}` 会被替换为该 Skill 的真实路径。 + ## 管理已安装的技能 在技能管理中,你可以维护技能的可用状态和来源: diff --git a/i18n/en/docusaurus-plugin-content-docs/current/02-user-guide/06-agents/09-clone-and-sync.md b/i18n/en/docusaurus-plugin-content-docs/current/02-user-guide/06-agents/09-clone-and-sync.md new file mode 100644 index 0000000..a2dae9e --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/02-user-guide/06-agents/09-clone-and-sync.md @@ -0,0 +1,28 @@ +--- +title: Clone and Sync +description: Clone agents, choose private data scope, and resolve remote sync conflicts. +keywords: [Clone, agent clone, sync, conflicts, Agent Git] +--- + +# Clone and Sync + +Clone creates a new agent from an existing one. Use it for experiments, project-specific variants, or personalizing a marketplace agent. + +## Clone Modes + +| Scenario | Behavior | +|----------|----------| +| Local agent | Copies AgentFS and creates a new agent ID | +| Agent with remote source | Can keep remote relation, fork, or become local-only | +| Marketplace agent | Copies core configuration and can still check updates | + +The primary DesireCore agent is usually not cloneable. + +## Private Data + +You can choose whether to copy memory, preferences, relationship data, and local resources. Avoid copying private data when sharing an agent with others. + +## Conflict Resolution + +When local and remote changes touch the same file, DesireCore opens a conflict resolver. You can keep local, use remote, manually merge, or keep both. The resolved result is committed automatically. + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/02-user-guide/06-agents/10-team-version-control.md b/i18n/en/docusaurus-plugin-content-docs/current/02-user-guide/06-agents/10-team-version-control.md new file mode 100644 index 0000000..d7ca78b --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/02-user-guide/06-agents/10-team-version-control.md @@ -0,0 +1,22 @@ +--- +title: Team Version Control +description: Host teams with Git, publish releases, and distribute team agents through the marketplace. +keywords: [team, Git, release, fork, marketplace, remote] +--- + +# Team Version Control + +Teams can be versioned with Git just like agents. This is useful when multiple people maintain a group of agents, publish releases, and distribute them through a marketplace or remote repository. + +## Capabilities + +| Capability | Description | +|------------|-------------| +| Remote hosting | Configure a Git remote for the team | +| Fork install | Create a local copy from a remote team | +| Release | Create an installable team snapshot | +| Marketplace distribution | Publish a team for others to install | +| Member locking | Keep member agents pinned to a team release | + +Personal conversations, private memory, run logs, and local caches are not part of a team release by default. +