Skip to content

Conversation

aryasaatvik
Copy link
Contributor

@aryasaatvik aryasaatvik commented Jun 20, 2025

Summary

  • Added dynamic verb generation API for status messages
  • Implemented verb history and cycling in app state
  • Integrated dynamic verb generation in the editor
  • Generated OpenAPI spec and client

Test plan

  • Test verb generation API endpoint
  • Verify verb cycling functionality works correctly
  • Ensure editor properly displays dynamic verbs
  • Check OpenAPI spec is correctly generated
CleanShot.2025-06-20.at.23.53.35.mp4

- Add generateStatusVerb function with Haiku/GPT-4o-mini fallback
- Add /session_generate_verb endpoint
- Generate contextual verbs based on user input with safety filters
- Add CurrentStatusVerb, VerbHistory, and VerbCycleIndex fields
- Implement AddVerbToHistory with 10-item limit
- Add CycleToNextVerb for reverse chronological cycling
- Add GenerateStatusVerb client method
- Add verb generation with 800ms debouncing while typing
- Add VerbCycleMsg for 2-second cycling during AI processing
- Prevent duplicate verb generation on message submit
- Add status line display with generated verbs
@aryasaatvik aryasaatvik force-pushed the feat/dynamic-status-verbs branch from b4f5d96 to a317ffc Compare June 20, 2025 17:53
- Replace CurrentStatusVerb and VerbHistory with PromptVerbs and VerbIndex
- Implement AddPromptVerb, ResetPromptVerbs, and CycleToNextVerb methods
- Adjust editor component to utilize new prompt verb management
…ompt

- Move verb prompt text to a new file `verb.txt`
- Update `SystemPrompt` to include a function for retrieving the verb prompt
- Refactor `index.ts` to use the new verb prompt function
- Introduce verbText field to track the current verb text
- Optimize verb generation logic to prevent unnecessary calls
- Clean up lastProcessedText references and ensure clarity in state management
@deej-io
Copy link

deej-io commented Jun 26, 2025

Whilst I like the personality this change provides, I'm not convinced I'd want to burn tokens on this for every message by default - even though it does only use the small models.

If this is added it ideally would have a configuration option to enable/disable it - disabled by default. Perhaps the option could have a "local-only" setting, that would only run if you had a local model configured, which could also be a a safe default.

aryasaatvik added a commit to AryaLabsHQ/opencoder that referenced this pull request Jun 27, 2025
## Summary
This PR implements dual model support (main + turbo) for cost-optimized
operations and adds model sorting functionality.

### Key Changes

#### Dual Model Support
- Added `turbo_model` and `turbo_cost_threshold` config options
- New dual-pane model selector (Tab to switch panes)
- Visual indicators: ⚡ (turbo), 🧠 (reasoning), 🔧 (tools)
- Smart turbo model selection with fallback logic
- Fixed Anthropic auth showing incorrect turbo status

#### Model Sorting
- Added `release_date` and `last_updated` fields to model schema
- Press 'S' to cycle through sort modes: Name, Last Updated, Release
Date
- Stable multi-level sorting with consistent ordering
- Helps discover newest models and track updates

### Impact
Enables cost optimization for PRs sst#269 (status verbs) and sst#275 (window
titles) to use configured turbo models instead of hardcoded ones.

### Demo



https://github.com/user-attachments/assets/d076e840-d790-4e23-8cf7-a179282d1f0b
aryasaatvik added a commit to AryaLabsHQ/opencoder that referenced this pull request Jun 27, 2025
## Summary
This PR implements dual model support (main + turbo) for cost-optimized
operations and adds model sorting functionality.

### Key Changes

#### Dual Model Support
- Added `turbo_model` and `turbo_cost_threshold` config options
- New dual-pane model selector (Tab to switch panes)
- Visual indicators: ⚡ (turbo), 🧠 (reasoning), 🔧 (tools)
- Smart turbo model selection with fallback logic
- Fixed Anthropic auth showing incorrect turbo status

#### Model Sorting
- Added `release_date` and `last_updated` fields to model schema
- Press 'S' to cycle through sort modes: Name, Last Updated, Release
Date
- Stable multi-level sorting with consistent ordering
- Helps discover newest models and track updates

### Impact
Enables cost optimization for PRs sst#269 (status verbs) and sst#275 (window
titles) to use configured turbo models instead of hardcoded ones.

### Demo



https://github.com/user-attachments/assets/d076e840-d790-4e23-8cf7-a179282d1f0b
aryasaatvik added a commit to AryaLabsHQ/opencoder that referenced this pull request Jun 27, 2025
## Summary
This PR implements dual model support (main + turbo) for cost-optimized
operations and adds model sorting functionality.

### Key Changes

#### Dual Model Support
- Added `turbo_model` and `turbo_cost_threshold` config options
- New dual-pane model selector (Tab to switch panes)
- Visual indicators: ⚡ (turbo), 🧠 (reasoning), 🔧 (tools)
- Smart turbo model selection with fallback logic
- Fixed Anthropic auth showing incorrect turbo status

#### Model Sorting
- Added `release_date` and `last_updated` fields to model schema
- Press 'S' to cycle through sort modes: Name, Last Updated, Release
Date
- Stable multi-level sorting with consistent ordering
- Helps discover newest models and track updates

### Impact
Enables cost optimization for PRs sst#269 (status verbs) and sst#275 (window
titles) to use configured turbo models instead of hardcoded ones.

### Demo



https://github.com/user-attachments/assets/d076e840-d790-4e23-8cf7-a179282d1f0b
@thdxr thdxr self-assigned this Jul 2, 2025
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.

3 participants