# dclaw **Repository Path**: domky/dclaw ## Basic Information - **Project Name**: dclaw - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-09 - **Last Updated**: 2026-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DClaw 小龙虾 🦞 > AI 桌面助手 - 参考 Claude Code 架构设计,基于"平台即框架,功能即 Agent"理念 --- ## 🌟 平台定位与愿景 **DClaw** 是一个基于 AI Agent 架构的桌面助手平台,致力于成为开发者和知识工作者的智能协作伙伴。 ### 🎯 平台价值 | 价值维度 | 说明 | |---------|------| | **智能协作** | 通过多 Agent 协作系统,将复杂任务分解并交由专业 Agent 处理 | | **灵活扩展** | Agent/Tool/Skill 热插拔架构,支持自定义扩展和分享 | | **隐私安全** | 本地运行,数据加密存储,API Key 本地加密保存 | | **多模型兼容** | 支持国内外主流 AI 厂商和本地模型 | | **开放生态** | 支持 Skill 市场和社区分享,构建开放的能力生态 | ### 🚀 未来展望 - **技能市场**: 构建开放的 Skill 社区,支持用户分享和安装各类 AI 技能 - **团队协作**: 支持多用户协作和团队知识库共享 - **智能体生态**: 打造丰富的 Agent 生态,覆盖更多专业领域 - **跨平台支持**: 从桌面扩展到 Web 和移动端 - **MCP 协议集成**: 支持 Model Context Protocol,与更多 AI 工具互联 --- ## 🏗️ 核心架构设计 ### **平台即框架,功能即 Agent** DClaw 采用 **"平台做框架,Agent+Tool+Skill 实现功能"** 的架构理念,实现高度的模块化与可扩展性。 ### 架构分层 ``` ┌─────────────────────────────────────────────────────────┐ │ DClaw 平台(核心框架) │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Agent Loop │ │ 路由与调度 │ │ 消息管道 │ │ │ │ 引擎 │ │ 系统 │ │ 机制 │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ 上下文管理 │ │ 记忆系统 │ │ 工具执行器 │ │ │ │ │ │ │ │ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ └────────────────────┬────────────────────────────────────┘ │ 注册/调用/调度 ┌─────────────────────────────────────────────────────────┐ │ 功能层(Agent+Tool+Skill) │ │ │ │ 📂 WorkspaceAgent → 工作空间管理工具集 │ │ 💻 CodeAgent → 代码编辑/审查工具集 │ │ 🌐 WebAgent → 搜索/浏览工具集 │ │ 📝 DocAgent → 文档处理 Skill │ │ 📊 DataAgent → 数据分析 Skill │ │ ... (可扩展) │ └─────────────────────────────────────────────────────────┘ ``` ### 核心模块 | 模块 | 核心特性 | 说明 | |------|---------|------| | **Agent Loop 引擎** | 7×10 状态机 · 四阶段压缩 · 动态 Token | 驱动智能体的思考与行动循环 | | **路由与调度系统** | LLM 意图识别 · 专用优先 · General 兜底 | 精准匹配用户意图与最合适的 Agent | | **消息管道机制** | 三层管道 · 流式输出 · 可视化 | 确保消息的安全传输与格式化 | | **上下文与记忆** | 短期上下文 · JSON 存储 · LLM 自动提取 | 让 AI 越用越懂你 | | **工具系统** | 类型安全 · 三级权限 · 热加载 · 动态工具 | 为 Agent 提供能力扩展 | ### 执行流程 ``` 用户输入 → RouterAgent 意图识别 → 选择 Worker Agent → Worker 执行 (思考 → 工具调用 → 结果处理) → 上下文压缩 → 判断是否继续 → 输出结果 ``` --- ### 🎯 核心原则 | 原则 | 说明 | |------|------| | **平台稳定** | 核心框架代码不频繁修改,提供稳定的运行时环境 | | **功能解耦** | 每个功能由独立的 Agent 实现,职责单一 | | **热插拔** | Agent/Tool/Skill 可随时启用/禁用/替换 | | **用户自定义** | 支持自定义 Agent,通过 Skill 市场分享 | | **低耦合** | 新增功能不改动平台代码,只需添加组件 | --- ### 📊 架构优势 ``` ┌─────────────────────────────────────────────────────────┐ │ 易维护 平台核心代码稳定,功能代码独立 │ │ 易扩展 添加新功能只需创建新 Agent/Tool/Skill │ │ 易定制 用户可按需启用/禁用功能 │ │ 生态化 支持 Skill 市场,形成开发者生态 │ │ 高复用 Agent/Tool 可跨场景复用 │ └─────────────────────────────────────────────────────────┘ ``` --- ## ✨ 核心功能 ### 💬 AI 对话 - **快速对话**: 简洁高效的 AI 问答 - **智能代理**: 支持多轮思考的 Agent Loop - **多模型支持**: 可切换不同 AI 模型 - **文件上传**: 支持图片、文档等多种格式 ### 🤖 模型管理 - **厂商配置**: 支持国内外主流 AI 厂商 - 国内:阿里云、百度、腾讯、智谱、月之暗面、MiniMax - 国际:OpenAI、Anthropic、Google - 本地:Ollama - **模型启用/禁用**: 灵活控制可用模型 - **API Key 加密存储**: 本地加密保存,保护隐私 - **自定义模型**: 支持添加自定义厂商和模型 ### 📂 工作空间 - **项目隔离**: 不同工作空间独立配置 - **会话关联**: 对话自动关联工作空间 - **文件管理**: 工作空间内文件组织 ### 🔧 Skills 插件 - **扩展能力**: 通过 Skills 增强 AI 能力 - **灵活配置**: 启用/禁用特定 Skills - **自定义 Skills**: 支持添加自定义插件 --- ## 🎨 平台亮点 ### 1️⃣ 先进的 Agent Loop 引擎 - **状态机驱动**: 7×10 状态机设计(7 种继续理由 + 10 种终止条件) - **智能上下文压缩**: 四阶段压缩机制(snip → microcompact → collapse → autocompact) - **动态 Token 预算**: 4K → 8K → 16K → 64K 自动升级 - **多 Agent 协作**: Router-Worker 模式,每个 Worker 专注特定领域 ### 2️⃣ 强大的工具系统 - **类型安全**: TypeScript 类型定义,开发体验优秀 - **权限控制**: 三级权限模式(自动/确认/拒绝) - **热加载**: 工具修改无需重启平台 - **动态工具**: AI 可自主创建和修改工具 ### 3️⃣ 灵活的 Skill 生态 - **模块化设计**: 每个 Skill 独立定义和配置 - **触发词匹配**: 智能识别用户意图并激活对应 Skill - **参数化配置**: 支持自定义参数和默认值 - **市场分享**: 未来支持 Skill 市场,构建开放生态 ### 4️⃣ 完善的配置系统 - **分级配置**: 支持全局配置、工作空间配置和用户配置 - **实时生效**: 配置修改即时生效,无需重启 - **导入导出**: 支持配置备份和迁移 - **版本管理**: 配置文件版本控制,支持回滚 --- ## ⚙️ 平台配置 ### 目录结构 DClaw 的配置和数据存储在用户目录下(`%APPDATA%\com.douhu.dclaw\`): ``` com.douhu.dclaw/ ├── agents/ # Agent 配置目录 │ └── *.config # Agent 配置文件 ├── config/ # 平台配置目录 │ ├── providers/ # 模型厂商配置 │ ├── skills/ # Skill 配置 │ ├── tools/ # 工具配置 │ └── settings/ # 平台设置 ├── data/ # 数据目录 │ ├── agents.config # Agent 注册配置 │ ├── workspace/ # 工作空间数据 │ └── memory/ # 长期记忆数据 ├── logs/ # 日志目录 │ ├── app.log # 应用日志 │ └── agent/ # Agent 运行日志 └── tools/ # 工具脚本目录 └── *.ts # 自定义工具脚本 ``` ### 内置 Agent 配置 --- ## 📦 核心组件配置说明 ### Agent / Tool / Skill 的关系与配置 DClaw 采用 **"平台即框架,功能即 Agent"** 的架构理念,核心功能由 **Agent(智能体)+ Tool(工具)+ Skill(技能)** 三层协作实现。 #### 1️⃣ 关系模型 ``` ┌─────────────────────────────────────────────────────┐ │ Agent(智能体) │ │ - 负责决策、规划、协调 │ │ - 调用 Tool 执行具体任务 │ │ - 激活 Skill 增强能力 │ │ └─────────────┬─────────────────────────────────┘ │ │ 调用 ┌─────────────────────────────────────────────────────┐ │ Tool(工具) │ │ - 执行具体操作(文件读写、网络请求等) │ │ - 类型安全、权限控制、热加载 │ │ └─────────────┬─────────────────────────────────┘ │ │ 增强 ┌─────────────────────────────────────────────────────┐ │ Skill(技能) │ │ - 模块化能力扩展(代码审查、数据分析等) │ │ - 可被多个 Agent 复用 │ │ - 支持市场分享 │ └─────────────────────────────────────────────────────┘ ``` #### 2️⃣ 初始化流程 三个系统统一采用**首次生成模式**:检查配置文件是否存在,不存在才从源码拷贝。 | 系统 | 源码文件 | 初始化行为 | |------|---------|-----------| | **Skill 系统** | `skills.config` + `SKILL.md` | 拷贝两份文件到运行时目录 | | **Tool 系统** | `*.js` 工具文件 | 拷贝 JS 文件 + 生成 `tools.config` | | **Agent 系统** | `*-agent.js` 文件 | 拷贝 JS 文件 + 生成 `agents.config` | **核心差异**: - **Skill**:MD 文件只是文档,需要额外的 `skills.config` 定义元数据 - **Tool/Agent**:JS 文件本身包含完整配置,索引文件由系统自动生成 --- ### 配置管理 - **Agent 配置**: 位于 `data/agents.config`,支持启用/禁用和优先级调整 - **模型配置**: 应用内设置,支持多厂商模型管理 - **工作空间配置**: 每个工作空间独立配置,支持隔离 - **Skill 配置**: 支持启用/禁用和参数调整 --- ## 📄 License Internal Use Only