AB
AiBoss
チュートリアル

MonkeyCode

チュートリアル

用 MonkeyCode 从零生成 Flask 用户管理 API 并完成 Git 提交与部署

面向刚接触 MonkeyCode 的开发者,按界面认识、项目创建、AI 对话生成代码、Git 自动化、运行与部署的顺序,完整走通一个 Flask 用户管理 REST API 示例,并整理上下文感知、多文件重构、代码审查、自定义提示词等进阶用法与常见限制。

MonkeyCode 是一款把编辑器、AI 对话、终端和 Git 管理放在同一个界面里的 AI 编程助手。它的核心用法是用自然语言描述需求,由 AI 生成或修改项目文件,再借助内置的 Git 与运行、部署能力把改动落地。这篇教程面向刚接触这类工具、希望尽快跑通一个完整流程的开发者:从认识界面开始,创建一个 Python Web 项目,用对话生成一套用户管理 REST API,完成一次规范的提交,最后把应用运行起来并了解部署入口。站内对应的工具页见 MonkeyCode。

需要先说明一点:MonkeyCode 的具体版本、套餐、配额与部署目标支持情况会随时间变化,本文只讲操作路径与用法,涉及价格、调用频率、可用地区等信息,请以官网当前信息为准。

准备工作

在开始之前,把下面几件事确认好,后面的步骤会顺畅很多。

  • 安装并登录客户端:MonkeyCode 提供图形界面,打开后需要登录账号才能使用 AI 对话与云端能力。若你使用的是开源版本并选择完全本地运行,则数据保留在本机,不经过外部服务。
  • 本地 Python 环境:本文示例是 Flask 应用,需要本机具备可用的 Python 解释器。MonkeyCode 在运行项目时会自动检测项目类型并选择合适的运行环境,但解释器本身要先装好。
  • 项目目录:准备一个空目录或已有的代码仓库。使用模板创建项目时,MonkeyCode 会在你指定的位置生成完整结构。
  • Git 身份:如果要使用自动提交与分支管理,本机需要配置好 Git 用户名与邮箱,否则提交会失败。
  • 部署目标(可选):如果打算走到部署这一步,提前准备好对应平台的账号或服务器地址,例如 Vercel 账号、本机 Docker 环境,或一台可通过 SSH 访问的服务器。

另外建议先熟悉一组快捷键,它们会贯穿整个使用过程:

快捷键功能
Ctrl+Enter生成代码
Ctrl+Shift+I打开 AI 对话
Ctrl+S保存文件
Ctrl+B运行代码
TabAI 自动补全

操作步骤

第一步:认识界面布局

打开 MonkeyCode 后,主界面分为四个区域,理解它们的分工能少走很多弯路:

  • 左侧面板:项目文件树与导航,同时也是查看 Git 提交历史、文件差异和贡献统计的地方。
  • 中间编辑器:代码编写与预览区,AI 生成的代码会直接落到这里。
  • 右侧 AI 助手:智能对话与代码生成面板,所有自然语言指令都在这里输入。
  • 底部终端:命令行操作区,运行结果与实时日志也显示在这里。

第二步:创建项目

MonkeyCode 提供两种起步方式,按你的实际情况选一种。

方式一:使用模板(推荐给第一次使用的人)

  1. 点击「新建项目」按钮。
  2. 选择「Python Web 应用」模板。
  3. 输入项目名称,例如 my-first-app。
  4. 点击「创建」。

创建完成后,MonkeyCode 已经生成了完整的项目结构,包括入口文件、依赖声明和基础配置,你可以直接进入下一步。

方式二:从空白项目开始

点击「空白项目」,然后在 AI 对话框中直接描述你要什么,例如:

帮我创建一个 Python Flask 应用,包含用户登录功能

MonkeyCode 会自动生成所有需要的文件。这种方式更灵活,但对需求描述的清晰度要求更高——描述越具体,生成结果越接近预期。

第三步:用自然语言生成代码

这是 MonkeyCode 最核心的能力。你不需要写样板代码,只需要把需求讲清楚。

场景一:生成 API 接口

在 AI 对话框中输入:

创建一个用户管理的 REST API,包含增删改查功能

