{"id":49026962,"url":"https://github.com/agenticenv/agent-chat","last_synced_at":"2026-04-19T07:10:39.052Z","repository":{"id":349706926,"uuid":"1188945870","full_name":"agenticenv/agent-chat","owner":"agenticenv","description":"Demo chat app built on agent-sdk-go — see Temporal-first durable AI agents in action.","archived":false,"fork":false,"pushed_at":"2026-04-15T21:20:28.000Z","size":6127,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-15T22:13:08.488Z","etag":null,"topics":["agent","agent-sdk-go","ai","ai-agents","ai-assistant","durable","durable-agent","golang","temporal"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agenticenv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-22T19:45:35.000Z","updated_at":"2026-04-11T02:39:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/agenticenv/agent-chat","commit_stats":null,"previous_names":["agenticenv/agent-chat"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/agenticenv/agent-chat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agenticenv%2Fagent-chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agenticenv%2Fagent-chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agenticenv%2Fagent-chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agenticenv%2Fagent-chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agenticenv","download_url":"https://codeload.github.com/agenticenv/agent-chat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agenticenv%2Fagent-chat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31997872,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","agent-sdk-go","ai","ai-agents","ai-assistant","durable","durable-agent","golang","temporal"],"created_at":"2026-04-19T07:10:38.382Z","updated_at":"2026-04-19T07:10:39.044Z","avatar_url":"https://github.com/agenticenv.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Agent Chat\n\nA demo app showcasing [agent-sdk-go](https://github.com/agenticenv/agent-sdk-go) — the Temporal-first AI agent SDK for Go. Built with a React UI and Go API, with durable workflow-backed conversations and real-time streaming via SSE.\n\n\u003e This is a demo app showcasing [agent-sdk-go](https://github.com/agenticenv/agent-sdk-go). Not intended for production use.\n\n## Why agent-sdk-go\n\nMost agent frameworks run in-process — if your server restarts, the agent run is lost. [agent-sdk-go](https://github.com/agenticenv/agent-sdk-go) is Temporal-first, so every agent run is a durable workflow:\n\n- **Durable conversations** — chat history and agent runs survive server restarts\n- **Long-running agents** — conversations can run for extended periods without losing state\n- **Automatic retries** — failed LLM calls retry automatically via Temporal\n\n## Stack\n\n- **[agent-sdk-go](https://github.com/agenticenv/agent-sdk-go)** — AI agent SDK for Go\n- **React Router 7 + Vite** — UI\n- **Tailwind CSS v4** — Styling\n- **react-markdown** + **remark-gfm** — Message bubbles render Markdown (GFM)\n\n## Prerequisites\n\n- **Docker** — [Docker Engine](https://docs.docker.com/engine/) with **Docker Compose** (the `docker compose` CLI; Compose v2 is bundled with Docker Desktop and current Engine installs).\n- **LLM access** — An API key from a supported provider (for example OpenAI or an OpenAI-compatible HTTP API). Add it to **`server/.env`** in the **Configuration** section below.\n- **A local copy of this project** — You need the files on your computer before you can run anything (clone with Git or download a ZIP — **Get the code** below).\n\n## How to start\n\nFollow these steps in order. Every shell command assumes your **current directory** is the **repository root**: the folder that contains **`docker-compose.yml`**.\n\n### Get the code\n\n- **Clone with Git** (recommended):\n\n  ```bash\n  git clone https://github.com/agenticenv/agent-chat.git\n  cd agent-chat\n  ```\n\n  Use your fork’s URL if you forked the repo. After `cd`, you should see `docker-compose.yml` in that directory.\n\n- **Or download a ZIP** — On GitHub, open **Code** → **Download ZIP**, unzip it, then open a terminal and `cd` into the unzipped folder (the one that contains **`docker-compose.yml`**).\n\n### Configuration (Required)\n\nAgent Chat reads **`server/.env`** for LLM settings. If **`LLM_API_KEY`** is missing, **the Agent Chat API will not start** and containers may fail or restart.\n\n- **Copy** the example file:\n\n  ```bash\n  cp server/.env.example server/.env\n  ```\n\n- **Required**\n\n  | Variable | You must… |\n  |----------|-----------|\n  | **`LLM_API_KEY`** | Set to your real LLM API key. An empty placeholder means Agent Chat cannot start. |\n\n- **Optional — LLM** (defaults are fine for OpenAI)\n\n  - **`LLM_PROVIDER`** — default `openai`\n  - **`LLM_MODEL`** — default `gpt-4o`\n  - **`LLM_BASE_URL`** — set only for a **custom or Azure-style** HTTP endpoint; use a **`LLM_MODEL`** your provider supports\n\n- **Optional — agent**\n\n  - **`AGENT_SYSTEM_PROMPT`** — how Agent Chat behaves (role, tone, rules). Omit to use the built-in default.\n  - **`AGENT_NAME`**, **`AGENT_DESCRIPTION`**, **`AGENT_CONVERSATION_WINDOW_SIZE`** — labeling and how much chat history is in context; see **`server/.env.example`**.\n\nFull variable list and behavior: **[server/README.md](server/README.md)**.\n\n- **Copy** the UI example file (optional — only needed to change defaults):\n\n  ```bash\n  cp ui/.env.example ui/.env\n  ```\n\n- **Optional — UI**\n\n  | Variable | Default | Description |\n  |----------|---------|-------------|\n  | **`ENABLE_STREAM`** | `true` | `ui` service: `true` = SSE streaming; `false` = REST. Applied when the container starts (no UI image rebuild). See **[ui/README.md](ui/README.md)**. |\n\nFull variable list and behavior: **[ui/README.md](ui/README.md)**.\n\n### Start (Docker Compose)\n\nAgent Chat runs with **Docker Compose** from the repository root.\n\n- **Start the stack** (Postgres, Temporal, API, UI):\n\n  ```bash\n  docker compose up -d --build\n  ```\n\n- **Open Agent Chat:** **[http://localhost:3000](http://localhost:3000)** — use the chat in your browser.\n\n- **(Optional)** **Temporal UI:** **[http://localhost:8233](http://localhost:8233)** — view Temporal workflow executions for Agent Chat.\n\n### Stop (Docker Compose)\n\n```bash\ndocker compose down\n```\n\n## References\n\n- **[UI](ui/README.md)** — `SERVER_API_URL`, Docker image, rebuilding the UI with Docker Compose.\n- **[server](server/README.md)** — environment variables, architecture, REST API, rebuild the API with Docker Compose.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagenticenv%2Fagent-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagenticenv%2Fagent-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagenticenv%2Fagent-chat/lists"}