发现 AI 代理的未来

99

收录于 2026年2月23日
智能体与应用工具
开源
大语言模型AI代理智能体框架CLI智能体与应用工具模型与推理框架开发者工具/代码协议/API/集成

为 Neovim 设计的 AI 编程助手客户端,支持多 AI Provider(OpenCode/Claude Code/Cursor Agent/Gemini CLI),提供可视化选择 AI 辅助、智能上下文管理(#规则引用/@文件引用)、自动 markdown 文件注入等功能,面向仍享受手写代码乐趣的开发者。

项目概述#

99 是一款由 ThePrimeagen 开发的 Neovim AI 客户端,项目定位为 "The AI client that Neovim deserves, built by those that still enjoy to code."(Neovim 理应拥有的 AI 客户端,由仍然享受编码的人构建)。

这是一个探索 AI 与传统编码(tradcoding)结合的实验性项目,核心理念是手写代码仍然非常重要,目前最好的产品仍然依赖手写代码。

核心功能#

核心 API#

  • visual implementation: 基于可视化选择实现 AI 辅助
  • search: AI 驱动的搜索功能
  • debug: 调试功能
  • Extensions.Worker.work: 扩展工作器机制
  • stop_all_requests(): 停止所有进行中的 AI 请求
  • view_logs(): 查看运行日志

多 Provider 支持#

ProviderCLI 工具默认模型
OpenCodeProvider (默认)opencodeopencode/claude-sonnet-4-5
ClaudeCodeProviderclaudeclaude-sonnet-4-5
CursorAgentProvidercursor-agentsonnet-4.5
GeminiCLIProvidergeminiauto

智能上下文管理#

  • # 规则引用: 在提示中输入 # 可自动完成规则文件
  • @ 文件引用: 输入 @ 可模糊搜索项目文件
  • md_files 配置: 自动查找并添加基于请求发起位置的 markdown 文件
  • custom_rules: 支持自定义技能规则目录(SKILL.md 格式)

UI/UX 扩展集成#

  • Telescope 集成: 模型选择器和 Provider 选择器
  • fzf-lua 支持: 与 telescope 相同的选择器功能
  • 补全源支持: nvim-cmp / blink.cmp 二选一

项目架构#

99/
├── .github/           # GitHub 配置
├── lua/99/            # 核心 Lua 代码
├── queries/           # Tree-sitter 查询定义
├── scratch/           # 临时文件和示例
├── scripts/           # 辅助脚本工具
├── syntax/            # 语法高亮文件
├── AGENTS.md          # AI 代理开发指南
├── TUTORIAL.md        # 教程规划
├── TODO.md            # 待办事项与路线图
└── Makefile           # 构建与测试配置

安装配置#

前置要求#

必须安装支持的 AI CLI 工具之一:opencode(推荐)、claude、cursor-agent、gemini

Lazy.nvim 安装#

{
    "ThePrimeagen/99",
    config = function()
        local _99 = require("99")
        local cwd = vim.uv.cwd()
        local basename = vim.fs.basename(cwd)
        _99.setup({
            logger = {
                level = _99.DEBUG,
                path = "/tmp/" .. basename .. ".99.debug",
                print_on_error = true,
            },
            tmp_dir = "./tmp",
            completion = {
                custom_rules = { "scratch/custom_rules/" },
                files = { -- 配置选项 },
                source = "cmp", -- 或 "blink"
            },
            md_files = { "AGENT.md" },
        })
    end,
}

基础键位映射#

-- 可视化模式 AI 请求
vim.keymap.set("v", "<leader>9v", function() _99.visual() end)
-- 停止所有请求
vim.keymap.set("n", "<leader>9x", function() _99.stop_all_requests() end)
-- 搜索功能
vim.keymap.set("n", "<leader>9s", function() _99.search() end)

典型工作流程#

  1. 在 Neovim 中打开代码
  2. 使用可视化模式选择代码段
  3. 触发 AI 请求(<leader>9v
  4. 在提示窗口中输入请求,可使用 # 引用规则,@ 引用文件
  5. AI 生成响应并进行代码修改

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。