{"id":13989584,"url":"https://github.com/ahmed3520/lam-store","last_synced_at":"2026-01-31T09:07:23.347Z","repository":{"id":164570883,"uuid":"639867512","full_name":"ahmed3520/lam-store","owner":"ahmed3520","description":"Lam-store App is a desktop app that allows users to perform tasks through a centralized chat interface. It supports apps developed in any language and uses Node child processes to communicate with them. This provides a unified experience for users to access tools through a single interface.","archived":false,"fork":false,"pushed_at":"2023-09-18T18:43:13.000Z","size":6611,"stargazers_count":5,"open_issues_count":7,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-22T11:47:06.809Z","etag":null,"topics":["chat","desktop-app","electron","llms","react","store","typescript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/ahmed3520.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2023-05-12T12:07:57.000Z","updated_at":"2024-05-12T23:39:39.000Z","dependencies_parsed_at":"2024-11-29T21:16:29.227Z","dependency_job_id":null,"html_url":"https://github.com/ahmed3520/lam-store","commit_stats":null,"previous_names":["ahmed3520/lam-store"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ahmed3520/lam-store","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmed3520%2Flam-store","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmed3520%2Flam-store/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmed3520%2Flam-store/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmed3520%2Flam-store/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahmed3520","download_url":"https://codeload.github.com/ahmed3520/lam-store/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmed3520%2Flam-store/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28936100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T08:53:31.997Z","status":"ssl_error","status_checked_at":"2026-01-31T08:51:38.521Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["chat","desktop-app","electron","llms","react","store","typescript"],"created_at":"2024-08-09T13:01:46.641Z","updated_at":"2026-01-31T09:07:23.300Z","avatar_url":"https://github.com/ahmed3520.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Lam-store\n\nThe Lam-store is a versatile and powerful desktop application built with Electron and React, allowing users to perform various tasks through a single, centralized platform. Users can install and use different apps within the main app, which is powered by a chat interface (currently using ChatGPT). The supported apps can be developed in multiple programming languages, such as Node.js, Python, and others. Each app should include a binary file, a manifest JSON, a logo, and any additional assets that may be required. The lam-store App utilizes Node.js child processes for efficient communication with the installed apps, ensuring seamless integration and a smooth user experience.\n\n## Table of Contents\n\n- [Lam-store](#lam-store)\n  - [Table of Contents](#table-of-contents)\n  - [Getting Started ](#getting-started-)\n    - [Prerequisites ](#prerequisites-)\n    - [Installation ](#installation-)\n  - [How It Works ](#how-it-works-)\n  - [Current Challenges \\\u0026 Future Work ](#current-challenges--future-work-)\n  - [Usage ](#usage-)\n  - [App Development ](#app-development-)\n    - [App Structure  ](#app-structure--)\n    - [Manifest JSON ](#manifest-json-)\n  - [Contributing ](#contributing-)\n  - [License ](#license-)\n  - [Contact](#contact)\n\n## Getting Started \u003ca id=\"getting-started\"\u003e\u003c/a\u003e\n\nThese instructions will provide you with a copy of the project and help you set up your environment to run the lam-store App.\n\n### Prerequisites \u003ca id=\"prerequisites\"\u003e\u003c/a\u003e\n\n- Node.js (\u003e= 18.x.x)\n\n- Python (\u003e= 3.8.x)\n\n- Git\n\n### Installation \u003ca id=\"installation\"\u003e\u003c/a\u003e\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/ahmed3520/lam-store.git\n```\n2. Navigate to the project directory:\n```bash\ncd lam-store\n```\n3. Install the required dependencies\n```bash\nnpm install\n```\n4. Run the application:\n```bash\nnpm start\n```\n## How It Works \u003ca id=\"how-it-works\"\u003e\u003c/a\u003e\n\nLam-store is designed to provide a seamless user experience by integrating multiple apps within a single platform. The main app serves as a chat interface, powered by ChatGPT, which allows users to interact with the installed apps. Each app is developed independently and can be written in various programming languages, such as Node.js, Python, and others.\n\nWhen a user interacts with the chat interface, their input is passed to ChatGPT, which classifies the input. If the input is a normal message, ChatGPT responds accordingly. If the input is a task, ChatGPT generates a JSON object containing the task and relevant keywords, like this:\n\n```json\n{\n  \"task\": \"open the translator\",\n  \"task_keywords\": [\"translator\", \"open\", \"language\"]\n}\n```\n\nThe lam-store App then filters the available apps list using the keywords provided by ChatGPT. The filtered app list and the task are sent back to ChatGPT to calculate the probability of the best app that fits the user's task.\n\nOnce the best app is identified, it is retrieved from the apps directory, and the task and arguments are passed to a child process file. This child process file interacts with the app, processes the user's request, and returns the output, which is displayed in the chat interface.\n\nThis modular design enables developers to create and integrate new apps easily, while users can enjoy a unified experience across multiple apps without needing to switch between different platforms.\n## Current Challenges \u0026 Future Work \u003ca id=\"current-challenges\"\u003e\u003c/a\u003e\nAs the lam-store App project continues to evolve, we are actively working on addressing the following challenges and improvements:\n\n  1.  **Argument Extraction**: Developing a method to extract arguments from user tasks and pass them to the appropriate app for processing.\n      \n  2.  **App Selection Algorithm**: Improving the app selection algorithm to increase efficiency and reduce the reliance on large language models (LLMs) for determining the best app to handle a user's task.\n      \n  3.  **Developer Platform**: Creating a platform for developers to upload their apps, store them in cloud storage, and allow users to download the apps (including the binary file and the manifest.json).\n      \n  4.  **User Interface Enhancements**: Continuously improving the user interface to support additional input types, such as voice, photos, videos, and files.\n    \n\nWe are committed to addressing these challenges and enhancing the lam-store App's capabilities. We welcome feedback and contributions from the community to help us achieve our goals and create a better user experience.\n## Usage \u003ca id=\"usage\"\u003e\u003c/a\u003e\nAfter setting up the  App, users can access the main chat interface to interact with the installed apps. To install new apps, follow the app installation process provided by each individual app.\n## App Development \u003ca id=\"app-development\"\u003e\u003c/a\u003e\nDevelopers can create apps for the lam-store App using various programming languages. Each app must follow the required app structure and include necessary files.\n### App Structure  \u003ca id=\"app-structure\"\u003e\u003c/a\u003e\nAn app should include the following files:\n-   Executable binary file (e.g., .exe or any other supported language)\n-   Manifest JSON (a JSON file containing app metadata)\n-   Additional assets (if required)\n\nFor Node.js apps, we recommend using [pkg](https://github.com/vercel/pkg) to package the app into an executable binary file. For Python apps, we recommend using [PyInstaller](https://pyinstaller.org/en/stable/) to create a standalone executable binary file.\n\n### Manifest JSON \u003ca id=\"manifest-json\"\u003e\u003c/a\u003e\n\nThe manifest JSON should contain relevant metadata for the app, such as:\n\n```json\n{\n    \"schema_version\":\"v1\",\n    \"name_for_model\":\"alarm\",\n    \"name_for_human\":\"Dummy Alarm\",\n    \"description_for_human\":\"Simple Alert that beep when alarm finish\",\n    \"description_for_model\":\"Use this app when user ask you to set an alarm. this app takes HH:MM as arguments\",\n    \"entry_functions\":[\n       {\n          \"function_name\":\"set_alarm\",\n          \"arguments\":[\n             {\n                \"name\":\"time\",\n                \"type\":\"string\",\n                \"description\":\"The time to set the alarm for in HH:MM format\"\n             }\n          ]\n       }\n    ],\n    \"logo_url\":\"https://i.ibb.co/1fB8M4D/alarm-icon.png\",\n    \"contact_email\":\"alarm@test.com\",\n    \"legal_info_url\":\"test.com\"\n }\n```\n\n## Contributing \u003ca id=\"contributing\"\u003e\u003c/a\u003e\n\nContributions are always welcome!\n\nSee `contributing.md` for ways to get started.\n\nPlease adhere to this project's `code of conduct`.\n\n\n## License \u003ca id=\"license\"\u003e\u003c/a\u003e\n\nThis project is licensed under the **Apache** License. See LICENSE for more information.\n\n\n## Contact\n\nIf you have any questions, feel free to reach out to Ahmed on [Twitter](https://twitter.com/ataha3520) or by [Email](mailto:a.tahamostafa@outlook.com).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmed3520%2Flam-store","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahmed3520%2Flam-store","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmed3520%2Flam-store/lists"}