MonkeyCode 会输出一套基于 Flask 的完整实现,典型结构如下(这是生成结果的形态示意,实际生成内容会随上下文变化):

from flask import Flask, request, jsonify
from datetime import datetime

app = Flask(__name__)

# 模拟数据库
users_db = []

# 创建用户
@app.route('/api/users', methods=['POST'])
def create_user():
    data = request.json
    user = {
        'id': len(users_db) + 1,
        'name': data['name'],
        'email': data['email'],
        'created_at': datetime.now().isoformat()
    }
    users_db.append(user)
    return jsonify(user), 201

# 获取所有用户
@app.route('/api/users', methods=['GET'])
def get_users():
    return jsonify(users_db)

# 获取单个用户
@app.route('/api/users/<int:user_id>', methods=['GET'])
def get_user(user_id):
    user = next((u for u in users_db if u['id'] == user_id), None)
    if user:
        return jsonify(user)
    return jsonify({'error': 'User not found'}), 404

# 更新用户
@app.route('/api/users/<int:user_id>', methods=['PUT'])
def update_user(user_id):
    user = next((u for u in users_db if u['id'] == user_id), None)
    if not user:
        return jsonify({'error': 'User not found'}), 404
    data = request.json
    user.update(data)
    return jsonify(user)

# 删除用户
@app.route('/api/users/<int:user_id>', methods=['DELETE'])
def delete_user(user_id):
    global users_db
    users_db = [u for u in users_db if u['id'] != user_id]
    return jsonify({'message': 'User deleted'})

if __name__ == '__main__':
    app.run(debug=True, port=5000)

这段代码覆盖了五个端点:创建、列表、单条查询、更新、删除,并统一返回 JSON。生成后建议逐段读一遍,确认字段名、状态码和错误处理符合你的预期,再继续往下做。

场景二:解释复杂代码

选中一段看不懂的代码,按 Ctrl+Shift+I 打开 AI 对话,然后提问:

这段代码的作用是什么?有没有优化建议?

MonkeyCode 会给出逐段解释和优化方案。这个用法在接手他人项目时特别省时间。

场景三:定位并修复 Bug

把报错信息和相关代码一起贴进对话框:

我的程序报错:IndexError: list index out of range
请帮我找出问题并修复

MonkeyCode 的处理路径通常是四步:分析错误原因、定位问题代码、给出修复方案、解释为什么这样改。最后一步很重要,它让你下次能自己判断同类问题。

第四步:用内置 Git 管理版本

MonkeyCode 内置了 Git 管理能力,把版本控制从命令行搬到了界面里。

自动提交:完成一段代码后,MonkeyCode 会分析你的改动并自动生成符合规范的 commit message,你只需要点击「确认提交」。生成的提交信息通常包含标题和要点列表,例如:

feat(user): add email validation and password hash

- Add email format validation using regex
- Implement bcrypt password hashing
- Add unit tests for new functions

分支管理:直接用自然语言下达指令即可,例如:

帮我创建一个 feature/login-oauth 分支
将 dev 分支合并到 main,解决冲突

查看历史:左侧面板提供可视化的 Git 提交历史、每次改动的文件对比,以及团队成员的贡献统计。排查「这行代码是谁什么时候改的」这类问题时,比翻命令行日志直观得多。

第五步:运行项目

点击「运行」按钮,或按 Ctrl+B。MonkeyCode 会依次做四件事:自动检测项目类型、选择合适的运行环境、在内置终端中显示运行结果、实时输出日志。

如果启动失败,先看底部终端的报错信息,把关键几行贴进 AI 对话框,通常能直接得到修复建议。

第六步:部署应用

MonkeyCode 支持多种部署方式,通过命令行子命令触发:

部署到 Vercel:

monkeycode deploy vercel

部署到 Docker,自动生成 Dockerfile 并构建镜像:

monkeycode deploy docker --build

部署到自己的服务器,生成完整的部署脚本:

monkeycode deploy custom --server my-server.com

各部署目标的具体参数、所需凭据和可用性,请以官网当前信息为准。

一个完整示例:从空目录到可运行的博客系统

