English · 简体中文
This walks a new macOS user to a first answer: install OpenAI4S, point it at a model, and (so the agent can read the live literature and databases) point it at web search.
v0.3.0 publishes no macOS disk image. The release workflow uploads a
.dmgonly when it is Developer-ID-signed and notarized, and the credentials for that do not exist yet. Install from PyPI instead (§1), which works on Apple Silicon and Intel Macs. The older v0.2.0 preview image is still available, but it runs 0.2.0.
You need Python 3.10 or newer, for example from python.org or Homebrew. Install into a virtual environment of its own, then start the daemon:
python3 -m venv ~/.venvs/openai4s && source ~/.venvs/openai4s/bin/activate
pip install "openai4s[science]"
openai4s serve
The science extra adds numpy, pandas, matplotlib and scikit-learn to the
environment the Python kernel runs in. Use "openai4s[science,chemistry]" if
you also want RDKit. openai4s serve starts the local daemon and opens the
workbench in your browser with its access token. All data (SQLite database,
artifacts, logs) lives under ~/.openai4s. Next time, run
source ~/.venvs/openai4s/bin/activate && openai4s serve again.
OpenAI4S-0.2.0-macos-arm64.dmg from the
v0.2.0 release page.
It is Apple Silicon only. The latest release has no macOS image, so do not
look for one there..dmg to mount it.OpenAI4S onto the Applications folder in the same window.The image embeds its own Python plus the default kernel science stack —
numpy · pandas · scipy · matplotlib · seaborn · plotly · rdkit
(cheminformatics) · scanpy and the single-cell stack (anndata · leidenalg ·
igraph) · umap · numba · scikit-learn · statsmodels · biopython · h5py · zarr ·
pyarrow — so the first launch needs no network and no pip.
It runs 0.2.0. None of the 0.3.0 changes are in it, and its settings screens differ from the ones described below. Do not let it open a data directory that 0.3.0 has already upgraded; see Upgrading from 0.2.x.
Skip this section if you installed from PyPI.
The image is ad-hoc signed but not notarized (notarization needs a paid Apple Developer identity), so Gatekeeper refuses it the first time only. Pick the path for your macOS version:
| macOS version | How to open the first time |
|---|---|
| 15 Sequoia and newer | Double-click the app, dismiss the warning, then open System Settings → Privacy & Security and click Open Anyway. |
| 12–14 (Monterey–Sonoma) | Right-click (or Control-click) OpenAI4S.app → Open → Open. |
| Any version, from Terminal | xattr -dr com.apple.quarantine /Applications/OpenAI4S.app, then open normally. |
Once it opens, the app starts a local daemon and opens the workbench in your browser. Everything below happens in that UI.
OpenAI4S boots without any API key — a "configure your API key" banner links straight to the right screen.
Recommended Volcengine flow (new in 0.3.0; the v0.2.0 preview image has only
the manual form further down): install the official connector once with
npm i -g @volcengine/ark-cli@latest, then open Settings → Models and click
Continue with Volcengine. OpenAI4S opens the official Volcengine
authorization page in your browser. Finish authorization, copy the complete
authorization string shown there (usually Base64 text containing code and
state), and paste it back into OpenAI4S; do not copy only the inner code.
No system terminal is required. OpenAI4S
discovers your Agent Plan or Coding Plan, shows its current quota, and activates
it automatically when there is only one ready choice. Multiple plans get a
selector. A connected account with no plan, API Key, team seat, or remaining
quota stays visibly connected and shows the exact next action. After creating a
Key in the console, OpenAI4S checks for it automatically for two minutes; the
manual Recheck action remains available. One usable Key continues setup
automatically, while multiple Keys get a masked name/suffix selector. OpenAI4S
never receives the account password, and the Ark API Key is
handed directly to the local SecretBroker instead of being returned to the
browser. If the Ark CLI later requires a one-time Project setup, the page says
so explicitly and provides the exceptional CLI command to run. OpenAI4S reuses
the Project selected by Ark CLI and never assumes that a default Project exists.
For another provider, or to create a profile manually:
Doubao, My Claude).That's it — the workbench now runs on your model.
Which protocol / key?
| Protocol in the UI | Provider it talks to | Where to get the key |
|---|---|---|
| Ark-compatible | Volcengine Ark (火山方舟) — one key serves Doubao · GLM · Kimi · DeepSeek · MiniMax | console.volcengine.com/ark — the entry "Small" agent plan is ¥9.9 / month (≈ US$1.4) |
| OpenAI-compatible | OpenAI (gpt-5) or any OpenAI-compatible endpoint |
your OpenAI / vendor dashboard |
| Anthropic-compatible | Anthropic Claude (claude-sonnet-4-5) |
console.anthropic.com |
Cheapest path: pick Ark-compatible and paste a Volcengine Ark key — you get a Claude-Science-class agent for the price of the ¥9.9/month plan.
Web search lets the agent pull live literature, database records, and data packages instead of relying only on its training knowledge. Doubao Search Custom is the primary option and uses an Ark Agent Plan Key:
web_search / web_fetch / download tools.The Agent Plan Key is stored through the selected local SecretBroker backend;
business settings under ~/.openai4s keep only an opaque reference. The
explicit OPENAI4S_SECRET_STORE=plaintext backend is the documented exception
that stores the broker value in SQLite. The credential is shared with
the managed DataPro professional-dataset connector. Tavily remains available
as a backup in the same Network screen, and keyless scrapers (DuckDuckGo and
friends) remain a final backup for the separate generic search path. Their
results never make the dedicated Doubao check claim success.
Neither install route ships R. Without an R interpreter the R channel reports
itself unavailable rather than silently falling back to Python. The documented
way to add one is a Conda environment built by openai4s setup, which needs a
Conda-family manager (micromamba, mamba or conda).
With a PyPI install, run the setup command from the same virtual environment:
openai4s setup
With the v0.2.0 preview image, expose its bundled CLI first:
sudo ln -sf /Applications/OpenAI4S.app/Contents/Resources/runtime/bin/openai4s /usr/local/bin/openai4s
openai4s setup
Either way the same CLI also gives you openai4s status, openai4s stop, and
openai4s url.
Open a new chat and ask a real question — for example "Fetch human insulin
(UniProt P01308), summarize its chains, and plot residue hydrophobicity." The
kernel runs dataframe and plotting workflows with the science extra, and
cheminformatics with chemistry (the preview image bundles both plus the
single-cell stack). With Doubao Search authorized by your Agent Plan Key, the
agent can also reach current sources across the wider web. Tavily and keyless
engines remain available as backups.
Troubleshooting
openai4s url and open the URL it
prints. The bare http://127.0.0.1:8760/ asks for the access token.openai4s serve; the
preview app writes ~/.openai4s/logs/app.out.openai4s stop.English · 简体中文
本指南带一位全新的 macOS 用户走到第一个结果:装好 OpenAI4S、配好模型,再配好联网搜索(让智能体能读实时文献与数据库)。
v0.3.0 不发布 macOS 磁盘镜像。 发布流程只在
.dmg经过 Developer ID 签名并完成公证时才上传它,而这些凭据目前还不存在。请改用 PyPI 安装(第 1 节),Apple Silicon 与 Intel Mac 都适用。旧的 v0.2.0 预览镜像仍可下载,但它运行的是 0.2.0。
需要 Python 3.10 或更新版本,例如来自 python.org 或 Homebrew。请安装到一个单独的虚拟环境中,然后启动守护进程:
python3 -m venv ~/.venvs/openai4s && source ~/.venvs/openai4s/bin/activate
pip install "openai4s[science]"
openai4s serve
science extra 会把 numpy、pandas、matplotlib 和 scikit-learn 装进 Python 内核所用的环境;如果还需要 RDKit,请用 "openai4s[science,chemistry]"。openai4s serve 会启动本地守护进程,并用访问令牌在浏览器里打开工作台。所有数据(SQLite 数据库、Artifact、日志)都写在 ~/.openai4s。下次使用时,再运行一次 source ~/.venvs/openai4s/bin/activate && openai4s serve。
OpenAI4S-0.2.0-macos-arm64.dmg。它仅支持 Apple Silicon。最新 Release 里没有 macOS 镜像,不要去那里找。.dmg 挂载。OpenAI4S 拖到 Applications(应用程序)文件夹。镜像已内嵌自带的 Python 以及默认内核科学栈——numpy · pandas · scipy · matplotlib · seaborn · plotly · rdkit(化学信息学)· scanpy 及单细胞栈(anndata · leidenalg · igraph)· umap · numba · scikit-learn · statsmodels · biopython · h5py · zarr · pyarrow——所以首次启动不联网、不 pip。
它运行的是 0.2.0,不包含 0.3.0 的任何改动,设置页面也与下文描述的不同。不要让它打开已被 0.3.0 升级过的数据目录,详见 从 0.2.x 升级。
如果你是从 PyPI 安装的,请跳过本节。
该镜像仅做 ad-hoc 签名、未做公证(notarization)(公证需要付费的 Apple 开发者身份),所以只有第一次打开会被 Gatekeeper 拦下。按你的 macOS 版本选一种方式:
| macOS 版本 | 首次打开方式 |
|---|---|
| 15 Sequoia 及更新 | 先双击应用、关掉提示,再到「系统设置 → 隐私与安全性」点 仍要打开。 |
| 12–14(Monterey–Sonoma) | 右键(或按住 Control 点按)OpenAI4S.app → 打开 → 打开。 |
| 任意版本,用终端 | xattr -dr com.apple.quarantine /Applications/OpenAI4S.app,之后正常打开。 |
打开后,应用会启动本地守护进程,并在浏览器里打开工作台。下面的操作都在这个界面里完成。
OpenAI4S 启动时不带任何 API Key——界面上会有一条 「configure your API key」 横幅,直接跳到对应页面。
推荐的火山流程(0.3.0 新增;v0.2.0 预览镜像只有下文的手动表单):先用 npm i -g @volcengine/ark-cli@latest 一次性安装官方
连接器,然后打开 设置 → 模型,点击 使用火山引擎登录。OpenAI4S 会在浏览器中打开
火山官方授权页。完成授权后,复制页面显示的完整授权字符串(通常是一段包含 code 和 state
的 Base64 文本),再粘贴回 OpenAI4S;不要只复制其中的 code。不需要打开系统终端。
OpenAI4S 会发现 Agent Plan 或 Coding Plan、显示当前额度,并在只有一个已就绪套餐时直接启用;
多个套餐则先让用户选择。账号即使缺少套餐、API Key、团队席位或可用额度,也会保持“已连接”,
并显示准确的下一步。在控制台创建 Key 后,OpenAI4S 会自动检查两分钟,同时保留 重新检查;
只有一把可用 Key 时直接继续,多把 Key 时显示名称与末四位供选择,全程不需要复制粘贴。
OpenAI4S 不接收账号密码,Ark API Key 也不会返回浏览器,而是直接交给本机 SecretBroker。
如果 Ark CLI 后续要求一次性的 Project 设置,页面会明确提示,并提供需要执行的例外 CLI 命令。
OpenAI4S 只复用 Ark CLI 已选定的 Project,不会假设账号一定存在名为 default 的 Project。
其他供应商,或者需要手动新建配置时:
豆包、我的 Claude)。完成——工作台现在就跑在你的模型上了。
该选哪个协议 / 哪个 Key?
| UI 里的协议 | 对接的供应商 | 在哪里拿 Key |
|---|---|---|
| ark 兼容协议 | 火山方舟 Volcengine Ark —— 一个 Key 覆盖 豆包 · GLM · Kimi · DeepSeek · MiniMax | console.volcengine.com/ark —— 入门 「Small」Agent 套餐仅 ¥9.9 / 月 |
| OpenAI 兼容协议 | OpenAI(gpt-5)或任何 OpenAI 兼容接入点 |
你的 OpenAI / 厂商控制台 |
| Anthropic 兼容协议 | Anthropic Claude(claude-sonnet-4-5) |
console.anthropic.com |
最省钱路线: 选 ark 兼容协议 并粘贴一个火山方舟 Key——用 ¥9.9/月 套餐的价钱, 就能得到一个 Claude Science 级的智能体。
联网搜索让智能体能拉取实时文献、数据库记录和数据包,而不只依赖训练知识。豆包搜索 Custom 版是主选项,使用火山方舟 Agent Plan Key:
web_search / web_fetch / 下载工具。Agent Plan Key 由所选的本地 SecretBroker 后端保存;~/.openai4s 下的业务设置只保留
不透明引用。显式启用 OPENAI4S_SECRET_STORE=plaintext 是例外,会把 broker 值保存到
SQLite。该凭证与托管的 DataPro 专业数据集连接器共用。Tavily 仍在同一「网络」页面作为备用,
DuckDuckGo 等免密钥抓取则是独立通用搜索路径的最后备用;它们的结果都不会让豆包专用
检查冒充成功。
两种安装方式都不带 R。没有 R 解释器时,R 通道会直接报告「解释器不可用」,而不会悄悄退回 Python。文档给出的加装方式是用 openai4s setup 构建一个 Conda 环境,这需要一个 Conda 家族管理器(micromamba、mamba 或 conda)。
如果是 PyPI 安装,在同一个虚拟环境里运行 setup:
openai4s setup
如果用的是 v0.2.0 预览镜像,先把它内置的 CLI 暴露出来:
sudo ln -sf /Applications/OpenAI4S.app/Contents/Resources/runtime/bin/openai4s /usr/local/bin/openai4s
openai4s setup
无论哪种方式,这个 CLI 都同时提供 openai4s status、openai4s stop、openai4s url。
开一个新对话,问个真实问题——比如 「拉取人胰岛素(UniProt P01308),概括它的各条链,并画出残基疏水性。」 装了 science extra 的内核可以跑 DataFrame 与绘图工作流,装了 chemistry 可以跑化学信息学(预览镜像两者都内置,另有单细胞栈)。配好 Agent Plan Key 授权豆包搜索之后,智能体还能检索更广的实时互联网;Tavily 与免密钥引擎继续作为备用。
排障
openai4s url,打开它打印出的 URL。直接访问 http://127.0.0.1:8760/ 会要求访问令牌。openai4s serve 的终端里;预览应用写入 ~/.openai4s/logs/app.out。openai4s stop。