Cumbersome: AI LLM API Client
生產力工具
免費 · App內購買
IMPORTANT: Requires your own provider API keys or an OpenAI-compatible endpoint.
I built Cumbersome because consumer AI apps kept dumbing things down. Cumbersome is the manual transmission of AI apps: more complex, but with far greater control.
WHY I BUILT THIS
Consumer AI apps hide the controls I want and lock me into one provider.
I wanted direct API access, the freedom to pick and compare models, and to pay providers for what I use. This is the app I use every day, so I pay attention and try to get it right.
SUPPORTED PROVIDERS
- ChatGPT / OpenAI
- Claude / Anthropic
- Gemini / Google AI Studio
- OpenRouter multi-provider
- Vercel AI Gateway multi-provider
- Z.ai
- OpenAI-compatible custom endpoints, including Ollama, Azure, LM Studio, Groq, Together, and self-hosted backends
WHAT YOU GET
- A versatile API client. One app, every major provider and model.
- Total control. Pick your model, tune the parameters, switch providers mid-conversation.
- Compare models head to head. Stream multiple chats in parallel and let an AI judge pick the best.
- Bring your own tools. Local browser use, reasoning, web search, image generation.
- Rich, editable conversations. Markdown, LaTeX, code blocks, attachments, edit and export anything.
- Private by design. iCloud sync across devices. Nothing saved to our servers.
- Native and accessible on iPhone, iPad, and Mac.
MAJOR FEATURES ADDED IN 2026
Highlights only.
New in 1.74.0: Incognito chats. Search Project documents and conversations with Pro.
2026-09-21: Independent iPad chat windows.
2026-09-14: Read replies aloud as they arrive. Save and Restart after editing.
2026-08-29: Select multiple chats. Mac export/import of all chats.
2026-08-21: Background replies on iOS 26. Question Cards for clarification.
2026-08-18: Web Agent: a shared, interactive browser.
2026-08-06: Highlight passages and attach notes for your next reply.
2026-08-03: Local Python analysis, charts, Mermaid, Markdown export.
2026-07-31: Gemini video. Responses API for custom providers.
2026-07-28: Parallel browser and MCP tools.
2026-07-23: Mind/Meld combines three AI responses into one.
2026-07-18: Full Simplified Chinese support.
2026-07-12: Ghost/Write drafts your next turn.
2026-07-09: Remote MCP servers and tools.
2026-07-02: Chat themes and reading fonts (Serif, Rounded, Mono).
2026-06-28: Folder system message presets.
2026-06-24: Prompt caching, with usage across providers.
2026-06-17: Reusable system presets per conversation.
2026-06-16: Offload long system messages to iCloud Drive.
2026-06-15: Toggle custom API parameters.
2026-06-11: Compact chats to lower API costs.
2026-06-07: Run JavaScript and HTML.
2026-06-04: OpenRouter PDF parsing and search engine options.
2026-05-12: Quick Prompt shortcut and App Visibility on Mac.
2026-05-09: Folders to group and organize chats.
2026-05-03: Collapsible sidebar sections, synced across devices.
2026-04-22: Image generation with OpenAI and Gemini.
2026-04-18: Local browser search and browsing.
2026-04-11: Headless browser mode.
2026-04-03: Searchable model picker.
2026-03-15: Extended thinking and reasoning across providers.
2026-03-09: Auto-delete chats after a set number of days.
2026-02-28: Custom OpenAI-compatible providers.
2026-02-25: Only Search When Requested.
2026-02-24: Image paste, attachment previews, PDF thumbnails.
2026-02-21: Siri and Shortcuts.
2026-02-20: Vercel AI Gateway and model filters.
2026-02-06: Voice Control, Larger Text, higher contrast.
2026-01-11: VoiceOver, Dynamic Type, keyboard navigation.
2026-01-06: OpenRouter integration.
THE DEAL
Core features are free. An optional Cumbersome Pro subscription adds advanced Project tools and supports ongoing development. You pay providers directly for API usage.
I'm Peter, an indie developer in Reno, Nevada, out among the high desert tumbleweed. No VC money. No growth hacking. Just a tool I wanted to exist.
更多 fix(project-files): accept valid filenames in Release builds
fix(mcp): explain elicitation compatibility and connection errors
fix(project-files): accept integer strings for pagination offsets
fix(project-files): preserve imported filenames when editing
1.76.1 3 天前
feat(mcp): collect and retain server-requested input in chat (elicitation)
feat(mcp): preserve structured tool results in chat history
feat(mcp): refresh tools when connected servers report changes
fix(chat): restore iOS 18 question-card controls
fix(mcp): preserve complete tool input schemas
fix(mcp): preserve saved tools until refresh succeeds
fix(mcp): discover every tool across paginated responses
fix(chat): preserve tool outcomes when a response is stopped
fix(background): keep progress ring open until response completion
fix(projects): show newly synced projects and chats in sidebars
fix(macos): restore Sequoia launch with bundled Swift runtime
fix(ios): keep transcript bottoms clear of the composer
fix(chat): allow sending images and files without text
fix(ios): keep expanded chat drafts scrollable
fix(project-files): show filenames in macOS review sheets
test(mcp): add repeatable Everything and Inspector checks
test(core): remove redundant cases from the package suite
test(background): preserve URL failure evidence and device handoff
docs(mcp): stop expansion until a concrete need justifies it
docs(mcp): defer OAuth until upstream SDK support is sufficient
docs(mcp): record lifecycle and local upgrade verification
docs(cloudkit): record production schema promotion for both apps
1.76.0 5 天前
feat(api-parameters): add values to existing arrays
feat(project-files): save directly and surface unfinished files in chat
feat(project-files): improve native file browsing and recovery
feat(files): add syntax highlighted source previews
feat(projects): add editable files, review, and version history
feat(chat): let users keep Incognito chats in Timeline
fix(ios): keep landscape chat and drawer controls usable
fix(markdown): scroll wide tables without excess spacing
fix(ui): simplify file deletion and clarify send button states
fix(project-files): expose created files and refine presentation
fix(project-files): clarify cloud failures and simplify discard
fix(ios): align file sheets and support large text
perf(chat): reuse iOS transcript pairing during text updates
perf(chat): defer offscreen iOS streaming row snapshots
1.75.0 10月3日
Cumbersome Pro is here! Unlock advanced Project tools that let your AI search across conversations in a Project and find relevant information in documents you add to a Project.
feat(chat): add Incognito chats outside saved history
fix(question-cards): detail option limits and explain rejections
fix(streaming): publish buffered replies during network pauses
perf(model-picker): avoid repeated catalog validation for each row
1.74.0 9月30日
feat(windows): support independent iPad chat windows
fix(projects): allow sidebar deletion while preserving chats
fix(cache): preserve attachment and MCP prompt stability
fix(cache): stabilize annotation JSON in conversation history
fix(cache): stabilize request JSON and tool history
fix(ai): omit automatic Anthropic and Face/Off temperatures
fix(background): preserve tool progress and advance iOS handoff
1.73.0 9月21日
feat(speech): read replies aloud during generation
feat(chat): add remembered Save and Restart action
feat(settings): analytics and synced opt-out
fix(custom-providers): support HTTP .internal endpoints
fix(chat): restore sidebar actions for newly synced conversations
fix(shortcuts): enable OpenCode Go requests from Spotlight
fix(attachments): enforce image upload limits in pixels
fix(macos): enable image-only paste in the composer
1.72.0 9月14日
feat(chat): group conversation copy and export actions
feat(chat): move Compact and Ghost/Write into title menus
fix(chat): simplify message menus
fix(ios): tighten composer spacing and model label typography
fix(ios): align the composer plus button inset
fix(release): keep app and widget versions aligned
perf(chat): reuse tool transcript header summaries
perf(chat): reduce streaming layout churn
1.71.0 9月7日
fix(custom-providers): prevent OpenCode Go session errors
fix(sidebar): unify selection controls
perf(openrouter): add stable conversation sessions
1.70.0 9月3日
feat(chat): make empty-state tips dismissible
feat(macos): export and import all conversations
feat(sidebar): add multi-chat actions
fix(custom-providers): allow non-public HTTP endpoints
fix(custom-providers): support HTTP .local endpoints
fix(ghost-write): preserve generated thinking
fix(reasoning): inherit in Face/Off, Mind/Meld, and Ghost/Write
1.69.0 8月29日
fix(network): allow longer-running responses
fix(background): silence foreground response completion
fix(camera): keep capture controls visible in landscape
fix(ios-chat): restore first-message header interactions
fix(face-off): present candidate details in a sheet
fix(search): prevent automatic drawer focus
refactor(settings): simplify tool controls
1.68.1 8月23日
feat(background): continue AI responses on iOS 26
feat(themes): add B&W and Terminal appearance modes
feat(custom-providers): support multiple authentication headers
feat(question-cards): add native clarification cards
fix(accessibility): isolate drawer VoiceOver focus
fix(transcript): preserve VoiceOver focus during responses
fix(mcp): preserve numeric zero and one in tool arguments
fix(transcript): unify tool call and result rows
fix(settings): distinguish inline provider options
fix(modals): standardize presentation and dismissal
1.68.0 8月21日
feat(openrouter): add preset model selections
feat(about): streamline support links and layout
feat(settings): order and reorder provider connections
feat(projects): rename conversation folders in app UI
feat(web-agent): add persistent interactive browsing
fix(chat): dismiss stale iOS text selection
fix(ipad-navigation): avoid overlap with window controls
fix(settings): remove redundant custom parameter caption
fix(settings): tighten tool and reasoning guidance
fix(settings): simplify current date context control
1.67.0 8月18日
feat(attachments): add in-app camera capture
feat(message-details): show total conversation tokens
feat(local-search): add configurable provider fallbacks
fix(chat-ui): simplify empty-state and Mind/Meld copy
fix(message-details): include cumulative API token usage
fix(composer): remove visible input placeholder
fix(mind-meld): reset stale hidden model selections
fix(mac-ui): scale detail text with native font metrics
fix(custom-provider): accept SSE data fields without spaces
fix(mac-chat): restore native searchable model popover
1.66.0 8月15日
feat(local-browser): add one-shot JavaScript interaction
feat(pdf): add on-device text extraction fallback
feat(chat): add Copy Chat to conversation menus
fix(macos): make disclosure rows fully clickable
fix(latex): preserve abbreviated currency ranges
fix(gemma): handle Gemma 4 thought channels
1.65.0 8月13日
feat(settings): simplify AI connections and configuration
fix(settings): enable headless mode by default
fix(mac-chat): avoid model picker popovers on macOS 27
fix(privacy): gate iCloud Drive diagnostics to debug
fix(mac-chat): defer selection until model picker dismisses
fix(ios-chat): stabilize VoiceOver composer focus
fix(mermaid): retain WebKit renderer session
perf(mac-chat): reduce long-transcript scroll stalls
perf(latex): move equation rendering off the main thread
refactor(settings): collapse provider details and simplify MCP
refactor(settings): unify conversation retention policy
refactor(browser): make headless mode govern parallel tools
refactor(settings): remove redundant on-device copy
refactor(mcp): enable bounded parallel execution by default
1.64.0 8月9日
feat(annotations): add conversation passage notes
feat(read-aloud): add playback and voice guidance
feat(mermaid): render fenced diagrams automatically
feat(read-aloud): add spoken replies and auto-read
fix(latex): stabilize macOS equation sizing
fix(latex): pin MathJaxSwift after braced exponent regression
fix(ios-chat): dismiss keyboard after message submission
1.63.0 8月6日
feat(markdown): add code block copy controls
feat(mermaid): add offline diagram rendering
feat(conversation-export): add Markdown export
feat(chat-toolbar): make title the conversation actions menu
feat(message-details): add request diagnostics
feat(data-analysis): add on-device Python tool
fix(ios-attachments): keep picker labels on one line
fix(ios-chat): preserve conversation title width
1.62.0 8月3日
feat(providers): add custom Responses endpoints
feat(gemini): add file-backed video uploads
feat(settings): add current date context to AI requests
fix(accessibility): stop auto-follow during VoiceOver review
perf(local-browser): bound extraction work off main actor
refactor(settings): centralize preference persistence
1.61.0 7月31日
fix(face-off): safely recover every legacy persistence shape
fix(sidebar): retain footer backing above iOS keyboard
fix(persistence): harden legacy message migration
1.60.1 7月29日
feat(mcp): add bounded parallel tool execution
feat(local-tools): add bounded parallel headless execution
feat(chat-ui): refine conversation actions and navigation
fix(face-off): recover legacy messages without SwiftData crashes
fix(find): highlight matches without strikethrough
fix(chat): preserve compaction and attachment ownership
fix(chat): preserve partial streams and navigate find matches
fix(mac-chat): target the realized transcript tail
fix(mac-chat): preserve streams and guard restart popovers
fix(mac-chat): stabilize long transcript scrolling
fix(tools): preserve valid streamed tool names
fix(tools): decode quoted search summaries correctly
fix(markdown): refresh LaTeX renderer when input changes
fix(ios-navigation): restore hamburger menu taps
fix(chat-ui): clarify token usage accounting
fix(mind-meld): stabilize iOS model configuration
fix(mind-meld): refine macOS configuration disclosure
1.60.0 7月28日
feat(ios-chat): show conversation title in toolbar
feat(macOS): show conversation title in toolbar
feat(chat): modernize transcript message presentation
feat(chat): consolidate composer model selection
feat(sidebar): modernize navigation controls
feat(settings): relocate clear-all conversation action
feat(chat): add adaptive multi-AI Mind/Meld synthesis
fix(mac-chat): stabilize long transcript entry scroll
1.59.0 7月23日
feat(localization): add complete Simplified Chinese support
feat(privacy): encrypt sensitive CloudKit fields for new records
feat(chat): focus composer on New Chat across platforms
fix(release): use Apple Git on Apple silicon
fix(macos): restore composer file drag and drop
fix(openrouter): replay stateless Responses tool history
fix(macos): group controls in material toolbars
fix(macos): rebalance chat toolbar controls
fix(macos): refine chat and settings toolbars
fix(chat): size message info popover for ADP footer
fix(markdown): stop currency $ from swallowing headings and tables
fix(privacy): Drive-back oversized tool and Face/Off payloads
fix(chat): stream Ghost/Write drafts into the placeholder
fix(providers): drop max_tokens from custom OpenAI titles
fix(providers): decode Together-style custom models lists
fix(macos): label Cmd-N as New Chat in File menu
fix(chat): capture Compact confirm before sheet dismiss
fix(chat): harden Compact cancel and drain pending queue
chore(privacy): plan CloudKit ADP encryption
perf(chat): throttle light streaming UI updates to ~20fps
perf(chat): drop streaming dots TimelineView to ~12fps
refactor(custom-params): drop duplicate JSONValidator helper
1.58.0 7月19日
feat(chat): import conversations from JSON on macOS
feat(chat): add Ghost/Write
fix(settings): preserve serif font and clarify local preferences
fix(latex): pin SwiftDraw below 0.28 to restore equation images
fix(chat): label MCP transcript rows as MCP, not local tools
perf(chat): cache LaTeX parse/blocks across MarkdownTextView body evals
perf(chat): avoid full collapse checks for row identity
perf(chat): reduce long-transcript streaming CPU
perf(chat): stop idle long-transcript CPU hangs
perf(chat): avoid transcript refetches during streaming
1.57.0 7月12日
feat(chat): display streaming performance diagnostics
feat(tools): remote MCP client with settings UI and tool routing
feat(chat): include info-bubble metadata in Final JSON
fix(core): replace expired Discord invite with new permanent link
fix(chat): stop cloud models mimicking local tool transcript text
1.56.0 7月10日
feat(settings): theme picker and font options
fix(ios-chat): stop transcript blanking when typing during stream
fix(anthropic): request summarized thinking on adaptive models
1.55.0 7月5日
fix(project-files): accept valid filenames in Release builds
fix(mcp): explain elicitation compatibility and connection errors
fix(project-files): accept integer strings for pagination offsets
fix(project-files): preserve imported filenames when editing
更多 版本 1.76.1 3 天前
會與你連結的資料 系統可能會收集以下資料,並將其與你的身分連結:
不會與你連結的資料 系統可能會收集以下資料,但不會將其與你的身分連結:
支援的功能
旁白
語音控制
放大文字
深色介面
不僅以顏色來區分
足夠的對比度
減少動態效果