开始养虾───基于C#的OpenClaw复刻的个人 AI 助手

来源: 开始养虾───基于C#的OpenClaw复刻的个人 AI 助手

在人工智能快速发展的今天,个人 AI 助手逐渐成为提升效率、简化生活的得力工具。MyClaw.NET 正是这样一款基于 C# 和 AgentScope.NET 打造的个人 AI 助手,它集成了多种强大功能,为用户提供便捷、智能的交互体验。

图片
项目概述

MyClaw.NET 是一个处于开发中的个人 AI 助手项目,该项目旨在构建一个功能丰富、易于扩展的 AI 助手,满足用户在日常生活和工作中的多样化需求。目前,项目已经完成了多个关键阶段,包括基础设施搭建、核心 Agent 实现、Gateway 基础构建等,并且不断朝着多渠道支持、多模态处理等方向完善。

图片
核心功能

命令行交互(CLI)

MyClaw.NET 提供了完整的命令行接口,用户可以通过简单的命令与 AI 助手进行交互。具体命令如下:

  • 状态查看:使用 dotnet run --project src/MyClaw.CLI -- status命令,可以查看 AI 助手的当前状态,了解其运行情况。
  • 技能管理:通过 dotnet run --project src/MyClaw.CLI -- skills list列出所有可用技能,使用 dotnet run --project src/MyClaw.CLI -- skills info writer查看特定技能(如写作助手技能)的详细信息。
  • Agent 模式:
    • 单消息模式:运行 dotnet run --project src/MyClaw.CLI -- agent -m "Hello",向 AI 助手发送一条消息并获取回复。
    • REPL 模式:执行 dotnet run --project src/MyClaw.CLI -- agent,进入交互式模式,可连续与 AI 助手对话。
  • Gateway 模式:使用 dotnet run --project src/MyClaw.CLI -- gateway启动 Gateway 服务,为其他应用提供接入 AI 助手的接口。

配置系统

MyClaw.NET 支持灵活的配置方式,采用 JSON 配置文件与环境变量覆盖相结合的方式。用户可以通过初始化命令 dotnet run --project src/MyClaw.CLI -- onboard 初始化配置和工作空间,然后编辑 ~/.myclaw/config.json 文件来定制 AI 助手的行为。

记忆系统

该助手具备强大的记忆功能,包括长期记忆和每日日记。长期记忆功能允许 AI 助手存储和回忆重要信息,而每日日记则记录当天的活动和思考,帮助用户回顾和总结。记忆系统的相关实现细节可参考项目中的 MEMORY.md 文件。

MCP 服务

MyClaw.NET 提供了 MCP(Model Context Protocol)服务,基于 streamable-http 协议实现。其端点为 http://localhost:2334/mcp,支持多种 MCP 工具,如:

  • myclaw_update:神经重塑,用于修改核心认知文件。
  • myclaw_note:海马体写入,追加今日日志。
  • myclaw_read:全脑唤醒,读取上下文和记忆。
  • myclaw_archive:日志归档。
  • myclaw_entity:概念连接,管理实体知识图谱。
  • myclaw_exec:感官与手,安全执行终端命令。
  • myclaw_status:系统诊断。

此外,还提供了 3 个 MCP 提示词模板,包括 myclaw_wakeup(唤醒并加载上下文)、myclaw_growup(记忆蒸馏)和 myclaw_briefing(每日简报)。

多模型支持

MyClaw.NET 支持多种大型语言模型,包括 Anthropic、OpenAI、DeepSeek、Gemini、DashScope 和 Ollama。用户可以根据自己的需求选择合适的模型,以获得最佳的交互体验。

技能系统

项目内置了丰富的技能系统,目前包含 3 个示例技能:

  • writer:写作助手,关键词包括 write、draft、content、article,可帮助用户进行写作创作。
  • web-search:网络搜索,关键词有 search、web、google、find,能够快速在互联网上查找信息。
  • calculator:计算器,关键词为 calculate、math、convert,可进行各种数学计算和单位转换。
图片
项目结构
 

MyClaw.NET 的项目结构清晰,各模块职责明确,主要分为以下几个部分:

  • src:源代码目录,包含多个子项目:
    • MyClaw.Core:核心库,提供项目的基础功能。
    • MyClaw.CLI:命令行接口,实现与用户的交互命令。
    • MyClaw.Agent:Agent 实现,负责处理用户的请求和生成回复。
    • MyClaw.Gateway:Gateway 服务,为其他应用提供接入接口。
    • MyClaw.Channels:渠道实现,未来将支持多种渠道,如 WebUI、Telegram、Feishu、WeCom 等。
    • MyClaw.Memory:内存系统,实现长期记忆和每日日记功能。
    • MyClaw.Skills:技能系统,管理各种技能的加载和执行。
    • MyClaw.Cron:定时任务,使用 Quartz.NET 实现任务调度。
    • MyClaw.Heartbeat:心跳服务,监控系统的运行状态。
    • MyClaw.MCP:MCP 服务,提供 MCP 协议支持。
  • tests:测试目录,包含核心库测试和集成测试,确保项目的稳定性和可靠性。
  • docs:文档目录,包含设计方案、实施计划和实施进度报告等文档,帮助开发者了解项目的整体架构和开发进度。
  • workspace:示例工作区,包含示例技能,方便用户参考和学习。
图片
快速开始

前置要求

在使用 MyClaw.NET 之前,需要安装 .NET 9.0 SDK。

构建项目

  1. 克隆仓库:git clone
  2. 进入项目目录:cd myclaw.net
  3. 构建解决方案:dotnet build
  4. 运行测试(可选):dotnet test

配置项目

运行初始化命令 dotnet run --project src/MyClaw.CLI -- onboard 初始化配置和工作空间,然后根据需要编辑 ~/.myclaw/config.json 文件。

运行项目

根据上述介绍的命令行交互方式,使用相应的命令启动 AI 助手的不同功能模式。

开发路线图

MyClaw.NET 的开发分为多个阶段,目前已经完成了基础设施搭建、核心 Agent 实现、Gateway 基础构建、技能系统开发等关键阶段。未来的开发计划包括:

  • 实现 WebUI、Telegram、Feishu、WeCom 等渠道支持,使用户可以通过多种方式与 AI 助手交互。
  • 进行完整测试,完善文档,为项目发布做好准备。