diff --git a/documentation/blog/2025-03-31-goose-benchmark/index.md b/documentation/blog/2025-03-31-goose-benchmark/index.md index 7c0252fe..2e30c4ba 100644 --- a/documentation/blog/2025-03-31-goose-benchmark/index.md +++ b/documentation/blog/2025-03-31-goose-benchmark/index.md @@ -23,7 +23,7 @@ These community evals aren't the rigorous, peer-reviewed benchmarks that researc In this spirit, we're introducing our **Goose Vibe Check** leaderboard. -Thank you to the Ollama team for their help and support in our experimentation contributing to this blog! We used Ollama’s [structured outputs](https://ollama.com/blog/structured-outputs) feature to enable our [toolshim implementation](https://block.github.io/goose/docs/guides/experimental-features/#ollama-tool-shim) (more below) and their recently released [context length parameter override](https://github.com/ollama/ollama/blob/main/docs/faq.md#how-can-i-specify-the-context-window-size) to enable testing on longer contexts. +Thank you to the Ollama team for their help and support in our experimentation contributing to this blog! We used Ollama’s [structured outputs](https://ollama.com/blog/structured-outputs) feature to enable our [toolshim implementation](https://block.github.io/goose/docs/experimental/ollama) (more below) and their recently released [context length parameter override](https://github.com/ollama/ollama/blob/main/docs/faq.md#how-can-i-specify-the-context-window-size) to enable testing on longer contexts. ## Leaderboard @@ -237,7 +237,7 @@ However, this solution has limited performance due to: - **Structured output interference:** Ollama’s structured output feature influences the model’s token sampling process, where the output is impacted by the model’s fundamental ability to extract information and generate JSON appropriately. Despite these challenges, there could be potential in fine-tuning these toolshim models to specifically optimize them for tool call generation. -If you’d like to try out the toolshim, check out our [documentation](https://block.github.io/goose/docs/guides/experimental-features) +If you’d like to try out the toolshim, check out our [documentation](https://block.github.io/goose/docs/experimental/ollama) ## Practical Advice for Local Model Users diff --git a/documentation/docs/experimental/_category_.json b/documentation/docs/experimental/_category_.json new file mode 100644 index 00000000..a2a2a930 --- /dev/null +++ b/documentation/docs/experimental/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Experimental", + "position": 7, + "link": { + "type": "doc", + "id": "experimental/index" + } +} \ No newline at end of file diff --git a/documentation/docs/experimental/goose-mobile.md b/documentation/docs/experimental/goose-mobile.md new file mode 100644 index 00000000..469f04cf --- /dev/null +++ b/documentation/docs/experimental/goose-mobile.md @@ -0,0 +1,46 @@ +--- +title: Goose Mobile +sidebar_position: 2 +sidebar_label: Goose Mobile +--- + +Goose Mobile is an experimental project inspired by the Goose application, designed to automate tasks on Android devices. It acts as an open agent that can run on your phone, providing maximal automation of everyday tasks. + +![Goose Mobile Screenshot](https://github.com/user-attachments/assets/af9d7d83-54f4-4ace-ad66-9e19f86c8fb9) + +## Overview + +Goose Mobile is an interpretation of [Goose](https://github.com/block/goose) for Android, allowing for end-to-end task automation. It can function as a home screen replacement or react to notifications, executing pre-defined rules on your behalf. + +:::caution +Goose Mobile is an experimental project that requires deep access to your device. Use at your own risk. +::: + +## Key Features + +- **Automation**: Automate multi-step tasks using installed apps. +- **Notification Handling**: Respond to incoming notifications based on set rules. +- **Extensibility**: Discover and use extensions from other apps to perform background tasks. + +## Getting Started + +Goose Mobile is a research project and not intended for production use. It's recommended to try it on a spare Android phone or an emulator. + +### Installation Options + +- **Pre-built APK**: Quickly install via [Firebase distribution link](https://appdistribution.firebase.google.com/pub/i/3f111ea732d5f7f6). +- **Build from Source**: For developers, instructions are available in the [Goose Mobile repository](https://github.com/block/goose-mobile). + +## Extending Goose Mobile + +Goose Mobile supports extensions via the "mobile MCP" system, allowing it to use tools from other apps without switching contexts. For example, it can use a weather extension to quickly fetch weather information. + +Example extension code and setup can be found in the repository's [README](https://github.com/block/goose-mobile). + +## Contribution and Development + +We welcome contributions to Goose Mobile. For more information, see the [Contributing Guide](https://github.com/block/goose-mobile/blob/main/CONTRIBUTING.md). + +## Further Information + +For detailed instructions, scenarios, and development setup, please refer to the [Goose Mobile repository](https://github.com/block/goose-mobile). diff --git a/documentation/docs/experimental/index.md b/documentation/docs/experimental/index.md new file mode 100644 index 00000000..2dbee27c --- /dev/null +++ b/documentation/docs/experimental/index.md @@ -0,0 +1,70 @@ +--- +title: Experimental +hide_title: true +description: Experimental and radically unstable, but lot's of fun. +--- + +import Card from '@site/src/components/Card'; +import styles from '@site/src/components/Card/styles.module.css'; + +

Experimental

+

+ Goose is an open source project that is constantly being improved and expanded upon. These experimental features and projects are still in development and may not be fully stable or ready for production use, but they showcase exciting possibilities for the future of AI automation. +

+ +:::note +The list of experimental features may change as Goose development progresses. Some features may be promoted to stable features, while others might be modified or removed. This section will be updated with specific experimental features as they become available. +::: + +
+

🧪 Experimental Features

+
+ + +
+
+ +
+

📝 Featured Blog Posts

+
+ + + +
+
+ +
+

💬 Feedback & Support

+
+ + +
+
\ No newline at end of file diff --git a/documentation/docs/guides/experimental-features.md b/documentation/docs/experimental/ollama.md similarity index 59% rename from documentation/docs/guides/experimental-features.md rename to documentation/docs/experimental/ollama.md index 52a6027b..4b23f361 100644 --- a/documentation/docs/guides/experimental-features.md +++ b/documentation/docs/experimental/ollama.md @@ -1,20 +1,9 @@ --- -title: Experimental Features -sidebar_position: 16 -sidebar_label: Experimental Features +title: Ollama Tool Shim +sidebar_position: 1 +sidebar_label: Ollama Tool Shim --- -Goose is an open source project that is constantly being improved, and new features are added regularly. Some of these features are considered experimental, meaning they are still in development and may not be fully stable or ready for production use. This guide covers how to enable and use experimental features in Goose, as well as how to provide feedback on them. - - -## Available Experimental Features - -:::note -The list of experimental features may change as Goose development progresses. Some features may be promoted to stable features, while others might be modified or removed.This section will be updated with specific experimental features as they become available -::: - -### Ollama Tool Shim - The Ollama tool shim is an experimental feature that enables tool calling capabilities for language models that don't natively support tool calling (like DeepSeek). It works by instructing the primary model to output json for intended tool usage, the interpretive model uses ollama structured outputs to translate the primary model's message into valid json, and then that json is translated into valid tool calls to be invoked. @@ -53,8 +42,3 @@ Start a new Goose session with your tool shim preferences: ```bash GOOSE_TOOLSHIM=1 GOOSE_TOOLSHIM_OLLAMA_MODEL=llama3.2 cargo run --bin goose session ``` - - -## Feedback - -If you encounter any issues with these features, check if the issue is already reported in the [GitHub issues](https://github.com/goose/goose/issues) or join the [Discord community](https://discord.gg/block-opensource) to share. \ No newline at end of file diff --git a/documentation/docs/guides/environment-variables.md b/documentation/docs/guides/environment-variables.md index 310742cc..5313d4cd 100644 --- a/documentation/docs/guides/environment-variables.md +++ b/documentation/docs/guides/environment-variables.md @@ -150,7 +150,7 @@ These variables control how Goose handles [tool permissions](/docs/guides/managi |----------|---------|---------|---------| | `GOOSE_MODE` | Controls how Goose handles tool execution | "auto", "approve", "chat", "smart_approve" | "smart_approve" | | `GOOSE_TOOLSHIM` | Enables/disables tool call interpretation | "1", "true" (case insensitive) to enable | false | -| `GOOSE_TOOLSHIM_OLLAMA_MODEL` | Specifies the model for [tool call interpretation](/docs/guides/experimental-features/#ollama-tool-shim) | Model name (e.g. llama3.2, qwen2.5) | System default | +| `GOOSE_TOOLSHIM_OLLAMA_MODEL` | Specifies the model for [tool call interpretation](/docs/experimental/ollama) | Model name (e.g. llama3.2, qwen2.5) | System default | | `GOOSE_CLI_MIN_PRIORITY` | Controls verbosity of [tool output](/docs/guides/managing-tools/adjust-tool-output) | Float between 0.0 and 1.0 | 0.0 | | `GOOSE_CLI_TOOL_PARAMS_TRUNCATION_MAX_LENGTH` | Maximum length for tool parameter values before truncation in CLI output (not in debug mode) | Integer | 40 | diff --git a/documentation/docs/guides/managing-tools/index.md b/documentation/docs/guides/managing-tools/index.md index 48a5a67a..d405c56a 100644 --- a/documentation/docs/guides/managing-tools/index.md +++ b/documentation/docs/guides/managing-tools/index.md @@ -33,7 +33,7 @@ import styles from '@site/src/components/Card/styles.module.css'; diff --git a/documentation/docs/tutorials/benchmarking.md b/documentation/docs/tutorials/benchmarking.md index aeabef3a..da332977 100644 --- a/documentation/docs/tutorials/benchmarking.md +++ b/documentation/docs/tutorials/benchmarking.md @@ -196,4 +196,4 @@ RUST_LOG=debug goose bench bench-config.json Tool shimming allows you to use a non-tool-capable models with Goose, provided Ollama is installed on the system. -See this guide for important details on [tool shimming](/docs/guides/experimental-features). +See this guide for important details on [tool shimming](/docs/experimental/ollama).