{"id":15990867,"url":"https://github.com/actualwitch/experiment","last_synced_at":"2025-04-13T20:34:24.781Z","repository":{"id":255497496,"uuid":"849582356","full_name":"actualwitch/experiment","owner":"actualwitch","description":"🔬 Experiment is a LLM chat UI with advanced tool use debugging facilities.","archived":false,"fork":false,"pushed_at":"2024-12-21T01:24:21.000Z","size":10972,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-21T01:30:42.392Z","etag":null,"topics":["anthropic","bun","chat","experiment-tracking","inference","isomorphic","llm","llm-inference","openai","react"],"latest_commit_sha":null,"homepage":"https://actualwitch.github.io/experiment/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/actualwitch.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}},"created_at":"2024-08-29T21:21:43.000Z","updated_at":"2024-12-21T01:24:24.000Z","dependencies_parsed_at":"2024-12-21T01:30:52.688Z","dependency_job_id":"7f7b4a20-e3db-43f5-b9cd-e4aba455ae82","html_url":"https://github.com/actualwitch/experiment","commit_stats":null,"previous_names":["actualwitch/experiment"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actualwitch%2Fexperiment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actualwitch%2Fexperiment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actualwitch%2Fexperiment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actualwitch%2Fexperiment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/actualwitch","download_url":"https://codeload.github.com/actualwitch/experiment/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231032796,"owners_count":18317867,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["anthropic","bun","chat","experiment-tracking","inference","isomorphic","llm","llm-inference","openai","react"],"created_at":"2024-10-08T05:40:40.104Z","updated_at":"2025-04-13T20:34:24.772Z","avatar_url":"https://github.com/actualwitch.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"https://actualwitch.github.io/experiment/\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\".github/screenshots/browser-dark.png\"\u003e\n    \u003cimg alt=\"Experiment screenshot\" src=\".github/screenshots/browser-light.png\"\u003e\n  \u003c/picture\u003e\n\u003c/a\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://actualwitch.github.io/experiment/\"\u003e\n    Web\n  \u003c/a\u003e\n  ▴\n  \u003ca href=\"https://github.com/actualwitch/experiment/releases/latest\"\u003e\n    macOS\n  \u003c/a\u003e\n  ▴\n  \u003ca href=\"https://github.com/actualwitch/experiment/releases/latest\"\u003e\n    Linux\n  \u003c/a\u003e\n  ▴\n  \u003ca href=\"https://github.com/actualwitch/experiment/releases/latest\"\u003e\n    Windows\n  \u003c/a\u003e\n\u003c/p\u003e\n\n# 🔬 Let's start the \u003cins\u003eExperiment\u003c/ins\u003e\n\n[![Tests](https://github.com/actualwitch/experiment/actions/workflows/test.yml/badge.svg)](https://github.com/actualwitch/experiment/actions/workflows/test.yml)\n\n**Experiment** is a professional-grade chat interface for Large Language Models (LLMs) designed for developers, prompt engineers, and AI researchers. It provides a streamlined environment for working with Anthropic, OpenAI, and Mistral models, with powerful debugging tools for prompt engineering and tool integration.\n\n## Features\n\n- 💬 **Multi-Provider Support**: Connect to Anthropic, OpenAI, and Mistral APIs with a unified interface\n- 🧰 **Advanced Tool Debugging**: Visualize and manage tool interactions with JSON schema visualization\n- 📂 **Include Context**: Add a directory to experiment and share its text content with the model\n- 🔍 **Prompt Engineering**: Easily create, test, and iterate on prompts with real-time feedback\n- 📊 **Import CSV**: Analyze previous completions from CSV files\n- 🌐 **Universal Platform**: Available as both a web app and self-contained desktop application\n- 📱 **Mobile Optimized**: Full-featured mobile version with Progressive Web App (PWA) support\n- 🔐 **Secure by Design**: Store API tokens securely with optional 1Password integration (binary edition)\n- 🖥️ **OLED-Friendly**: Dark mode uses true black for energy efficiency on OLED displays\n- 🍻 **Free as in MIT**: All code is open source and permissively licensed\n- 🙊 **Privacy First**: Your data stays local with no telemetry or tracking\n\n## Getting Started\n\nExperiment is available in binary and non-binary editions. Binary edition requires no dependencies and includes additional features like 1Password integration for secure token storage.\n\n### Non-binary edition (Web/SPA)\n\nTry the web version instantly at [actualwitch.github.io/experiment](https://actualwitch.github.io/experiment/)\n\n### Binary edition (macOS/Linux/Windows)\n\n[Download](https://github.com/actualwitch/experiment/releases/latest) the latest release for your platform and run it.\n\n\u003e [!NOTE]\n\u003e macOS and Linux users need to make the downloaded file executable:\n\u003e ```shell\n\u003e chmod +x ./experiment-*\n\u003e ```\n\u003e macOS users also need to remove quarantine:\n\u003e ```shell\n\u003e xattr -d com.apple.quarantine ./experiment-*\n\u003e ```\n\n## Tool Debugging\n\nExperiment provides comprehensive visualization for LLM tool use. Add tools by pasting a JSON schema into chat in OpenAI and Anthropic formats. The schema will be visualized with properties sorted by name and depth for easy navigation. Click on property names to collapse sections.\n\n\u003ca href=\"docs/tool-debugging.md\"\u003eRead more about tool debugging →\u003c/a\u003e\n\n## Architecture\n\nExperiment uses a custom architecture called \"entangled atoms\" which extends [jōtai](https://jotai.org/) to synchronize state across different JavaScript realms. This enables seamless state management between server and client.\n\n\u003ca href=\"docs/architecture.md\"\u003eRead more about the architecture →\u003c/a\u003e\n\n## Development\n\n```shell\n# Start development server\nbun dev\n\n# Build binary edition\nbun run build:bin\n\n# Build static site\nbun run build:ssg\n```\n\n\u003chr\u003e\n\nBanner by \u003ca href=\"https://unsplash.com/@jessbaileydesigns?utm_content=creditCopyText\u0026utm_medium=referral\u0026utm_source=unsplash\"\u003eJess Bailey\u003c/a\u003e on \u003ca href=\"https://unsplash.com/photos/pen-near-black-lined-paper-and-eyeglasses-q10VITrVYUM?utm_content=creditCopyText\u0026utm_medium=referral\u0026utm_source=unsplash\"\u003eUnsplash\u003c/a\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factualwitch%2Fexperiment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Factualwitch%2Fexperiment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factualwitch%2Fexperiment/lists"}