惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
小众软件
小众软件
J
Java Code Geeks
I
InfoQ
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
腾讯CDC
L
LangChain Blog
博客园 - 司徒正美
量子位
Y
Y Combinator Blog
C
Check Point Blog
T
Tailwind CSS Blog
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
F
Fortinet All Blogs
云风的 BLOG
云风的 BLOG
A
About on SuperTechFans
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
V
V2EX
阮一峰的网络日志
阮一峰的网络日志

Show HN

Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal). Release v0.1.2.1 · kouhxp/yapsnap GitHub - noopolis/moltnet: Self-hostable chat network for AI agents. Pre-built bridges for Claude Code, Codex, and the Claws. Rooms, DMs, history. No Slack bots, no Matrix, no glue code.
GitHub - croustibat/Pinpoint
croustibat · 2026-06-24 · via Show HN

License: MIT Latest release Platform: macOS 15+ Built with Swift

Point at exactly what you mean.

Pinpoint is a native macOS menu-bar app that captures your screen, lets you drop numbered markers on what matters, and copies a ready-to-paste prompt for your AI agent — an annotated image plus instructions that reference every marker.

Built with Swift / SwiftUI + ScreenCaptureKit. Free & open source.

🔗 pinpoint-ashy.vercel.app · Download the latest release

Pinpoint demo — capture a region, drop numbered markers, and copy a ready-to-paste prompt for your agent

Why I built this

I pair-program with AI agents all day — Claude Code, Codex — and I kept hitting the same wall: paste a screenshot, then type a paragraph to explain which button or which misaligned icon I meant. Worse, most chat UIs keep only the image and silently drop the text you copied with it, so half my context never arrived.

Humans don't describe pixels to each other — we point. Pinpoint lets you do the same with an agent: drop a numbered marker on the thing, and it copies an annotated image plus a structured prompt that maps every marker to a position and a note. No more "the button in the corner — no, the other one."

I built it for myself and use it every day. It's open source because the problem isn't mine alone.

Download

  1. Grab the latest Pinpoint.dmg from the releases page.
  2. Open it and drag Pinpoint into your Applications folder.
  3. Launch it — it lives in your menu bar. Signed with a Developer ID and notarized by Apple.

On your first capture, macOS asks for Screen Recording permission (System Settings → Privacy & Security → Screen Recording), then quit and relaunch Pinpoint once.

Requirements: macOS 15 or later · Apple Silicon & Intel.

Features

  • Region capture — press ⌘⇧1 (rebindable) → the screen dims; drag a rectangle (live dimensions, Esc to cancel). Native resolution, multi-display and Retina aware. A "capture full screen" fallback lives in the menu.
  • Numbered markers — click to drop ringed, numbered pins (drag to move, a note per marker). Add arrows and rectangles for emphasis.
  • Three marker styles — filled disc, pointer pin, light outline — applied on screen and in the export.
  • A prompt your agent can read⌘C copies the annotated PNG and a structured text: image size, each marker's description and position (in %), then your instructions. Parses cleanly in Claude Code, Codex, and the like.
  • Legend baked in (optional) — embeds the marker descriptions + instructions into the image, so a single paste carries everything (most chat UIs drop the clipboard text).
  • The shelf — a built-in library of your screenshots: browse, favorite, sort, rename, Quick Look, and reopen any capture with its annotations.
  • Global shortcuts — capture or open the shelf from anywhere, fully rebindable.
  • Bilingual — follows your macOS language (English / French).
  • Native & private — SwiftUI + ScreenCaptureKit, living in your menu bar. Your captures never leave your Mac.

A copied prompt looks like this:

# Annotated capture — 1280×800 px

An image is attached. Numbered (ringed) badges point to specific elements.
Markers (position in % of the image, top-left origin):

1. Primary CTA button · ~62 % × 48 %
2. Misaligned icon · ~12 % × 22 %

## Instructions
Make the CTA full-width on mobile and fix the icon alignment.

Build from source

The project uses XcodeGen to generate the .xcodeproj (not versioned).

brew install xcodegen      # if needed
xcodegen generate          # creates Pinpoint.xcodeproj — run from the repo root
open Pinpoint.xcodeproj

In Xcode:

  1. The signing Team is baked into project.yml (DEVELOPMENT_TEAM), so signing stays stable across xcodegen generate runs. On another machine, replace it with your own (System Settings → your developer account, or the OU of your Apple Development certificate).
  2. ⌘R to run.
  3. On the first capture, grant Screen Recording (System Settings → Privacy & Security → Screen Recording), then relaunch the app.

To verify a build without any signing setup:

xcodegen generate && xcodebuild -scheme Pinpoint -destination 'platform=macOS' CODE_SIGNING_ALLOWED=NO build

The fixed DEVELOPMENT_TEAM + stable bundle id (app.croustibat.Pinpoint) let macOS remember the screen-recording grant between builds. If a permission gets stuck after an identity change: tccutil reset ScreenCapture app.croustibat.Pinpoint, then relaunch and re-grant.

Project structure

project.yml                       # XcodeGen config (deps, bundle id, LSUIElement, version…)
Pinpoint/
  PinpointApp.swift               # @main, Settings scene (Capture / Shelf tabs)
  AppDelegate.swift               # menu-bar status item + capture flow
  RegionSelectionController.swift # multi-display overlay + coordinate resolution
  RegionSelectionView.swift       # dimming + rectangle + live dimensions
  ScreenCapture.swift             # ScreenCaptureKit: region (sourceRect) or full screen
  CaptureRegion.swift             # model: target display + rect (points, top-left) + scale
  CaptureRecord.swift /
  CaptureHistory.swift            # recent captures (Application Support + JSON index)
  EditorView.swift                # annotation canvas + side panel
  EditorWindowController.swift    # AppKit window hosting the SwiftUI editor
  Pin.swift / Markup.swift        # marker + arrow/rectangle models
  PinStyle.swift                  # marker styles (disc / pointer / outline)
  Theme.swift                     # vermillon palette
  Exporter.swift                  # annotated PNG render + structured text + clipboard
  SettingsWindowController.swift  # AppKit settings window (works around the macOS 14+ SettingsLink bug)
  ShelfWindowController.swift     # the shelf window
  ScreenshotDetailWindowController.swift  # detail window for a shelf item
  Localizable.xcstrings           # String Catalog (English base, French)
  Shelf/                          # the screenshot library (Models, Services, Stores, Views)
landing/                          # the marketing site (Astro + Tailwind v4, bilingual)

Dependencies

Release (notarized DMG)

The app icon is generated from the design system:

swift scripts/generate_icon.swift Pinpoint/Assets.xcassets/AppIcon.appiconset

A signed Developer ID build + notarization + DMG is produced by scripts/release.sh. One-time setup — store the notarization credentials in a keychain profile:

xcrun notarytool store-credentials pinpoint-notary \
  --apple-id "<your-apple-id>" --team-id MMJD6CLKNQ \
  --password "<app-specific-password>"   # appleid.apple.com → Sign-In & Security → App-Specific Passwords

then:

scripts/release.sh   # → build/dist/Pinpoint.dmg (signed, notarized, stapled)

License

MIT © 2026 Baptiste Bouillot