面向多 AI Agent 工作流的本地优先资产管理器
AgentDock 是一个本地优先的 Agent 资产管理工具,用于集中管理不同 AI 终端和项目中会用到的配置、规则和能力文件。
AgentDock 计划支持:
- 🧩 Skills
- 📄 AGENTS.md
- 📜 Rules
- 💬 Prompts
- 🗂 Profiles
- 🎯 Targets
- 🔁 Sync Matrix
核心目标:
在一个地方维护 Agent 相关资产,再按需同步到不同项目、工具或本地目录。
当前项目处于 Prototype / Phase 1 阶段。
第一阶段使用 Electron,主要是为了快速验证产品闭环和本地文件同步能力。
Electron 不是最终目标架构。当前代码已实现:
- Asset 管理流程
- 本地 Registry 结构
- Skill / AGENTS.md Asset 编辑与保存
- 本地快照创建与恢复
- Target 目录管理
- Codex Application Settings 与目录检测
- 中英文界面切换
当前阶段下一步实现:
- Sync Matrix 交互
- 同步预览与手动同步
- AGENTS.md 托管区块合并
长期目标架构:
Tauri + React + TypeScript + Rust + SQLite
| 类型 | 技术 |
|---|---|
| 桌面容器 | Electron |
| 前端框架 | React |
| 开发语言 | TypeScript |
| 构建工具 | Vite |
| 本地数据库 | SQLite |
| SQLite 驱动 | better-sqlite3 |
| 包管理器 | pnpm |
| 状态管理 | Zustand |
| 编辑器 | CodeMirror 6 |
| Markdown / YAML | gray-matter / yaml |
| Diff | jsdiff |
| 文件系统 | fs-extra |
| 打包 | electron-builder |
| 类型 | 技术 |
|---|---|
| 桌面容器 | Tauri |
| 前端框架 | React |
| 前端语言 | TypeScript |
| 本地核心 | Rust |
| 本地数据库 | SQLite |
| 文件系统 | Rust fs / Tauri fs |
| Git 集成 | git2-rs / system git |
| 安全扫描 | Rust |
| 打包 | Tauri Bundler |
┌──────────────────────────────┐
│ React UI │
│ Assets / Targets / Sync │
└───────────────┬──────────────┘
│
┌───────────────▼──────────────┐
│ Electron Main │
│ IPC / File System / SQLite │
└───────────────┬──────────────┘
│
┌───────────────▼──────────────┐
│ Core Services │
│ Asset / Target / Sync │
└───────┬──────────────┬───────┘
│ │
┌───────▼──────┐ ┌─────▼──────────────┐
│ SQLite Store │ │ Local File Registry │
└──────────────┘ └────────────────────┘
┌──────────────────────────────┐
│ React UI │
│ React + TypeScript + Vite │
└───────────────┬──────────────┘
│
┌───────────────▼──────────────┐
│ Tauri Commands │
│ UI 与 Core 的类型化桥接 │
└───────────────┬──────────────┘
│
┌───────────────▼──────────────┐
│ Rust Core │
│ File / Sync / Scan / Git │
└───────┬──────────────┬───────┘
│ │
┌───────▼──────┐ ┌─────▼──────────────┐
│ SQLite │ │ Local File Registry │
└──────────────┘ └────────────────────┘
后续 Rust Core 主要负责:
- 文件系统操作
- Asset 同步
- Checksum 计算
- AGENTS.md 托管区块合并
- 本地快照管理
- 安全扫描
- Git 备份集成
- 路径与权限校验
React + TypeScript 主要负责:
- Asset 编辑器
- Target 管理
- 同步矩阵
- Diff 预览
- 设置页面
- 状态展示
- 本地优先:核心数据默认保存在本机。
- Git 可选:Git 只作为备份和协作能力,不作为核心依赖。
- 资产模型统一:Skills、AGENTS.md、Rules、Prompts 统一抽象为 Asset。
- 显式同步:Asset 只会同步到用户选择的 Target。
- 安全合并:涉及已有文件时优先使用托管区块。
- 适配器预留:后续通过 Adapter 支持不同 AI 工具的目标格式。
AgentDock 当前采用 Monorepo 结构,但已经开始把平台无关逻辑从桌面应用中抽离出来。
AgentDock/
apps/
desktop/
src/
main/ # Electron main process
preload/ # preload bridge
platform/
electron/ # Electron / SQLite / fs 实现
renderer/
client/ # agentdockClient
i18n/ # UI internationalization
App.tsx # 当前原型主界面
main.tsx # React 入口
global.d.ts # window API typing
packages/
core/
src/
asset/ # Asset 业务逻辑与仓储接口
ports/ # FileSystem / Path 等抽象
snapshot/ # Snapshot 业务逻辑与仓储接口
target/ # Target 业务逻辑与仓储接口
types/ # 领域模型与基础类型
shared/
src/
agentdockApi.ts # renderer / preload / main 共享 contract
docs/
architecture/ # 架构边界与迁移规划
mvp/ # Phase 1 里程碑追踪
AGENTS.md
README.md
package.json
pnpm-workspace.yaml
随着 Phase 1 继续推进,目录会逐步演进到下面的结构。这里表示的是目标,不代表当前全部已经落地。
AgentDock/
apps/
desktop/
src/
main/
preload/
platform/
electron/
renderer/
client/
i18n/
pages/
components/
stores/
packages/
core/
src/
asset/
target/
sync/
snapshot/
managed-block/
ports/
types/
shared/
src/
agentdockApi.ts
schema/
src/
adapters/
src/
custom-folder/
codex/
claude/
cursor/
gemini/
docs/
architecture/
mvp/
product/
AgentDock 默认将本地数据保存在:
~/.agentdock/
agentdock.db
settings.yaml
registry/
assets/
targets/
deployments/
示例:
~/.agentdock/
agentdock.db
registry/
assets/
frontend-review/
current/
asset.yaml
SKILL.md
snapshots/
frontend-agents/
current/
asset.yaml
AGENTS.md
snapshots/
deployments/
lock.yaml
registry/assets/frontend-review/
current/
asset.yaml
SKILL.md
snapshots/
id: frontend-review
type: skill
name: frontend-review
title: 前端代码审查
description: 用于审查前端项目规范和实现细节
version: 0.1.0
status: active
tags:
- frontend
- reviewregistry/assets/frontend-agents/
current/
asset.yaml
AGENTS.md
snapshots/
id: frontend-agents
type: agents-md
name: frontend-agents
title: 前端项目 AGENTS.md
description: 用于前端项目的 Agent 协作规则
version: 0.1.0
status: active
tags:
- frontend
- project当前 Prototype 阶段的默认输出路径:
<target-path>/.agentdock/skills/<asset-id>/SKILL.md
示例:
~/projects/demo/.agentdock/skills/frontend-review/SKILL.md
当前 Prototype 阶段的默认输出路径:
<target-path>/AGENTS.md
为了避免覆盖用户手写内容,AgentDock 使用托管区块:
<!-- agentdock:start frontend-agents@0.1.0 -->
Generated content
<!-- agentdock:end frontend-agents -->同步时只更新托管区块,不直接覆盖用户手写内容。
git clone https://github.com/<your-username>/AgentDock.git
cd AgentDocknpm install -g pnpm或:
corepack enable
corepack prepare pnpm@latest --activatepnpm installpnpm devpnpm build当前 Prototype 可演示以下流程:
- 创建一个 Skill Asset。
- 创建一个 AGENTS.md Asset。
- 在 Local Registry 中打开并编辑 Asset。
- 保存并自动生成本地快照。
- 恢复历史快照并验证内容回滚。
后续同步功能完成后的 Skill 输出示例:
<target-path>/.agentdock/skills/<asset-id>/SKILL.md
后续同步功能完成后的 AGENTS.md 输出示例:
<target-path>/AGENTS.md
- Electron 桌面应用
- Skill Asset
- AGENTS.md Asset
- 本地 Registry
- Target 目录
- 同步矩阵
- 手动同步
- 本地快照
- Rules Asset
- Prompt Asset
- Profile 分组
- 同步预览
- 基础 Diff
- 快照恢复
- Claude Adapter
- Codex Adapter
- Cursor Adapter
- Gemini Adapter
- Custom Folder Adapter
- 桌面容器迁移到 Tauri
- 文件操作迁移到 Rust
- 同步引擎迁移到 Rust
- 保留 React + TypeScript UI
- 可选 Git 备份
- 本地导入
- ZIP 导入
- Git-based Market
- HTTP Registry
- Asset 扫描
- Script 策略
- 信任等级
- 风险提示
- 安全部署规则
# 安装依赖
pnpm install
# 启动开发环境
pnpm dev
# 构建
pnpm build
# Lint,后续加入
pnpm lint
# Test,后续加入
pnpm testMIT