返回市场
ai工具 Flake

ai工具 Flake

作者:clempat2 星标更新:2025-11-23

项目介绍

AI Tools Flake

统一的Nix flake配置用于AI工具,包括Claude Code、OpenCode、MCP服务器和AI代理。

特性

  • 统一模块:单一的home-manager模块,同时配置Claude Code和OpenCode
  • MCP服务器:跨工具共享的MCP服务器配置
  • AI代理:具有工具特定元数据的可重用代理定义
  • Claude技能:预配置的各种任务技能
  • Claude-Flow命令:使用上游programs.{opencode,claude-code}.commands选项
  • :自定义包如spec-kit
  • 默认配置:可以按系统覆盖的合理默认值

使用方法

作为Flake输入

在你的flake.nix中添加:

{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
    ai-tools.url = "github:clempat/ai-tools-flake";
  };

  outputs = { nixpkgs, ai-tools, ... }: {
    # 你的配置
  };
}

Home Manager集成

基本设置(使用默认值)

{
  imports = [ ai-tools.homeManagerModules.default ];

  programs.ai-tools = {
    enable = true;
    # 使用默认的MCP、代理和内存
    # 默认的extraPackages包含gh和ripgrep
    # 自动通过上游选项安装claude-flow命令
  };
}

自定义配置

{ config, ... }:
let
  ai-tools-flake = inputs.ai-tools;
in {
  imports = [ ai-tools-flake.homeManagerModules.default ];

  programs.ai-tools = {
    enable = true;

    # 合并默认值
    mcpServers = ai-tools-flake.lib.defaultConfig.mcpServers // {
      # 启用特定服务器
      github.enable = true;
      context7.enable = true;

      # 添加自定义服务器
      myserver = {
        enable = true;
        type = "http";
        url = "http://localhost:3000/mcp";
      };
    };

    # 使用默认代理或覆盖
    agents = ai-tools-flake.lib.defaultConfig.agents // {
      # 禁用一个代理
      nixos.disable = true;

      # 添加自定义代理
      my-agent = {
        content = ./my-agent.md;
        description = "我的自定义代理";
        tools = [ "Read" "Write" ];
        model = "sonnet";
      };
    };

    # 使用默认内存或提供自定义
    memory = ai-tools-flake.lib.defaultConfig.memory;
    # 或者
    # memory = ./my-memory.md;

    # 覆盖默认的额外包(gh, ripgrep)
    extraPackages = with pkgs; [
      gh       # GitHub CLI用于ticket-driven-developer代理
      jq       # JSON处理器用于数据操作
      ripgrep  # 快速搜索工具
      nodejs   # 用于基于npx的MCP服务器如playwright
    ];

    enableClaudeCode = true;
    enableOpencode = true;
    enableMcphub = false;

    # Claude-flow命令(默认启用)
    enableClaudeFlowCommands = true;
    # 可选:使用自定义命令目录
    # commandsDir = ./my-commands;
  };

  # 手动安装Claude技能(直到模块支持它们)
  home.file.".claude/skills/lint-with-conform".source =
    "${ai-tools-flake}/config/skills/lint-with-conform";
}

Claude-Flow命令

该flake包括9个预配置的工作流命令,这些命令通过上游home-manager选项自动配置:

  • 使用programs.opencode.commands用于OpenCode
  • 使用programs.claude-code.commands用于Claude桌面

可用命令:

  • commit:为更改创建git提交
  • create_plan:生成实施计划
  • create_spec:创建功能规范
  • create_ticket:生成Jira票证
  • create_worktree:创建git工作树
  • implement_plan:执行实施计划
  • research_codebase:记录和解释代码库
  • research_confluence:研究Confluence文档
  • validate_plan:验证实施计划

要禁用自动安装:

programs.ai-tools = {
  enable = true;
  enableClaudeFlowCommands = false;
};

要使用自定义命令目录:

programs.ai-tools = {
  enable = true;
  commandsDir = ./my-custom-commands;
};

注意:用户仍然可以直接使用上游选项添加自己的命令:

programs.opencode.commands = ./my-extra-commands;
programs.claude-code.commands = ./my-extra-commands;

使用Overlay

{
  nixpkgs.overlays = [ ai-tools.overlays.default ];

  # 现在opencode包装器在pkgs中可用
  home.packages = [ pkgs.opencode ];
}

使用包

{
  home.packages = [
    ai-tools.packages.${system}.spec-kit
  ];
}

结构

ai-tools-flake/
├── flake.nix              # 主flake定义
├── modules/
│   └── ai-tools.nix       # Home-manager模块
├── config/                # 所有配置
│   ├── agents.nix         # 默认代理配置
│   ├── mcps.nix           # 默认MCP服务器配置
│   ├── memory.md          # 默认内存/规则
│   ├── agents/            # 代理内容markdown文件
│   └── skills/            # Claude技能
│       ├── lint-with-conform/
│       ├── nixos-advisor/
│       └── nixos-command-not-found/
├── commands/              # Claude-flow工作流命令
│   ├── commit.md
│   ├── create_plan.md
│   ├── create_spec.md
│   ├── create_ticket.md
│   ├── create_worktree.md
│   ├── implement_plan.md
│   ├── research_codebase.md
│   ├── research_confluence.md
│   └── validate_plan.md
├── pkgs/
│   └── spec-kit.nix       # Spec-kit包
└── overlays/
    └── default.nix        # OpenCode包装器overlay

可用代理

  • frontend-developer:Vue.js,TypeScript,现代web开发
  • senior-code-reviewer:代码质量,架构,安全性
  • ui-engineer:UI/UX,无障碍性,设计系统
  • nixos:带有MCP集成的NixOS配置
  • ticket-driven-developer:带有spec-kit集成的Jira驱动开发(需要ghCLI)

可用MCP服务器

  • nixos:NixOS包和选项
  • figma-desktop:Figma桌面集成
  • atlassian:Atlassian/Jira集成
  • github:GitHub集成
  • brave-search:Brave搜索
  • sentry:Sentry错误跟踪
  • n8n:n8n工作流自动化
  • todoist:Todoist任务管理
  • playwright:浏览器自动化
  • context7:Context7文档

可用技能

  • lint-with-conform:根据conform配置格式化文件
  • nixos-advisor:NixOS配置建议
  • obsidian-worklog:Obsidian工作日志集成

许可证

MIT