Skip to content

Conversation

@michaelneale
Copy link
Collaborator

@michaelneale michaelneale commented Dec 26, 2024

this is a system which augments the developer system with features that a non developer can make use of, running scripts, caching results, crawling, searching etc - without needing to direct towards specific development tools.

This simply adds a new system on top (just one system - only dependency is tempfile) - and it is enabled in the GUI conditionally (if not in a git repo)

Also fixed up some flaky tests on the way.

eg:

        web_scrape
          - Fetch content from websites and APIs
          - Save as text, JSON, or binary files
          - Content is cached locally for later use
          - if website doesn't support it find an alternative way.

        data_process
          - Process text data with common operations
          - Filter, extract, sort, count, and more
          - Works with both small and large files
          - Results are saved to new files

        quick_script
          - Create and run simple automation scripts
          - Supports Shell (such as bash), AppleScript (on macos), Ruby (on macos)
          - Scripts can save their output to files

        web_search
          - Search the web using DuckDuckGo's API for general topics or keywords

        cache
          - Manage your cached files
          - List, view, delete files
          - Clear all cached data

        The system automatically manages:
        - Cache directory: {cache_dir}
        - File organization and cleanup

image

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

@github-actions
Copy link
Contributor

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

@github-actions
Copy link
Contributor

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

@github-actions
Copy link
Contributor

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

@github-actions
Copy link
Contributor

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

@michaelneale michaelneale requested a review from Copilot December 28, 2024 03:26
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

@github-actions
Copy link
Contributor

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

@michaelneale michaelneale changed the title Micn/paradev feat: a system for non developers to augment developer system Dec 28, 2024
@github-actions
Copy link
Contributor

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

@github-actions
Copy link
Contributor

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

@github-actions
Copy link
Contributor

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 6 out of 7 changed files in this pull request and generated no comments.

Files not reviewed (1)
  • .github/workflows/desktop-app-release.yaml: Evaluated as low risk

@michaelneale michaelneale requested a review from Copilot December 30, 2024 05:07
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 6 out of 7 changed files in this pull request and generated 6 comments.

Files not reviewed (1)
  • .github/workflows/desktop-app-release.yaml: Evaluated as low risk
Comments suppressed due to low confidence (1)

crates/goose-server/src/state.rs:63

  • Remove the dbg! macro as it is used for debugging and should not be in production code.
dbg!("Skipping MemorySystem (GOOSE_SERVER__MEMORY not set)");

let provider = factory::get_provider(provider_config.clone())?;
let mut agent = Agent::new(provider);

dbg!("Adding DeveloperSystem");
Copy link

Copilot AI Dec 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the dbg! macro as it is used for debugging and should not be in production code.

Copilot uses AI. Check for mistakes.
let has_hints = has_goosehints_file();

if !in_git && !has_hints {
dbg!("Adding NonDeveloperSystem");
Copy link

Copilot AI Dec 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the dbg! macro as it is used for debugging and should not be in production code.

Suggested change
dbg!("Adding NonDeveloperSystem");
agent.add_system(Box::new(NonDeveloperSystem::new()));

Copilot uses AI. Check for mistakes.
// Add memory system only if GOOSE_SERVER__MEMORY is set to "true"
if let Ok(memory_enabled) = env::var("GOOSE_SERVER__MEMORY") {
if memory_enabled.to_lowercase() == "true" {
dbg!("Adding MemorySystem");
Copy link

Copilot AI Dec 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the dbg! macro as it is used for debugging and should not be in production code.

Suggested change
dbg!("Adding MemorySystem");
agent.add_system(Box::new(MemorySystem::new()));

Copilot uses AI. Check for mistakes.
dbg!("Adding MemorySystem");
agent.add_system(Box::new(MemorySystem::new()));
} else {
dbg!("Skipping MemorySystem (GOOSE_SERVER__MEMORY not 'true')");
Copy link

Copilot AI Dec 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the dbg! macro as it is used for debugging and should not be in production code.

Copilot uses AI. Check for mistakes.
dbg!("Skipping MemorySystem (GOOSE_SERVER__MEMORY not set)");
}

dbg!("Adding GooseHintsSystem");
Copy link

Copilot AI Dec 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the dbg! macro as it is used for debugging and should not be in production code.

Suggested change
dbg!("Adding GooseHintsSystem");
// dbg!("Adding GooseHintsSystem");

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Contributor

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

@github-actions
Copy link
Contributor

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

@github-actions
Copy link
Contributor

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.


// Implement cache tool functionality
async fn cache(&self, params: Value) -> AgentResult<Vec<Content>> {
let operation = params
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: rename to command to be consistent with the text editor tool commands in developer system

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@salman1993 rename operation to command?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah I see, good catch

@github-actions
Copy link
Contributor

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

@github-actions
Copy link
Contributor

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

@michaelneale michaelneale merged commit 6573147 into v1.0 Jan 1, 2025
6 checks passed
michaelneale added a commit that referenced this pull request Jan 1, 2025
* v1.0:
  feat: a system for non developers to augment developer system (#524)
@michaelneale michaelneale deleted the micn/paradev branch January 1, 2025 22:58
michaelneale added a commit that referenced this pull request Jan 6, 2025
* v1.0: (43 commits)
  feat: openrouter provider (#538)
  [ui] chore: tidy up gui providers (#537)
  [ui]: Polish and system theme fix (#533)
  [ui]: General ui polish to more closely match designs (#532)
  Latency issue fix with prepare_inference (#535)
  chore: use cross to build binaries (#507)
  feat: a system for non developers to augment developer system (#524)
  fix: Broken open directory and new session buttons in more menu (#520)
  refactor: move get_usage to provider trait (#506)
  fix: Make stop button more obvious (#516)
  fix: Enhance Dark mode menu dots visibility (#517)
  working on automating release of .zip and binaries and having them on each PR as well (#509)
  conditionally load memory system in goose server (#508)
  Adds 'instructions' field to InitializeResult (#511)
  feat: MCP client sdk (#505)
  Update cli-release.yml
  feat: added groq provider (#494)
  fix: use rust tls (#500)
  fix: Ldelalande/fix scroll (#504)
  feat: MCP server sdk (simple version first) (#499)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants