AI代理实验平台

一个用于构建本地AI代理的实验项目,探索LLMs、MCP和代理工作流,支持日历查询等实际任务。

  • by blessanm86
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 blessanm86/ai-sandbox

使用说明

🧠 AI沙盒

构建本地AI代理的实验——探索LLM、MCP和代理工作流。


🚀 关于

这是一个个人学习项目,旨在探索人工智能代理如何端到端工作——从运行本地LLM到连接日历等现实世界工具。
目标是构建一个简单的、可工作的代理,可以回答以下问题:

“我今天的日程安排是什么?”

…通过推理、调用本地工具并自然响应。


🧩 技术栈(计划中)

  • 语言: Types/Node.js
  • 法学硕士: 本地模型(例如Ollama、LM Studio或兼容OpenAI的API)
  • 代理框架: TBD(自定义或轻量级现有框架)
  • 日历来源: 谷歌日历或本地.ics文件
  • 评价: 自定义提示和行为测试

🛠️ 开发环境设置

该仓库现在附带了Express+TypeScript服务,可以作为轻量级的代理后端。

pnpm install        # install dependencies
pnpm dev            # start the local server with live reload

可用路线:

  • GET /ping → 回报 pong 用于健康检查
  • POST /llm-query → 接受纯文本提示,将其转发到配置的Ollama模型,并返回一个包含模型响应和延迟的JSON有效负载

质量命令:

pnpm lint           # ESLint + TypeScript rules
pnpm test           # Vitest coverage for HTTP handlers and Ollama client
pnpm build && pnpm start  # compile to dist/ and run with Node

直接查询本地LLM

Ollama在本地运行(默认 http://127.0.0.1:11434),您可以在没有Express服务器的情况下发送提示:

pnpm tsx src/scripts/send-prompt.ts "Summarise the repo goals in one sentence."

需要时通过环境变量覆盖默认值:

  • OLLAMA_HOST (默认值 http://127.0.0.1:11434)
  • OLLAMA_MODEL (默认值 llama3-groq-tool-use:8b)

🗺️ 里程碑

  • [x] 里程碑0: 项目设置、研究、环境准备
  • [x] 里程碑1: 运行本地LLM并发送简单提示
  • [ ] 里程碑2: 构建一个基本的工具调用机制(例如从日历中读取)
  • [ ] 里程碑3: 引入简单的“代理循环”逻辑
  • [ ] 里程碑4: 评估输出并改进推理
  • [ ] 伸展目标: 尝试MCP集成或多代理工作流

📘 知识库

  • 学习计划 --从这里开始了解路线图和研究背景
  • 术语表 --重复出现的术语和首字母缩略词的快速定义