Open OHarness from a link. The app now answers its own URL scheme, oharness://, so a web page, a document or another app can launch it and jump straight to the right place — oharness://new?prompt=… opens a new session with the prompt already in the box, for you to read and send.
更新日志
发布了什么,什么时候发的。
桌面应用
macOS 和 Windows 上的应用。它会自动更新,每一条就是它推送过的一个版本。
v1.1.4
Hand work to the background and keep talking. Subagents run on their own, report back when they are done, and can be watched, stopped or redirected — from your Mac or your phone.
Background tasks. The agent can send subagents off to work while the conversation goes on: several at once, each in its own worktree when it edits files and with its own browser, so they never trip over each other. Their results come back into the conversation on their own. Rows over the message box show what is running; open one to watch it work, stop it, or send it a message.
Background tasks on your iPhone. Over Remote Control the phone shows the same tasks: the results arrive as cards in the conversation, and each task opens to its own page where you can follow it, stop it or tell it something. An approval card says which task is asking.
Fresh starter prompts. The start page suggests concrete things to try, and they change each time.
An expired sign-in no longer keeps retrying in the background.
See how full the context is. A ring under the message box shows how much of the model's window the conversation uses, from the first reply. Click it for the breakdown — system prompt, tools, messages, free space — and where automatic compaction starts. /compact works in every conversation.
Fixed a few things to keep you safe.
v1.1.0
Your Mac, in your pocket. Start and steer conversations on your Mac from your iPhone, talk instead of typing, and run a second task beside the first.
Control your Mac from your iPhone. Turn on Remote control in Settings and the OHarness iPhone app can start and steer conversations on this Mac, with its files, tools and models. Phones pair with a code shown on both screens, and everything between them is encrypted end to end — the relay in the middle only ever sees ciphertext.
Dictation. A microphone beside send: speak, and the words are transcribed, tidied and put in the message box — in Chinese, English and more.
A parallel task in a worktree. Start a second task beside the project — a git worktree on its own branch, or a copy of a plain folder — so two pieces of work never touch the same files. When it is done, merge, push with a pull-request link, or apply the copy back.
Computer use. The agent can see and operate the apps on your Mac in the background — clicks, typing and menu commands go to the app without taking focus from what you are doing. A virtual cursor shows where it is working, a floating card shows the window live, and each step's screenshot appears in the conversation.
Attachments as cards. Images, videos and files sit above the message box with previews; a video you send plays in its message. PDFs reach the model whole, and other files reach the agent.
Search sessions and files. The sidebar searches your sessions, and the files pane searches the whole project.
Modes that stay put. A conversation keeps the permission mode it was left in, and new ones start in the last mode you chose.
A new window layout, with the rail and the top bar as one frame and Home at the top of the rail, and a sidebar that folds away to give the page the whole window.
Sessions in the sidebar, searchable and loaded as you scroll, and usage by model drawn as bars that show each model's share and tokens.
Usage from your account, chat and generated media together, split by kind, and a page with every session, searchable and loaded as you scroll.
The OHarness extension from the Chrome Web Store connects to the app, and "Get the Chrome extension" in Settings opens its listing.
Create images, video, speech and music. Sign in to your OHarness account and ask for one: the OH Creative Media Generator plugin uses the same credits as chat, and what it makes appears right in the conversation — pictures and video inline, audio in a player card — saved into your project.
A files pane and a terminal open beside the conversation, and the sidebar collapses when you want the room. Check for Updates and the release notes are in Settings.
The agent can use a browser. A built-in browser beside the conversation whose sign-ins survive a restart, or your own Chrome through the OHarness extension, which can also open the app in Chrome's side panel. Auto, the default, picks per task, and each browser asks for its own approval per site.
Release notes in the app. "Release Notes" in the menu, and after an update the sidebar says what is new.
Messages typed while the agent works are kept. They queue above the composer, and Send now hands one to the turn already running. The composer can be dragged taller.
Teams. The account menu picks whose credits the next call spends — Personal or a team — with Subscribe and Top up beside it.
Skills page, / for skills and @ for files in the composer.
Media generation, ChatGPT (Codex) sign-in and the creator skills, with vendor marks in the model picker.
npm 包
oharness、@oharness/engine、@oharness/server 和 @oharness/sync。四个包共用一个版本号,总是一起发布。
v0.10.0
The agent does more on its own: it works in the background, uses your computer, keeps going until a goal is met, and answers to your phone.
Background tasks. Subagents run while the conversation goes on — several at once, each in its own worktree when it edits files and with its own browser — and their results come back on their own. The page lists them over the message box; open one to watch it, stop it or send it a message. The task tool takes background: true, and task_message, task_output and task_stop steer what is running.
Computer use. With Computer use on, the agent sees and operates the apps on your Mac or Windows PC — clicks, typing and menu commands, in the background where the platform allows — and the Computer pane shows the window it is working in, live.
Remote control. Turn it on in Settings and the OHarness iPhone app drives this machine through a relay: conversations, files, models and background tasks, paired with a code and encrypted end to end.
Goal mode. /goal, or Goal in the + menu, keeps the agent working until what you asked for is done.
A parallel task in a worktree. A second task gets a tree of its own beside the project — a git worktree on its own branch, or a copy of a plain folder — and finishing offers merge, push with the pull-request link, or apply.
Dictation, and a context ring. A microphone beside send transcribes and tidies what you say. A ring under the box shows how full the context window is, with the breakdown a click away, and /compact works everywhere.
More in the page. Attachments sit above the box as cards, and PDFs reach the model whole. Search sessions from the sidebar and the whole project from the files pane. A conversation keeps its permission mode. Starter prompts are written from your recent conversations, and Feedback in the account menu takes screenshots and recordings.
A new window layout. The app's places sit on a rail framed with the top bar, the sessions on a card beside it, and the tabs read as a browser's. Home at the top of the rail opens the start page.
A sidebar that folds away. One button beside the logo folds the whole sidebar, rail and all, and brings it back, with the tabs sliding along; the page gets the full window.
Sessions in the sidebar. The list of every session moves out of Usage into a sidebar entry of its own, searchable by title or model and loaded as you scroll.
Usage by model, at a glance. Each model row carries a bar for its share of its kind's spend, with the share and the tokens (or media made) written across it. Long model lists scroll in place and load as you go.
Usage from your account. Signed in, Settings → Usage reads your account's ledger: chat from every device plus images, video and audio, with a card per kind that doubles as the filter, and models grouped by kind. "This device" keeps the totals from local transcripts.
Every session in one place. Usage lists the latest ten; "View more" opens all of them, searchable by title or model and loaded as you scroll. A row opens its session.
The browser host accepts the Chrome Web Store build of the extension as well as an unpacked copy, and Settings links straight to the store listing.
Images, video, speech and music on your OHarness account. The built-in OH Creative Media Generator plugin generates with the same credits as chat — billed to your team when you have one chosen — and its tools appear the moment you sign in, without a restart. Every tool the media server offers is available, and the server updates itself in the background, so new models and tools arrive without an OHarness release. Results are saved into the project.
Generated media in the conversation. Images and video appear under the steps that made them, and audio plays in a card of its own; clicking one opens it in the files pane.
A files pane and an embedded terminal beside the conversation, and a sidebar that collapses.
Runtime plugins can add tools, prompts and the rest of their contributions while they run, not only during setup. The bundled media server is ottoport 1.9.0.
The agent can use a browser. Each conversation gets its own tabs, in a built-in browser whose sign-ins persist, or in your own Chrome through the OHarness extension. In auto mode, the default, the model picks per task: your browser when the task needs your accounts or a page you have open, the built-in one otherwise. Each browser asks for its own approval per site, and a site's sign-in can be copied into the built-in browser once you confirm it.
OHarness in Chrome's side panel. The extension opens the app beside any page, and "Use this tab" hands the tab in front to the conversation. One extension serves several conversations at once, each in its own tab group.
Signing in where you are. A provider with no credential opens the sign-in dialog in the app and suggests /login in the terminal. The TUI lists slash commands as you type them.
Image quality. Image generation takes an optional quality, from low to max, for GPT Image models.
Messages typed while the agent works are kept. They wait above the composer, and Send now hands one to the turn already running: the agent reads it at the next pause and answers inside the same turn.
Routines. Ask for "every weekday at 9" and the agent creates a scheduled routine that runs in its project. One clock serves the desktop app, the TUI and oharness schedule daemon; a time missed while the computer slept runs once when it wakes. The Routines page pauses them and lists every run.
An international model catalog. Chinese vendors on their international endpoints, with the coding plans of the three that sell one, and BytePlus ModelArk for ByteDance's Seed models. Model lists come from models.dev, refresh every three days and sort newest first. The picker opens on the official plan and remembers the last model you chose.
Tool activity you can follow. A tool's card appears as soon as the model names it, and a run of tool calls folds into one line — "Ran 2 commands, edited app.ts". Artifacts are saved as files in the project's ARTIFACTS folder.
oharness update. The CLI says when it is out of date and installs the newer version.
The agent can ask. An ask tool puts multiple-choice questions to you and waits for the answer; the app shows them as a card with Skip.
Memory that works on its own. It recalls what bears on each message, writes notes without being asked, consolidates them over time, and merges edits made on two machines. The sync server gains the memory API, and its protocol is documented for anyone running their own.
Reasoning effort per model, and per turn from the composer.
Usage, Permissions and Audit log pages. Spend per model and per session over any date range, every permission rule and writable root in one place, and the full audit trail across every session on the machine.
A new look. A theme generated from one palette per mode, and replies rendered as GitHub-flavoured Markdown.
Teams. A call can be billed to a team's balance: set team in your config or pick the team from the account menu. A repository's config cannot choose whose credits it spends.
Skills page and / in the composer. See what is installed and invoke a skill by name; @ mentions a file.
ChatGPT subscriptions. A new openai-codex provider uses the login from the Codex CLI, so a ChatGPT plan works without an API key.
Media generation. A built-in plugin that makes images, video and speech, returns files rather than expiring links, and says what a call will cost before it runs.
Skills from plugins, and skills that make skills. Runtime plugins can contribute skills. The built-in skill-creator and plugin-creator scaffold, install and validate new ones.
Vendor marks in the model picker, served by the local server so the page makes no third-party requests.
Runtime plugins, a platform connector, and Memory on the sync server. The plugin host that models, tools, skills and connectors all register through.
First publish: the engine, the terminal, web and headless frontends, and the sync server.