mirror of
https://github.com/aljazceru/goose.git
synced 2025-12-18 06:34:26 +01:00
docs: add goose-mobile (#3315)
Co-authored-by: Rizel Scarlett <rizel@squareup.com>
This commit is contained in:
@@ -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.
|
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
|
## 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.
|
- **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.
|
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
|
## Practical Advice for Local Model Users
|
||||||
|
|
||||||
|
|||||||
8
documentation/docs/experimental/_category_.json
Normal file
8
documentation/docs/experimental/_category_.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"label": "Experimental",
|
||||||
|
"position": 7,
|
||||||
|
"link": {
|
||||||
|
"type": "doc",
|
||||||
|
"id": "experimental/index"
|
||||||
|
}
|
||||||
|
}
|
||||||
46
documentation/docs/experimental/goose-mobile.md
Normal file
46
documentation/docs/experimental/goose-mobile.md
Normal file
@@ -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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 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).
|
||||||
70
documentation/docs/experimental/index.md
Normal file
70
documentation/docs/experimental/index.md
Normal file
@@ -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';
|
||||||
|
|
||||||
|
<h1 className={styles.pageTitle}>Experimental</h1>
|
||||||
|
<p className={styles.pageDescription}>
|
||||||
|
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.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
:::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.
|
||||||
|
:::
|
||||||
|
|
||||||
|
<div className={styles.categorySection}>
|
||||||
|
<h2 className={styles.categoryTitle}>🧪 Experimental Features</h2>
|
||||||
|
<div className={styles.cardGrid}>
|
||||||
|
<Card
|
||||||
|
title="Ollama Tool Shim"
|
||||||
|
description="Enable tool calling capabilities for language models that don't natively support tool calling (like DeepSeek) using an experimental local interpreter model setup."
|
||||||
|
link="/docs/experimental/ollama"
|
||||||
|
/>
|
||||||
|
<Card
|
||||||
|
title="Goose Mobile"
|
||||||
|
description="An experimental Android automation app that acts as an open agent running on your phone, providing maximal automation of everyday tasks."
|
||||||
|
link="/docs/experimental/goose-mobile"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={styles.categorySection}>
|
||||||
|
<h2 className={styles.categoryTitle}>📝 Featured Blog Posts</h2>
|
||||||
|
<div className={styles.cardGrid}>
|
||||||
|
<Card
|
||||||
|
title="Finetuning Toolshim Models for Tool Calling"
|
||||||
|
description="Addressing performance limitations in models without native tool calling support through dedicated toolshim model development."
|
||||||
|
link="/blog/2025/04/11/finetuning-toolshim"
|
||||||
|
/>
|
||||||
|
<Card
|
||||||
|
title="AI, But Make It Local With Goose and Ollama"
|
||||||
|
description="Learn how to integrate Goose with Ollama for a fully local AI experience, including structured outputs and tool calling capabilities."
|
||||||
|
link="/blog/2025/03/14/goose-ollama"
|
||||||
|
/>
|
||||||
|
<Card
|
||||||
|
title="Community-Inspired Benchmarking: The Goose Vibe Check"
|
||||||
|
description="See how open source AI models measure up in our first Goose agent benchmark tests, including toolshim performance analysis."
|
||||||
|
link="/blog/2025/03/31/goose-benchmark"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={styles.categorySection}>
|
||||||
|
<h2 className={styles.categoryTitle}>💬 Feedback & Support</h2>
|
||||||
|
<div className={styles.cardGrid}>
|
||||||
|
<Card
|
||||||
|
title="GitHub Issues"
|
||||||
|
description="Report bugs, request features, or contribute to the development of experimental features."
|
||||||
|
link="https://github.com/block/goose/issues"
|
||||||
|
/>
|
||||||
|
<Card
|
||||||
|
title="Discord Community"
|
||||||
|
description="Join our community to discuss experimental features, share feedback, and connect with other users."
|
||||||
|
link="https://discord.gg/block-opensource"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -1,20 +1,9 @@
|
|||||||
---
|
---
|
||||||
title: Experimental Features
|
title: Ollama Tool Shim
|
||||||
sidebar_position: 16
|
sidebar_position: 1
|
||||||
sidebar_label: Experimental Features
|
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.
|
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
|
```bash
|
||||||
GOOSE_TOOLSHIM=1 GOOSE_TOOLSHIM_OLLAMA_MODEL=llama3.2 cargo run --bin goose session
|
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.
|
|
||||||
@@ -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_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` | 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_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 |
|
| `GOOSE_CLI_TOOL_PARAMS_TRUNCATION_MAX_LENGTH` | Maximum length for tool parameter values before truncation in CLI output (not in debug mode) | Integer | 40 |
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ import styles from '@site/src/components/Card/styles.module.css';
|
|||||||
<Card
|
<Card
|
||||||
title="Ollama Tool Shim"
|
title="Ollama Tool Shim"
|
||||||
description="Enable tool calling for models that don't natively support it using an experimental local interpreter model setup."
|
description="Enable tool calling for models that don't natively support it using an experimental local interpreter model setup."
|
||||||
link="/docs/guides/experimental-features#ollama-tool-shim"
|
link="/docs/experimental/ollama"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -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
|
Tool shimming allows you to use a non-tool-capable models with Goose, provided Ollama is installed on the
|
||||||
system.
|
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).
|
||||||
|
|||||||
Reference in New Issue
Block a user