Skip to content

Conversation

@pmbstyle
Copy link
Owner

@pmbstyle pmbstyle commented Nov 10, 2025

User custom tools support

Adds support for adding custom tools via Settings UI.
Write your own custom tool using JS, add a description in JSON, and Alice will be able to pick and use your new tool.
In-app validation, demo tool seeding.

Example workflow:

  1. Open Settings → Customization
  2. Upload or drop your script (writes to custom-tool-scripts/)
  3. Click Add Tool, fill in metadata, and paste JSON schema. Saving updates to custom-tools.json
  4. Toggle the tool on/off in the list. Only enabled + valid entries are offered to the model.
  5. Use Refresh to re-read the file after manual edits.
  6. The advanced editor lets you edit the JSON directly; the app validates the structure before persisting.
image
  • New Feature
  • Documentation update

Note

Adds end-to-end support for user-defined script tools (JSON+Node) with a Settings UI, IPC APIs, validation, and runtime execution by the assistant.

  • Custom Tools Platform
    • Electron (main): New customToolsManager.ts for CRUD, JSON seeding/validation, script upload, and tool execution; IPC endpoints in ipcManager.ts with window broadcast; preload exposes customToolsAPI.
    • Renderer/UI: New UserCustomizationTab.vue for managing tools (upload, add/edit, toggle, JSON editor); AssistantSettingsTab.vue shows custom tool status; Settings.vue adds Customization tab.
    • State/Types: Pinia customToolsStore.ts for loading, toggling, replacing JSON, executing; shared types in types/customTools.ts.
    • Assistant Integration: apiService.ts includes enabled custom tools in model tool list; functionCaller.ts routes unknown calls to custom tools via IPC.
    • Docs/Tests: Added docs/custom-tools.md; tests for manager and store.
    • Build/Config: Ignore user-customization/** in Vite watch; extend TS includes; update .gitignore for sandbox artifacts.

Written by Cursor Bugbot for commit e837688. This will update automatically on new commits. Configure here.

@pmbstyle pmbstyle self-assigned this Nov 10, 2025
@pmbstyle pmbstyle marked this pull request as ready for review November 10, 2025 18:12
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

This PR is being reviewed by Cursor Bugbot

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

@pmbstyle pmbstyle merged commit 7b96727 into main Nov 10, 2025
4 checks passed
@pmbstyle pmbstyle deleted the custom-tools branch November 10, 2025 18:37
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.

2 participants