Skip to content

Conversation

@croustibat
Copy link

Summary

  • Add new AI Agent Monitor extension to track coding agents in real-time
  • Monitor Claude Code, Codex, and OpenCode activity via OTLP telemetry
  • Display animated status border and HUD when an agent is active
  • Track token usage and current tool calls

Features

  • OTLP Server: Receives telemetry from AI coding agents
  • Agent Detection: Auto-detects Claude Code, Codex, and OpenCode
  • Visual Feedback: Animated border with agent-specific colors
  • Status HUD: Shows active status, tool calls, and token usage in the notch
  • Extension Shop Integration: Available in the AI category

Components

File Purpose
AIAgentMonitorExtension.swift Extension definition
AIAgentMonitorManager.swift Core telemetry management
AIAgentStatusHUD.swift Status display in notch
AIAgentBorderView.swift Animated border effects
OTLPServer.swift OTLP receiver
AgentSource.swift Agent detection logic

Test plan

  • Install extension from Extensions Shop (AI category)
  • Start Claude Code / Codex / OpenCode with OTLP export enabled
  • Verify animated border appears when agent is active
  • Check HUD displays correct agent info and token usage
  • Remove extension and verify cleanup

🤖 Generated with Claude Code

iordv added 30 commits January 18, 2026 17:37
- Add SwiftTermView.swift NSViewRepresentable wrapper
- Rewrite TerminalNotchView to use full terminal (no more quick mode)
- Add font size increase/decrease controls
- Uses LocalProcessTerminalView with PTY for interactive commands
iordv and others added 18 commits January 25, 2026 21:42
- Fixed data loss on reboot: Old Quickshare history JSON caused decode failure due to new missing fields (isZip, itemCount). Added manual Codable implementation with backward-compatible defaults.
- Fixed compiler error: Updated QuickshareMenuContent to call static QuickshareManagerWindowController.show() correctly.
Fixed compiler error where static method QuickshareManagerWindowController.show() was incorrectly called on an instance.
Resolved compiler error where SettingsWindowController code attempted to call close() which did not exist on the controller instance.
- Removed dedicated 'Droppy Quickshare' Settings tab
- Added 'Droppy Quickshare' as an unremovable Core Extension
- Updated ExtensionProtocol and Registry
- Updated Settings sidebar: removed tab, updated bottom-left Quickshare button icon to 'drop.fill'
- Cleaned up QuickshareMenuContent (removed duplicate buttons)
…xtensive switch

- Merged Quickshare menu content into main Droppy menu (submenu)
- Removed standalone 'Droppy Quickshare' menu bar item
- Updated QuickShareSuccessView to respect transparency settings
- Fixed compiler error in RemoveExtensionButton (switch exhaustiveness)
- Updated ExtensionsShopView to include Droppy Quickshare in the extension list
- Updated walkthrough.md
- Added QuickshareInfoView.swift with custom UI matching other extensions
- Updated ExtensionsShopView to use the new Info View
- Polished verify actions in walkthrough
- Integrated file manager UI directly into QuickshareInfoView
- Added 'Show in Menu Bar' toggle (AppPreferenceKey.showQuickshareInMenuBar)
- Updated DroppyApp to conditionally show Quickshare submenu based on toggle
- Updated QuickshareManagerWindowController to use the new Info View
- Centralized upload logic in DroppyQuickshare.swift (added completion handler)
- Updated BasketQuickActionsBar to use shared upload logic (removed ~300 lines of dup code)
- Fixed structural syntax errors in QuickshareInfoView.swift
- Ensured Quickshare Manager is fully functional in all contexts
- Redesigned QuickshareInfoView manager section to use a unified card layout
- Fixed missing brace in BasketQuickActionsBar.swift
- Improved visual cohesion of shared file list
- Removed Quickshare button from Settings sidebar as it's now in Extensions
- Moved shared file count to a badge next to the title
- Simplified manager list card (removed duplicate header)
- Added clean empty state placeholder
- Added .multilineTextAlignment(.center) to Basket overlay text
- Added Quickshare card to extensions.html
- Added extensionIdMap entry for Supabase analytics
- Added extensionData with screenshot and features
- Added deep URL handler case for droppy://extension/quickshare
- Copied screenshot to docs/assets/images/quickshare-screenshot.png
- Icon placeholder (assets/icons/quickshare.png) pending
…screenshot

- Added previewView static property to ExtensionDefinition protocol
- Added default nil implementation for previewView
- Fixed compile error: 'Value of type has no member previewView'
- Added screenshot to QuickshareInfoView features section
- Added quickshare.jpg icon to docs/assets/icons/
- Updated extensions.html to use .jpg icon path
- Updated QuickshareExtension.swift with iconURL and screenshotURL
Layout now: explanation → screenshot → menu bar → files list
New extension to monitor AI coding agents in real-time:
- Track Claude Code, Codex, and OpenCode activity
- OTLP server to receive telemetry from coding agents
- Animated status border when an agent is active
- Token usage tracking and tool call display
- Beautiful HUD integration with the notch

Components:
- AIAgentMonitorExtension: Extension definition
- AIAgentMonitorManager: Core telemetry management
- AIAgentStatusHUD: Status display in notch
- AIAgentBorderView: Animated border effects
- OTLPServer: Receives agent telemetry
- AgentSource: Agent detection and visual properties

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@croustibat croustibat force-pushed the feature/ai-agent-monitor branch from 8015e85 to c5c635a Compare January 26, 2026 10:17
@croustibat
Copy link
Author

Hey @iordv,

Here is a quick vid showing how it's working for the moment. it'm trying to fix the wrong overly effect.

ai-agent-monitor.mp4

- Add container width expansion for AI Agent HUD in currentNotchWidth
- Add opacity modifier to prevent position artifacts during expansion transition
- Add solid black background to shelf status view to prevent transparency
- Add debug logging for layout troubleshooting

The HUD was not visible in notch mode because the container width
was not expanding to include the wing areas when AI Agent HUD was active.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@iordv
Copy link
Owner

iordv commented Jan 26, 2026

Hi! Take your time with the implementation and let me know when it's done :D

croustibat and others added 2 commits January 26, 2026 14:07
- Add glowEnhanced setting to AIAgentMonitorManager (defaults to true)
- Add isTestMode for temporary border preview without active agent
- Add testBorder() method that activates preview for 5 seconds
- Add "Enhanced glow effect" toggle in settings UI
- Add "Preview border effect" section with Test button
- Update border rendering with enhanced glow:
  - Wider line width (3px vs 2.5px)
  - Larger primary shadow radius (12px vs 8px)
  - Secondary shadow layer with 20px radius for dramatic effect
- Border now shows during test mode for easy preview

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…splay

- Add Claude logo image asset (replacing brain icon)
- Add custom icon support in AgentSource with usesCustomIcon/customIconName
- Add OTLP metrics parsing (cost, tokens, time, lines of code)
- Display current tool call dynamically on closed notch
- Show detailed metrics on expanded shelf view
- Fix border clipping with proper padding
- Update AIAgentStatusHUD layout for better text visibility

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@iordv
Copy link
Owner

iordv commented Jan 27, 2026

Let me know when it's all done 👯

@iordv
Copy link
Owner

iordv commented Jan 27, 2026

Do you have a new video of how it exactly looks at the moment?

@iordv iordv force-pushed the main branch 4 times, most recently from d2180bb to c2e08c4 Compare February 1, 2026 12:19
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