Files
headquarter/openspec/changes/tool-config-management/proposal.md
T
Fusion 63ae706dd0 feat(tool-config): add categories, interfaces, and config management
Add support for tool categories, interface types, and per-tool configuration.

Backend:
- Add category and interfaces fields to ToolType model
- Create ToolConfig model for storing tool-specific settings
- Add tool_configs API endpoints (CRUD)
- Update built-in tool types with categories and interfaces:
  - code-server: editor, [web]
  - jupyter-notebook: notebook, [web]
  - opencode: ai-assistant, [terminal]
- Update instance API to include tool type interfaces
- Create Alembic migrations 0008 and 0009

Frontend:
- Update ToolType and Session interfaces with new fields
- Conditionally show Open/Terminal buttons based on tool interfaces
- Add API client for tool configs

OpenSpec: tool-config-management change created and implemented.
2026-05-20 11:03:09 +02:00

1.1 KiB

Why

Tool instances need configuration (API keys, settings, files) that varies by user and project. Currently there's no way to manage these configs. Users need to store LLM API keys, editor preferences, and tool-specific settings that get mounted into containers at runtime.

What Changes

  • Add ToolConfig model for storing key-value configs per user/project/tool
  • Add category and interfaces fields to ToolType model
  • Create API for managing tool configs (global and project-scoped)
  • Mount configs into containers when starting instances
  • Add OpenCode as built-in tool type with terminal interface
  • Update frontend to show tool categories and interface-appropriate actions

Capabilities

New Capabilities

  • tool-config-management: Store and manage tool configurations
  • tool-categories: Categorize tools and expose appropriate interfaces

Modified Capabilities

  • tool-types: Add category and interfaces fields

Impact

  • Backend: New model, API endpoints, container startup changes
  • Frontend: Config management UI, category display
  • Database: New tool_configs table, migrations for tool_types