下面把前面的步骤串成一条完整链路,目标是用对话方式搭出一个支持文章发布、分类和评论的 Flask 博客系统。

第 1 步:初始化项目

新建空白项目,在 AI 对话框中输入:

创建一个 Flask 博客系统,支持文章发布、分类、评论功能

第 2 步:设计数据模型

继续在同一个对话里追加需求,让 AI 基于已有上下文扩展:

设计数据库模型,包括 User、Post、Category、Comment 表

因为 MonkeyCode 会参考当前项目的文件、导入依赖和之前的对话历史,这一步生成的结果通常能与上一步的代码衔接上,而不是另起一套结构。

第 3 步:实现核心功能

实现文章列表页、详情页、发布文章的后端 API

第 4 步:添加前端页面

创建前端页面,使用 Bootstrap 框架

第 5 步:运行并测试

按 Ctrl+B 运行项目,在浏览器中依次验证:能否发布文章、分类是否正确关联、评论能否提交。发现问题的部分,把现象描述清楚再交给 AI 修。

整个流程的关键不在于每一步有多快,而在于分步骤提需求:一次只让 AI 做一件事,每步确认结果后再继续。把五步合成一句长指令,生成质量通常会下降。

进阶用法

上下文感知

MonkeyCode 能理解整个项目的上下文。当你在某个文件中提问时,它会参考当前文件的代码、相关的导入依赖、项目配置文件以及之前的对话历史。这也是为什么「在正确的文件里提问」比「在空白对话里提问」得到的结果更准。

多文件协作重构

跨文件的改动可以直接用一句话下达,例如:

帮我重构一下,把用户验证逻辑提取到单独的 service 层

MonkeyCode 会创建新的 services/user_service.py,修改原有代码引用新模块,确保所有导入正确,并运行测试确认无误。这类任务最能体现工具价值,但也最需要你在完成后检查一遍改动范围。

代码审查

右键点击文件,选择「AI 代码审查」,MonkeyCode 会检查四类问题:代码规范问题、潜在的性能瓶颈、安全漏洞、可维护性建议。适合在提交前跑一遍。

学习模式

开启学习模式后,MonkeyCode 在每次生成代码时会额外解释代码逻辑、提供相关知识、推荐最佳实践并标注注意事项。对正在学编程的人,这个模式比直接拿结果更有价值。

自定义提示词模板

在设置中可以添加常用提示词,避免每次重复输入。配置形态如下:

templates:
  - name: "代码优化"
    prompt: "请优化这段代码,关注性能和可读性"
  - name: "添加测试"
    prompt: "为这段代码编写单元测试,覆盖主要场景"
  - name: "文档生成"
    prompt: "为这个函数生成详细的 docstring 文档"

把高频需求沉淀成模板,是提升日常效率最直接的一招。

注意事项

  • 生成代码需要人工复核:AI 生成的代码可以直接使用,但涉及鉴权、数据校验、并发写入等关键路径时,务必自己读一遍再上线。示例中的内存列表模拟数据库只适合演示,不能直接用于生产。
  • 免费版有调用频率限制:个人免费版在功能上没有限制,但对 API 调用频率有合理限制。具体额度以官网当前信息为准,高频使用时注意节奏。
  • 数据安全取决于部署形态:开源版支持完全本地运行,数据不出本机;企业版提供更多安全特性。选择哪种形态,取决于你的代码能否离开本地环境。
  • 语言支持范围:支持 Python、JavaScript/TypeScript、Java、C++、Go、Rust、PHP、Ruby 等主流语言。冷门语言或特定框架的生成质量可能不如主流组合。
  • 提高理解准确度的做法:提供清晰的上下文信息、使用具体描述而非模糊需求、把复杂需求拆成多步、及时反馈结果。这四条比换更长的提示词更有效。
  • 部署前确认目标平台:不同部署方式所需的账号、凭据和配置不同,命令参数与支持的目标平台请以官网当前信息为准。

把上面这条链路走通一遍之后,你手上就有了一个可运行的项目、一次规范的提交记录和一条可复用的部署命令。接下来要做的,是把它套用到自己真实的项目里——从最小的一个接口或一个函数开始,逐步扩大 AI 参与的范围。