GemChat is a collection of small AI experiments (CLI chats, LangGraph agents, and image/story generators). Everything runs locally via simple scripts.
Disclaimer: This project is not affiliated with, endorsed by, or associated with Google or the Gemini AI team. It is an independent project created for development and testing purposes only.
- Node.js v18 or higher
- npm v8 or higher
- A Gemini API key (Get one for free at https://makersuite.google.com/app/apikey)
cli-chats/gemini-streaming.ts: streaming Gemini CLI chat (npm run chat:gemini:stream)gemini-with-context.ts: Gemini + LangChain with fixed context (npm run chat:gemini:context)gemini-with-history.ts: Gemini + LangChain chat history (npm run chat:gemini:history)azure-openai.ts: Azure OpenAI CLI chat (npm run chat:azure)
agents/blog-langraph-basic.ts: simple end-to-end blog writer with Together cover imageblog-langraph-with-hitl.ts: multi-step approval loop for outline/title/content/cover
image-generation/gemini-image.js: Gemini native image generation sampletogether-image.js: Together FLUX image generation sample
storybooks/gemini-storybook.js: Gemini storybook generator + per-page images
- Install deps:
npm install - Create
.envwith any keys you need:GEMINI_API_KEY(Gemini + LangChain samples)TOGETHER_API_KEY(Together + LangGraph cover/image flows)AZURE_OPENAI_API_KEY,AZURE_OPENAI_API_VERSION,AZURE_OPENAI_RESOURCE_NAME(Azure chat sample)
- Gemini streaming chat:
npm run chat:gemini:stream - Gemini LangChain context chat:
npm run chat:gemini:context - Gemini LangChain history chat:
npm run chat:gemini:history - Azure OpenAI chat:
npm run chat:azure - Blog agents:
npm run agent:blog:basicornpm run agent:blog:advanced - Gemini storybook:
npm run story:gemini - Image generation:
npm run image:geminiornpm run image:together