{"id":20831788,"url":"https://github.com/powershell/aishell","last_synced_at":"2025-05-16T07:05:41.965Z","repository":{"id":245861734,"uuid":"622343786","full_name":"PowerShell/AIShell","owner":"PowerShell","description":"An interactive shell to work with AI-powered assistance providers","archived":false,"fork":false,"pushed_at":"2025-05-16T00:01:00.000Z","size":49211,"stargazers_count":313,"open_issues_count":36,"forks_count":49,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-16T01:18:51.784Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","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/PowerShell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/SECURITY.md","support":"docs/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-04-01T20:37:54.000Z","updated_at":"2025-05-16T00:01:05.000Z","dependencies_parsed_at":"2024-07-29T22:06:42.921Z","dependency_job_id":"ba1dff60-3912-4d5a-9df0-4b147f618947","html_url":"https://github.com/PowerShell/AIShell","commit_stats":{"total_commits":184,"total_committers":10,"mean_commits":18.4,"dds":"0.36413043478260865","last_synced_commit":"c05f51dae5e2007dbc804eaaf1c093a4f767aad4"},"previous_names":["powershell/projectmercury","powershell/aishell"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FAIShell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FAIShell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FAIShell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FAIShell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PowerShell","download_url":"https://codeload.github.com/PowerShell/AIShell/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254485062,"owners_count":22078767,"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":[],"created_at":"2024-11-18T00:09:03.601Z","updated_at":"2025-05-16T07:05:36.937Z","avatar_url":"https://github.com/PowerShell.png","language":"C#","readme":"# AI Shell\n\nWelcome to the **AI Shell** repository! AI Shell is a CLI tool that brings the power of artificial\nintelligence directly to your command line! Designed to help you get command assistance from various\nAI assistants, AI Shell is a versatile tool to help you become more productive in the command line.\nWe call these various AI assistant providers _agents_. You can use agents to interact with different\ngenerative AI models or other AI/ML/assistant providers in a conversational manner. This repo\ncontains the code of the AI Shell engine, agents and details on how to create your own agent.\n\nYou may have seen this project previously as **Project Mercury**. This was the code name that was\nused before we created the AI Shell brand. We are now in the process of transitioning to the new\nbrand. The code name may still be used in some places, but the product name is now AI Shell.\n\nThis project is currently in a very early **public preview** state. Expect many significant changes\nto the code as we experiment and refine the user experiences of this tool. We appreciate your\nfeedback and patience as we continue our development.\n\n## New to AI Shell?\n\nTo learn more about AI Shell, we recommend you check out the [overview][19] page of the AI Shell\ndocumentation.\n\n### Usage\n\nThere are two modes to use AI Shell, standalone and a side-by-side, integrated experience with\nPowerShell 7. For more information see,\n- [Get Started with AI Shell in PowerShell][15]\n- [Get Started with AI Shell (standalone)][16]\n\n### AI Shell in PowerShell\n\n![GIF showing demo of the AI Shell in PowerShell][21]\n\n### Standalone experience\n\n![GIF showing demo of the AI Shell standalone][20]\n\n## Getting AI Shell\n\nAI Shell is supported on Windows, MacOS and Linux, however the best experience you can have is with\nWindows, [PowerShell 7][11] and [Windows Terminal][14]. For more information see,\n[Installing AI Shell][13].\n\n## Locally Building AI Shell\n\nSome prerequisites for building an AI Shell:\n\n- Build script requires [PowerShell v7.4][18] or newer versions\n- [.NET SDK 8][09] is required to build the project\n\nHere are the steps to install and use.\n\n1. Clone this repository, `git clone https://github.com/PowerShell/AIShell`\n2. Import the `build.psm1` module by running `import-module ./build.psm1` \n3. Run the `Start-Build` command (You can specify which agents build with the `-AgentsToInclude`\n   parameter)\n4. After the build is complete, you can find the produced executable `aish` in the `out\\debug\\app`\n   folder within the repository's root directory. You can add the location to the `PATH` environment\n   variable for easy access. The full path is copied to your clipboard after successful build.\n\n## AI Agents\n\nAI Shell provides a framework for creating and registering multiple AI Agents. The agents are\nlibraries that you use to interact with different AI models or assistance providers. AI Shell\nreleases with two agents, the `openai-gpt` and `azure` agent. However there are additional ones\nsupported if you locally build the project:\n\nAgent README files:\n\n- [`openai-gpt`][08] (shipped with AI Shell)\n- [`ollama`][06]\n- [`interpreter`][07]\n- [`azure`][17] (shipped with AI Shell)\n\nWhen you run `aish`, you are prompted to choose an agent. For more details about each agent, see the\nREADME in the each agent folder.\n\nTo learn more about how to create an agent for yourself please see, [Creating an Agent][03].\n\nIn order to use the `openai-gpt` agent you will need a valid Azure OpenAI service or a public OpenAI\nkey. For more information on how to get an Azure OpenAI service, see\n[Deploying Azure OpenAI Service](./docs/development/AzureOAIDeployment/DeployingAzureOAI.md).\n\n### Chat commands\n\nBy default, `aish` provides a base set of chat `/` commands used to interact with the responses from\nthe AI model. To get a list of commands, use the `/help` command in the chat session.\n\n```\n  Name       Description                                      Source\n──────────────────────────────────────────────────────────────────────\n  /agent     Command for agent management.                    Core\n  /cls       Clear the screen.                                Core\n  /code      Command to interact with the code generated.     Core\n  /dislike   Dislike the last response and send feedback.     Core\n  /exit      Exit the interactive session.                    Core\n  /help      Show all available commands.                     Core\n  /like      Like the last response and send feedback.        Core\n  /refresh   Refresh the chat session.                        Core\n  /render    Render a markdown file, for diagnosis purpose.   Core\n  /retry     Regenerate a new response for the last query.    Core\n```\n\nAlso, agents can implement their own commands. For example, the `openai-gpt` agent register the\ncommand `/gpt` for managing the GPTs defined for the agent. Some commands, such as `/like` and\n`/dislike`, are commands that sends feedback to the agents. It is up to the agents to consume the\nfeedback.\n\n### Key bindings for commands\n\nAI Shell supports key bindings for the `/code` command. They are currently hard-coded, but custom\nkey bindings will be supported in future releases.\n\n| Key bindings              | Command          | Functionality |\n| ------------------------- | ---------------- | ------------- |\n| \u003ckbd\u003eCtrl+d, Ctrl+c\u003c/kbd\u003e | `/code copy`     | Copy _all_ the generated code snippets to clipboard |\n| \u003ckbd\u003eCtrl+\\\u003cn\\\u003e\u003c/kbd\u003e     | `/code copy \u003cn\u003e` | Copy the _n-th_ generated code snippet to clipboard |\n| \u003ckbd\u003eCtrl+d, Ctrl+d\u003c/kbd\u003e | `/code post`     | Post _all_ the generated code snippets to the connected application |\n| \u003ckbd\u003eCtrl+d, \\\u003cn\\\u003e\u003c/kbd\u003e  | `/code post \u003cn\u003e` | Post the _n-th_ generated code snippet to the connected application |\n\n### Configuration\n\nCurrently, AI Shell supports very basic configuration. One can creates a file named `config.json`\nunder `~/.aish` to configure AI Shell, but it only supports declaring the default agent to use at\nstartup. This way you do not need to select agents every time you run `aish.exe`\n\nConfiguration of AI Shell will be improved in future releases to support custom key bindings, color\nthemes and more.\n\n```json\n{\n  \"DefaultAgent\": \"openai-gpt\"\n}\n```\n\n## Contributing to the project\n\nPlease see [CONTRIBUTING.md][02] for more details.\n\n## Privacy\n\nAI Shell does not capture, collect, store, or process any personal data or personally identifiable\ninformation (PII). All data interactions are limited to the scope of the functionality provided by\nthe tool and do not involve any form of personal data collection.\n\nSome agents integrated with AI Shell may collect telemetry data to improve performance, enhance user\nexperience, or troubleshoot issues. We recommend that you refer to the individual agent’s README or\ndocumentation for more information on the telemetry practices and data collection policies for each\nagent.\n\nIf you are interested in learning more, see\n[Microsoft's Privacy Statement](https://www.microsoft.com/en-us/privacy/privacystatement?msockid=1fe60b30e66967f13fb91f29e73f661a).\n\n## Support\n\nFor support, see our [Support][05] statement.\n\n## Code of Conduct\n\nPlease see our [Code of Conduct][01] before participating in this project.\n\n## Security Policy\n\nFor any security issues, please see our [Security Policy][12].\n\n## Feedback\n\nWe're still in development and value your feedback! Please file [issues][10] in this repository for\nbugs, suggestions, or feedback. If you would like to give more candid feedback and sign up for testing future versions and features before they are released, please fill out this [form][22].\n\n\u003c!-- link references --\u003e\n[01]: ./docs/CODE_OF_CONDUCT.md\n[02]: ./docs/CONTRIBUTING.md\n[03]: ./docs/development/CreatingAnAgent.md\n[05]: ./docs/SUPPORT.md\n[06]: ./shell/agents/AIShell.Ollama.Agent/README.md\n[07]: ./shell/agents/AIShell.Interpreter.Agent/README.md\n[08]: https://learn.microsoft.com/powershell/utility-modules/aishell/how-to/agent-openai\n[09]: https://dotnet.microsoft.com/en-us/download\n[10]: https://github.com/PowerShell/AIShell/issues\n[11]: https://learn.microsoft.com/powershell/scripting/install/installing-powershell\n[12]: ./docs/SECURITY.md\n[13]: https://learn.microsoft.com/powershell/utility-modules/aishell/install-aishell\n[14]: https://learn.microsoft.com/windows/terminal/\n[15]: https://learn.microsoft.com/powershell/utility-modules/aishell/get-started/aishell-powershell\n[16]:https://learn.microsoft.com/powershell/utility-modules/aishell/get-started/aishell-standalone\n[17]: https://learn.microsoft.com/powershell/utility-modules/aishell/how-to/agent-azure\n[18]: https://github.com/PowerShell/PowerShell/releases/tag/v7.4.6\n[19]: https://learn.microsoft.com/powershell/utility-modules/aishell/overview\n[20]: ./docs/media/DemoGIFs/standalone-startup.gif\n[21]: ./docs/media/DemoGIFs/azure-agent.gif\n[22]: https://aka.ms/AIShell-Feedback\n[logo]: ./docs/media/AIShellIconSVG.svg","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowershell%2Faishell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpowershell%2Faishell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowershell%2Faishell/lists"}