GitHub - nearmetips/DailiCode: AI agent that is compatible with multiple LLM models

Daili Code 截图

一个与多种大语言模型(LLM)兼容的开源 AI Agent CLI(Gemini ClI 的 Fork 版本)。

English | 简体中文

这个仓库包含了 Daili Code(Gemini ClI 的 Fork 版本),一个连接到您的工具、理解您的代码并加速您工作流程的命令行 AI 工具。它支持多种 LLM 提供商,包括 Gemini、OpenAI 以及任何遵循 OpenAI API 格式的自定义 LLM API。

使用 Daili Code,您可以:

  • 利用先进的 LLM 能力查询和编辑大型代码库,支持大上下文窗口
  • 使用多模态能力从 PDF 或草图生成新应用
  • 自动化操作任务,如查询 Pull Request 或处理复杂的 rebase 操作
  • 使用工具和 MCP 服务器连接新功能
  • 通过简单的环境变量配置和使用您首选的 LLM 提供商
  • 在不改变工作流程的情况下无缝切换不同的 LLM 提供商

本方案已经对多种不同提供商、模型以及本地部署的模型进行了多个维度(是否具备思考过程、能否完成简单任务、是否具备工具调用能力、是否具备多模态能力、是否具备复杂任务能力、是否可以统计 Toekn)的测试,以下是测试结果:

模型 思考过程 简单任务 工具调用 MCP 调用 复杂任务 多模态 Token 统计
【Google】Gemini-2.5-pro
【OpenRouter】Claude Sonnet 4
【OpenRouter】Gpt-4.1
【OpenRouter】Grok-4
【Volcengine】Doubao-Seed-1.6
【Bailian】Qwen3-Plus
【Moonshot】kimi-k2
【Volcengine】DeepSeek-R1
【Siliconflow】DeepSeek-R1
【Volcengine】Doubao-1.5-Pro ⚠️
【Volcengine】DeepSeek-V3 ⚠️
【Bailian】Qwen3-235b-a22b ⚠️
【vLLM】Qwen2.5-7B-Instruct ⚠️
【vLLM】DeepSeek-R1--32B ⚠️
【Ollama】Qwen2.5-7B-Instruct ⚠️

快速开始

  1. 前提条件: 确保您安装了 Node.js 20 版本 或更高版本。
  2. 运行 CLI: 在您的终端中执行以下命令:
   npx https://github.com/nearmetips/DailiCode

或者使用以下命令安装:

npm install
npm run build
npm link
dlc

npm link若提示没有权限,使用 sudo npm link

Daili Code命令行工具支持连接到任何兼容 OpenAI 的 LLM API。你可以使用以下环境变量配置首选的 LLM:

# 启用自定义 LLM 代理
export USE_CUSTOM_LLM=true
export CUSTOM_LLM_API_KEY="your-api-key"     # 你的 LLM 提供商 API 密钥
export CUSTOM_LLM_ENDPOINT="https://api.your-llm-provider.com/v1"  # API 端点
export CUSTOM_LLM_MODEL_NAME="your-model-name"  # 模型名称

# 配置 - DailiCode 代理(即将推出)
# DAILICODE_CLIENT_ID="your-dailicode-client-id-here"
# DAILICODE_CLIENT_SECRET="your-dailicode-client-secret-here"


# OpenRouter 代理 (推荐使用)
# 获取 API Key: https://openrouter.ai/keys
USE_CUSTOM_LLM=true
CUSTOM_LLM_PROVIDER="openai"
CUSTOM_LLM_API_KEY="your-api-key""
CUSTOM_LLM_ENDPOINT="https://openrouter.ai/api/v1"
CUSTOM_LLM_MODEL_NAME="qwen/qwen3-coder:free"

 

# 可选参数
export CUSTOM_LLM_TEMPERATURE=0.7  # 温度参数(默认值:0)
export CUSTOM_LLM_MAX_TOKENS=8192  # 最大令牌数(默认值:8192)
export CUSTOM_LLM_TOP_P=1          # Top P 参数(默认值:1)

当这些变量设置后,Daili Code 命令行工具将使用你的自定义 LLM,而非默认的 Gemini 模型。

示例

一旦 CLI 运行起来,你就可以从 shell 中与 Gemini 交互了。

你可以从新目录开始一个项目:

cd new-project/
dlc
> 帮我写一个 Discord 机器人,它能使用我将要提供的 FAQ.md 文件来回答问题

或者处理一个已有的项目:

git clone https://github.com/nearmetips/DailiCode.git
cd daili-code
dlc
> 给我总结一下昨天所有的变更内容

在代码中运行

Daili Code支持直接在代码中通过 NPM 引入并使用:

  import { ElcAgent } from 'daili-code';
  const agent = new ElcAgent({
    model: 'custom-llm-model-name',
    apiKey: 'custom-llm-api-key',
    endpoint: 'custom-llm-endpoint',
    extension: {
      mcpServers: {
        chart: {
          command: 'npx',
          args: ['-y', '@antv/mcp-server-chart'],
          trust: false
        }
      },
      excludeTools: ['run_shell_command']
    }
  });
  const result = await agent.run('请帮我生成一个销售数据的柱状图');
  console.log(result);

后续步骤

故障排除

如果遇到问题,请查看故障排除指南。

热门任务

探索新代码库

首先进入一个已有的或新克隆的仓库,然后运行 dlc

处理现有代码

> 为 GitHub 第 123 号 issue 实现初稿。
> 帮我把这个代码库迁移到最新版本的 Java。先制定一个计划。

自动化工作流

使用 MCP 服务器将本地系统工具与企业协作套件集成。

> 制作一个幻灯片,展示过去 7 天的 git 历史,按功能和团队成员分组。
> 制作一个全屏网页应用,用于墙上显示器,展示我们互动最多的 GitHub 问题。

与系统交互

> 将此目录中的所有图像转换为 png 格式,并根据 exif 数据中的日期重命名。

本项目基于 easy llm cli ,和 gemini cli