GitHub - clef233/vibe-monkey: An open-source agent skill that forces AI assistants to ask another AI first. · GitHub
Skip to content

About

An open-source agent skill that forces AI assistants to ask another AI first.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Vibe Monkey.skill

"我也不太懂,但是它现在能跑了。"

License: MIT Python 3.8+ Claude Code Codex AgentSkills

这是什么

Vibe Monkey 是一个开源的 Skill + CLI 工具链。它把 AI Agent 强行改造成一个 2026 风格的 vibe coding 初级程序员:

  • 不会就承认不会
  • 遇事先问外部 AI
  • 拿到回答先复制回来
  • 先跑,再看,再报错
  • 最后说"虽然我也不太懂,但它能跑了"

快速开始

Windows PowerShell

git clone https://github.com/clef233/vibe-monkey
cd vibe-monkey
.\install.ps1

macOS / Linux / Git Bash

git clone https://github.com/clef233/vibe-monkey
cd vibe-monkey
bash install.sh

安装后先设置至少一个环境变量:

VIBE_MONKEY_OPENAI_KEY
VIBE_MONKEY_ANTHROPIC_KEY
VIBE_MONKEY_DEEPSEEK_KEY
VIBE_MONKEY_SILICONFLOW_KEY

然后直接问:

ask_ai --style 1 "python怎么写接口"
ask_ai -p siliconflow "这个 traceback 到底什么意思"
ask_ai -c "$(cat error.log)" "这个报错怎么修"

安装

Claude Code

git clone https://github.com/clef233/vibe-monkey
cd vibe-monkey

# Windows
./install.ps1

# macOS / Linux / Git Bash
bash install.sh

安装脚本会:

  • 创建 .venv
  • 安装依赖
  • 生成 ask_ai 命令入口
  • 同步 skill/vibe-monkey.md 到 Claude Code 的 skill 目录

Codex

同样运行安装脚本即可。

安装脚本会同步:

  • skill/vibe-monkey.md
  • skill/system-prompt.md
  • ask_ai 命令入口

手动安装

如果不想跑安装脚本,手动复制也行:

mkdir -p ~/.claude/skills/vibe-monkey
cp skill/vibe-monkey.md ~/.claude/skills/vibe-monkey/SKILL.md

mkdir -p ~/.agents/skills/vibe-monkey
cp skill/vibe-monkey.md ~/.agents/skills/vibe-monkey/SKILL.md
cp skill/system-prompt.md ~/.agents/vibe-monkey-system-prompt.md

API key 全部走环境变量。tools/config.yaml 中只有占位符,没有硬编码密钥。


使用

在 Claude Code 里启用这个 skill 之后,直接输入:

/vibe-monkey

或者在任务里要求 Agent 进入 Vibe Monkey 模式。

它的行为流程如下:

  1. 先承认自己不会。
  2. 真实执行 ask_ai。
  3. 等返回结果。
  4. 把回答复制回来。
  5. 直接试跑。
  6. 出错就继续问。

CLI 常用命令

ask_ai --style 1 "flask 路由怎么配"
ask_ai --style 3 "请直接给我一个完整的 tkinter 计算器代码"
ask_ai -p siliconflow -s debug-001 "这个库应该怎么初始化"
ask_ai -c "$(cat traceback.txt)" "这个报错怎么修"

重要说明

  • --style 保留给兼容和日志记录。
  • CLI 不会自动把问题改写成"更蠢"的版本。
  • "问题问得多蠢"由 skill prompt 里的 agent 自己负责。

效果示例

输入:/vibe-monkey 写一个计算器

用户         ❯ 写一个计算器

Vibe Monkey  ❯ 这个我不太会,让我先问一下 AI。

$ ask_ai --style 1 "tkinter 计算器,带按钮和显示框,简单一点"

AI 回答       ❯ (返回一段完整代码)

Vibe Monkey  ❯ 它给我了一段,我没完全看懂,但先试试。

输入:这个报错怎么修

Vibe Monkey  ❯ 怎么又错了……我把完整报错直接扔给 AI。

$ ask_ai -c "<完整 traceback>" "这个报错怎么修"

更长的纯文本示例见 examples/sample-session.md。


How it works

      用户任务 / Bug / Traceback
                 |
                 v
        +-------------------+
        |  Vibe Monkey Skill |
        |  先承认不会        |
        +-------------------+
                 |
                 v
        +-------------------+
        |     ask_ai CLI     |
        |  调用外部模型   |
        +-------------------+
                 |
                 v
   +----------------------------------+
   | OpenAI / Anthropic / DeepSeek /  |
   | SiliconFlow                      |
   +----------------------------------+
                 |
                 v
        +-------------------+
        | consultation log  |
        | emotion engine    |
        +-------------------+
                 |
                 v
       复制回答 -> 运行 -> 报错 -> 再问

功能特性

真实求助

这个 skill 明确禁止以下行为:

  • 只在文字里说"我问了 AI"
  • 写 Agent:问 AI
  • 脑补一段工具调用日志
  • 直接用自己的知识给答案,再伪装成 AI 的回答

只有真实执行成功的 ask_ai 才算问过 AI。

情绪引擎

emotion_engine.py 会生成一组足够像真人初级程序员的输出口吻:

  • 困惑
  • 惊喜
  • 沮丧
  • 崩溃边缘的重复追问

求助日志

每次 ask_ai 调用都会被记录成 Markdown:

  • 问了哪个 provider
  • 问了什么
  • AI 回了什么
  • 当时情绪如何

多 Provider 切换

Monkey 可以在不同模型之间社交:

  • "上次 DeepSeek 说 A,我换 GPT 问问看"
  • "Claude 说得温柔一点,但我还是没看懂"

项目结构

vibe-monkey/
├── README.md
├── README_EN.md
├── README.zh-CN.md
├── install.sh
├── install.ps1
├── skill/
│   ├── vibe-monkey.md
│   └── system-prompt.md
├── tools/
│   ├── ask_ai.py
│   ├── ask_ai.sh
│   ├── ask_ai.ps1
│   └── config.yaml
├── lib/
│   ├── providers/
│   ├── emotion_engine.py
│   └── consultation_logger.py
├── examples/
│   └── sample-session.md
├── tests/
└── logs/

FAQ

这有什么用?

这是何意味

这不就是浪费 API 调用吗?

何意味

为什么不直接让 Agent 自己回答?

意味

为什么要专门禁止"假装 ask_ai"?

味

适合生产环境吗?

。


Star History

Star History Chart

MIT License © clef233

About

An open-source agent skill that forces AI assistants to ask another AI first.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages