-
Notifications
You must be signed in to change notification settings - Fork 99
Process templates documentation first draft #2798
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from 3 commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
b444a1f
Process templates documentation first draft
Vvasudevan-octopus b52c628
Merge branch 'main' into process-templates-docs
Vvasudevan-octopus b57b4f8
V1 of Process templates docs
Vvasudevan-octopus 20889d0
Apply suggestion from @steve-fenton-octopus
harrisonmeister 8d2c169
Apply suggestion from @steve-fenton-octopus
harrisonmeister 0534b28
Apply suggestion from @steve-fenton-octopus
harrisonmeister e861c86
Apply suggestion from @steve-fenton-octopus
harrisonmeister 86ac639
Apply suggestion from @steve-fenton-octopus
harrisonmeister 5bd8be3
Apply suggestion from @steve-fenton-octopus
harrisonmeister 0872c43
Initial pass for linting fixes
harrisonmeister 5ab06a4
Spelling fixes
harrisonmeister f031d77
More linting
harrisonmeister d134ed3
Updating title and navTitles
harrisonmeister 7223ddb
updates to Process Templates docs
Vvasudevan-octopus 905f9ee
removed extra files
Vvasudevan-octopus 2478dff
Update index.md
tonykelly-octopus 11e1ea1
Update index.md
tonykelly-octopus 755360b
Fixed grammar and layout
Vvasudevan-octopus d88e111
Removed extra files
Vvasudevan-octopus 02c7f01
Grammar changes
Vvasudevan-octopus ad83a90
Doc changes
ellen-octopus 04fa6c7
Update src/pages/docs/administration/octopus-ai-assistant/octoai/inde…
steve-fenton-octopus 4f50102
Refactor LLMs.txt generation to use Astro
KMajkrzakOctopus File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
189 changes: 189 additions & 0 deletions
189
src/pages/docs/administration/octopus-ai-assistant/index.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,189 @@ | ||
--- | ||
layout: src/layouts/Default.astro | ||
pubDate: 2025-04-04 | ||
modDate: 2025-06-30 | ||
title: Octopus AI Assistant | ||
description: How to use Octopus AI Assistant | ||
navOrder: 100 | ||
hideInThisSection: true | ||
navSearch: false | ||
navSitemap: false | ||
navMenu: false | ||
robots: noindex, follow | ||
--- | ||
|
||
Octopus AI Assistant is a Alpha feature currently under development to integrate AI functionality into the Octopus user interface. The goal of Octopus AI Assistant is: | ||
|
||
- To support new Octopus users as they get started with the platform | ||
- To guide teams with large existing Octopus spaces with best practices and suggestions to optimize and scale their Octopus usage | ||
|
||
:::div{.warning} | ||
The Octopus AI Assistant Alpha is a feature released to an audience who has opted-in to provide feedback. The feature is not finished or fully tested. It may not be supported through regular channels. It may change drastically or may never ship. | ||
::: | ||
|
||
 | ||
|
||
## What can I do with Octopus AI Assistant? | ||
|
||
- Onboard new DevOps teams to Octopus with prompts like `What is an Octopus Runbook?` | ||
- Generate Terraform configuration for the Octopus Terraform provider with prompts like `Generate a Terraform module that creates 3 environments called "Development", "Test", and "Production"` | ||
- Optimize your Octopus space with prompts like `Check the space for unused projects` and `Find unused variables in the project.` | ||
- Debug failed deployments with prompts like `Why did the deployment fail?` | ||
|
||
## We want your feedback | ||
|
||
We are looking for feedback on Octopus AI Assistant, specifically: | ||
|
||
- What prompts do you want the service to respond to? | ||
- What would you change about the service? | ||
- Have the responses been helpful? | ||
|
||
As part of the Alpha, we will invite you to a private channel in the [Octopus Community Slack](https://octopus.com/community) where you can provide feedback. | ||
|
||
## Getting started with Octopus AI Assistant | ||
|
||
Octopus AI Assistant has the following prerequisites: | ||
|
||
- An Octopus instance, either | ||
- A cloud instance | ||
- An on-premises Octopus instance with a hostname accessible from the Octopus AI Assistant service (more on this requirement below) | ||
- Google Chrome | ||
|
||
Octopus AI Assistant is delivered via a Chrome extension which is available from the [Chrome Store](https://oc.to/install-ai-assistant). Once the extension is installed, you will see a new icon in the top right corner of your Chrome browser. Click on the icon to open the Octopus AI Assistant interface. | ||
|
||
## Using Octopus AI Assistant with an on-premises Octopus instance | ||
|
||
Octopus AI Assistant is implemented as an Azure Function. The function must be able to call the Octopus API. | ||
|
||
On-premises Octopus instances must allow HTTP requests from the IP address `51.8.40.170`. | ||
|
||
:::div{.warning} | ||
It is not possible to integrate Octopus AI Assistant with an on-premises Octopus instance that can not accept HTTP requests from this public IP address. | ||
::: | ||
|
||
## Adding custom prompts | ||
|
||
Octopus AI Assistant will present custom prompts defined in a Library Variable Set called `Octopus AI Assistant Prompts`. The Library Variable set contains variables named: | ||
|
||
- `PageName[#].Prompt` - The prompt displayed in the UI and passed to the LLM | ||
- `PageName[#].SystemPrompt` - Additional prompt instructions passed to the LLM but not shown in the UI | ||
|
||
Where: | ||
|
||
- `PageName` is one of the pages listed in the table below | ||
- `#` is a number from 0 to 4 inclusive for up to 5 prompts per page | ||
|
||
For example: | ||
|
||
- `Project.Deployment[0].Prompt` - A prompt displayed when a project deployment is viewed | ||
- `Project.Deployment[0].SystemPrompt` - The system prompt passed to the LLM when the project deployment is viewed | ||
|
||
| Page Name | Description | | ||
|-----------------------------------------|-----------------------------------------------------| | ||
| `Dashboard` | The main dashboard | | ||
| `Tasks` | The tasks overview | | ||
| `Project` | The project dashboard | | ||
| `Project.Settings` | The project settings | | ||
| `Project.VersionControl` | The project version control settings | | ||
| `Project.ITSMProviders` | The project ITSM settings | | ||
| `Project.Channels` | The project channels | | ||
| `Project.Triggers` | The project triggers | | ||
| `Project.Process` | The project deployment process editor | | ||
| `Project.Step` | An individual step in the deployment process editor | | ||
| `Project.Variables` | The project variables editor | | ||
| `Project.AllVariables` | The overview of all the project variables | | ||
| `Project.PreviewVariables` | The preview of all the project variables | | ||
| `Project.VariableSets` | The project library variable sets | | ||
| `Project.TenantVariables` | The project tenant variables | | ||
| `Project.Operations` | The project runbooks dashboard | | ||
| `Project.Operations.Triggers` | An runbook triggers | | ||
| `Project.Deployment` | The project deployments | | ||
| `Project.Release` | The project releases | | ||
| `Project.Runbooks` | The project runbooks | | ||
| `Project.Runbook.Runbook` | An individual runbook | | ||
| `Project.Runbook.Run` | A runbook run | | ||
| `LibraryVariableSets` | The library variable sets | | ||
| `LibraryVariableSet.LibraryVariableSet` | An individual library variable set | | ||
| `Machines` | The targets dashboard | | ||
| `Machine.Machine` | An individual target | | ||
| `Accounts` | The accounts dashboard | | ||
| `Account.Account` | An individual account | | ||
| `Workers` | The workers dashboard | | ||
| `WorkerPools` | The workerpool dashboard | | ||
| `MachinePolicies` | An machine policies dashboard | | ||
| `MachineProxies` | An machine proxies dashboard | | ||
| `Feeds` | The feeds dashboard | | ||
| `GitCredentials` | The git credentials dashboard | | ||
| `GitConnections` | The GitHub App dashboard | | ||
| `Lifecycles` | The lifecycles dashboard | | ||
| `Packages` | The built-in feed dashboard | | ||
| `ScriptModules` | The script modules dashboard | | ||
| `StepTemplates` | The step templates dashboard | | ||
| `TagSets` | The tag sets dashboard | | ||
| `TagSets.TagSet` | An individual tag set | | ||
| `Tenants` | The tenants dashboard | | ||
| `Tenant.Tenant` | An individual tenant | | ||
| `Certificates` | The certificates dashboard | | ||
| `Environments` | The environments dashboard | | ||
| `Environment.Environment` | An individual environment | | ||
| `Infrastructure` | The infrastructure dashboard | | ||
| `BuildInformation` | The build information dashboard | | ||
|
||
## Writing custom prompts | ||
|
||
To write a custom prompt, you need to define the prompt variable, which is in the format `PageName[#].Prompt`. The prompt variable represents what an Octopus user might write themselves when interacting with Octopus AI Assistant. | ||
|
||
You can optionally define the system prompt variable, which is in the format `PageName[#].SystemPrompt`. The system prompt variable is used to provide additional context to the LLM, usually to capture unique business knowledge. The system prompt is not shown to the user. | ||
|
||
For example, the prompt variable `Project.Deployment[0].Prompt`, which is displayed when a project deployment is viewed, might be: | ||
|
||
> Why did the deployment fail? If the deployment didn't fail, say so. Provide suggestions for resolving the issue. | ||
|
||
On its own, this prompt variable relies on the knowledge built into the LLM to provide an answer based on the context. The context for a project deployment is: | ||
|
||
- The deployment logs | ||
- The deployment process | ||
|
||
To improve the response, you can add a system prompt variable `Project.Deployment[0].SystemPrompt`: | ||
|
||
> If the logs indicate that a Docker image is missing, You must only provide the suggestion that the user must visit <https://help/missingdocker> to get additional instructions to resolve missing docker containers. You will be penalized for offing generic suggestions to resolve a missing docker image. You will be penalized for offering script suggestions to resolve a missing docker image. You will be penalized for suggesting step retries to resolve a missing docker image. | ||
|
||
The system prompt allows you to embed business knowledge to guide the LLM to provide a more accurate response. In this example we have instructed the LLM to determine if the deployment logs indicate that a Docker image is missing, and if so, to provide a custom link to internal documentation. We have also instructed the LLM to not provide generic suggestions, script suggestions, or step retries to resolve a missing docker image. | ||
|
||
## FAQ | ||
|
||
Q: What data is collected? | ||
|
||
A: We collect prompts entered into Octopus AI Assistant. All logs are sanitized to remove personally identifiable information. We do not log: | ||
|
||
- Prompt responses | ||
- Sensitive values | ||
- Octopus configurations | ||
|
||
Q: Is my data used to train AI models? | ||
|
||
A: No, we do not train AI models on customer data. We use the Azure OpenAI platform, and [Azure does not use customer data to train models either](https://learn.microsoft.com/en-us/legal/cognitive-services/openai/data-privacy?tabs=azure-portal). | ||
|
||
Q: How do I turn off Octopus AI Assistant? | ||
|
||
A: Disabling or uninstalling the Chrome extension will disable Octopus AI Assistant. | ||
|
||
Q: How much does the service cost? | ||
|
||
A: The service is free during the Alpha phase. | ||
|
||
Q: How secure is the service? | ||
|
||
A: Octopus AI Assistant is implemented as an external service that accesses Octopus via the API. This means Octopus AI Assistant does not have access to any sensitive values, as the API never exposes sensitive values. It also means access to the Octopus instance is limited by the existing permissions of the current user. Additionally, Octopus AI Assistant shares the same backend as the Octopus Copilot Extension, which has been audited by an independent external security team. The report is available via the [trust center](https://trust.octopus.com/). | ||
|
||
Q: Can I see the source code? | ||
|
||
A: Yes. The Octopus AI Assistant backend source code is available from [GitHub](https://github.com/OctopusSolutionsEngineering/OctopusCopilot). | ||
|
||
Q: Do I need to sign up for an account? | ||
|
||
A: No, Octopus AI Assistant is self-contained and only requires access to an Octopus instance. | ||
|
||
Q: Is Octopus AI Assistant a supported service? | ||
|
||
A: No, the Octopus AI Assistant Alpha is not subject to any existing SLAs or support agreements. It is an experimental feature that may not be supported through regular channels. It may change drastically or may never ship. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the motivation for removing this?