个人AI助手

Diane是一款个人AI助手,通过自动化日常繁琐任务(如邮件管理、日程安排、财务管理等)提升生活效率,支持69+工具集成。

  • by emergent-company
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 emergent-company/diane

使用说明

黛安

您的个人人工智能助手,用于自动化生活中乏味的任务。

快速开始

📥 安装

公开回购(即将推出):

curl -fsSL https://raw.githubusercontent.com/emergent-company/diane/main/install.sh | sh

私人回购(需要 gh CLI身份验证):

# Download the latest release for your platform
gh release download -R emergent-company/diane v1.1.0 -p "diane-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz"

# Extract to ~/.diane/bin
mkdir -p ~/.diane/bin
tar xzf diane-*.tar.gz -C ~/.diane/bin/
rm diane-*.tar.gz

# Add to PATH
export PATH="$HOME/.diane/bin:$PATH"

🔧 配置

运行交互式安装程序:

diane init

或创建 ~/.config/diane.yml 手动:

default: default
projects:
  default:
    server_url: https://memory.emergent-company.ai
    token: emt_<your-project-token>
    project_id: <your-project-uuid>

✅ 验证

diane projects        # Should show your project
diane doctor          # Should pass all checks

🔗 连接为奴隶

diane mcp relay --instance my-machine-name

这将您的本地工具连接到内存平台中继。配置和秘密 从图中自动同步(MCPProxyConfig、MCPSecret对象)。


Diane能做什么?

Diane连接到您的AI工具(Claude Desktop、Cursor和任何兼容MCP的客户端),并赋予它们超能力来帮助您的日常生活:

Diane帮助什么
电子邮件和文档 阅读、搜索、发送电子邮件。创建和编辑谷歌文档、表格、幻灯片。
日历 检查你的日程安排,创建活动,找到空闲时间。
金钱 连接到您的银行账户(PSD2),跟踪支出,与预算同步。
提醒事项 创建和管理Apple提醒(macOS)。
联系人 在你的通讯录中查找联系人。
天气 获取任何地点的预测。
地点 查找附近的餐馆、商店和服务。
智能家居 控制家庭助理设备,发送通知。
基础设施 管理Cloudflare DNS、GitHub存储库。

69多种工具,原生Go性能,单二进制。

连接到您的AI

Diane讲MCP(模型上下文协议),因此它适用于任何兼容的客户端。

克劳德桌面版

增添 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "diane": {
      "command": "~/.diane/bin/diane"
    }
  }
}

设置

每个功能都需要自己的凭据。将配置文件放入 ~/.diane/secrets/:

功能 配置文件 注释
谷歌(Gmail、云端硬盘、日历) -- 用途 狗哥 CLI用于身份验证
Apple(提醒、联系人) -- 仅限macOS,使用 remindctl 和 contacts-cli
银行业 enablebanking-config.json PSD2开放式银行凭证
预算 actualbudget-config.json 实际预算服务器URL
不和谐 discord-config.json 机器人令牌
Cloudflare cloudflare-config.json API令牌
地点 google-places-config.json Google Places API密钥
家庭助理 homeassistant-config.json URL和webhook令牌
GitHub Bot github-bot-private-key.pem GitHub应用程序私钥

看 安装.md 有关详细的设置说明。

手动安装

平台 架构 下载
macOS 苹果硅 黛安·达文·阿姆64.tar.gz
macOS 英特尔 黛安-达尔文amd64.tar.gz
Linux x64 diane-linux-amd64.tar.gz
Linux ARM64 diane-linux-arm64.tar.gz
tar xzf diane-*.tar.gz
mkdir -p ~/.diane/bin && mv diane ~/.diane/bin/

发展

先决条件

  • 转到1.25+ --下载自 go.dev/dl
  • 戈朗茨皮棉 (可选,用于 make lint): brew install golangci-lint

快速开始

git clone https://github.com/emergent-company/diane.git
cd diane
make setup      # install git hooks once per clone
make build      # build binary
make install    # install to ~/.diane/bin/

制定目标

命令 它的作用
make setup 安装git预提交钩子
make test 运行单元测试(171次测试,约8秒,无外部deps)
make test-all 运行所有测试,包括集成
make test-quick TestName 运行与模式匹配的测试
make build 构建diane二进制文件
make install 将二进制文件复制到 ~/.diane/bin/
make mod-tidy 快跑 go mod tidy --清理依赖关系
make vet 快跑 go vet --捕获nil ptrs,无法访问的代码
make lint 快跑 golangci-lint --全静态分析
make lint-fix 自动修复常见的棉绒问题
make check 满门:现代整洁→ vet → lint → 测试

预提交钩子

钩子跑了 go vet +对每个涉及Go文件的提交进行单元测试。

# Bypass for urgent commits:
GIT_SKIP_TESTS=1 git commit -m "..."

# Install on a fresh clone:
git config core.hooksPath .githooks

测试结构

组 包 何时运行
单元测试 ./internal/... ./cmd/... 每次提交都很快,没有deps
集成测试 ./memorytest/... 需要实时MP凭据(-tags=integration)

从源代码构建

git clone https://github.com/emergent-company/diane.git
cd diane
make build && make install

需要Go 1.23+。

许可证

麻省理工学院