Agent 开发框架

ConnectOnion|面向AI编码代理的CLI工具与上下文记忆框架

ConnectOnion

ConnectOnion 是一个以 co 命令行为核心的代理工具集,为编码代理提供邮箱、浏览器、聊天应用、文件与远程代理的统一命令行入口,并提供本地上下文记忆。

获取与使用

需要部署

按官方资料自行安装或部署

使用难度待核验
国内可用性待核验

2026-11-09 更新 · 本站尚未实测

项目介绍

Agent 开发框架 · 2026-11-09 更新 · 本站尚未实测

ConnectOnion 是一个以命令行 co 为核心的 AI 代理工具集(README 自述为 “The agent CLI harness. CLI is all you need.”)。它的思路是:与其为每个工具单独起 MCP 服务器或插件,不如把邮箱、浏览器、聊天软件、文件存储、问题追踪等能力统一收敛到一条命令行,由代理按需通过 --help 发现用法。

README 还说明 ConnectOnion 同时是一个 Python 框架,可在同一套 harness 上构建自定义代理。当前 pip install connectonion 安装的是 Stable 1.9.3,预览版本需主动选择。

核心能力

点击能力名称查看输入、输出和原文依据。

  • 统一命令行入口:co 提供 Gmail、Outlook、Google Calendar、OneNote、WhatsApp、Telegram、Discord、Slack、飞书/Lark、SMS、Chrome 浏览器、Google Drive、YouTube、Synology NAS、网页搜索与抓取、Linear、Canny 等命令组。
  • 帮助页即提示词:每个 --help 说明命令作用、变更类型(只读、发送、修改、删除等)并给出示例,README 称 CI 会用 co audit 校验帮助页完整性。
  • 上下文记忆(co rem):把邮件和编码会话中的上下文整理成本地链接式 Markdown 页面,保存在 ~/.co/rem,可供人和代理读取;支持 co rem open 本地浏览与 co rem open --live 在线访问。
  • 编码代理协作:无需向 Claude Code、Codex、Cursor 安装额外内容,代理读取 co commands 与 co <组> --help 即可操作;co skills link 可把技能链入 Claude Code 与 Codex。
  • 会话交接:README 提到自 1.9.2 起支持在 Codex 或 Claude Code 中“hand this to Bob”式交接,交接内容仅限会话本身。
  • MCP 统一化(规划中):co mcp 被标注为 “coming next”,尚不可用。

实际应用场景

适用场景

适合已经在使用 Claude Code、Codex 或 Cursor 等编码代理,希望让代理直接操作邮箱、日历、聊天记录、浏览器与工单系统的用户;也适合希望把工作上下文沉淀为本地 Markdown 笔记、并在后续任务中复用的个人或小团队。若只需要单一的某个 SaaS 集成,未必需要引入整套命令行。

安装与接入

README 给出的安装方式(原文):

curl -fsSL https://raw.githubusercontent.com/openonion/connectonion/main/install.sh | sh

安装脚本会使用 uv(必要时自动安装),将 co 与系统 Python 隔离。随后按需授权:

co auth google      # Gmail and Google Calendar
co auth microsoft   # Outlook
co commands         # everything else; add --help to any

替代方式(README 原文):

# Python 3.11+
pip install connectonion
co init

co rem 的初始化命令(README 原文):

pip install --upgrade 'connectonion==1.9.3'
# build your map and first pages; approve nightly upkeep when prompted
co rem init
# read the local notebook
co rem open

使用条件与限制

是否需要部署
需自行准备运行环境,具体要求见正文
是否需要注册
账号和认证要求见正文;未明确说明的项目仍待核验
是否需要 API Key
待核验
费用与额度
费用边界见正文,项目许可不代表模型或托管服务免费
所需权限
待核验
许可证与服务条款
待核验

权限费用与限制

  • 凭据保存在本机 ~/.co/keys.env,或用 co env set … --secret 加密;重要写操作在加 --yes 前只做预览,co ai 中高风险工具调用需人工确认。
  • README 称安装会附带一个带初始额度的 OpenOnion key;co search 默认先用自有搜索密钥,再用 ConnectOnion 额度,--engine ddg 免费。具体额度、计费与续费规则待向官方核验。
  • co rem 在调查时会把选定来源内容发送给所配置的模型,费用与来源控制需参考其文档;每日定时维护 README 明确“currently requires macOS”。
  • co rem open --live 会打开在线 co ai Host,仅限 Host 所有者访问。在线服务的部署地域、数据留存政策待核验。
  • 数据类命令涉及邮箱、聊天与文件,需自行评估授权范围与敏感信息处理。

国内使用情况

网友核验 用户经验分享

与站长实测独立,不代表官方认证或本站已实测。

我要核验
0 位参与者0 份有效分项记录

最近核验:暂无有效核验。参与人数按当前项目有效身份去重;不同核验项分别统计,不合并成用户总结果。仅统计审核通过且未过期的记录。

分项统计、有效期与样本量
核验项目有效人数成功 / 部分 / 失败 / 无法判断成功率最近核验 / 有效期
官方网站访问00 / 0 / 0 / 0样本不足暂无 / 7 天
GitHub 仓库访问00 / 0 / 0 / 0样本不足暂无 / 7 天
安装与运行00 / 0 / 0 / 0样本不足暂无 / 30 天
官方服务国内连接 / MCP 连接00 / 0 / 0 / 0样本不足暂无 / 30 天
国内网络情况00 / 0 / 0 / 0样本不足暂无 / 7 天
国内模型兼容性00 / 0 / 0 / 0样本不足暂无 / 30 天
自定义 API00 / 0 / 0 / 0样本不足暂无 / 30 天
海外服务依赖
00 / 0 / 0 / 0样本不足暂无 / 30 天
海外账号要求
00 / 0 / 0 / 0样本不足暂无 / 30 天
中文界面
00 / 0 / 0 / 0样本不足暂无 / 30 天
客户端兼容性00 / 0 / 0 / 0样本不足暂无 / 30 天
账号及费用信息
00 / 0 / 0 / 0样本不足暂无 / 30 天

成功率 = 成功 ÷(成功 + 部分成功 + 失败);无法判断不计入分母。至少 5 份可判断结果才显示成功率。账号、费用、海外依赖与语言等事实项,成功表示核查结论与资料吻合,具体观察另行统计;不表示免费或没有海外依赖。不同网络、客户端和版本的结果不能直接等同。

最近有效核验

暂无审核通过且未过期的网友核验。欢迎提交真实使用记录。

查看全部有效核验 →

国内实测状态:国内可用性待核验。协议兼容和官方资料说明不等于国内网络可用。

官方网站访问
尚未实测 待核验
GitHub 仓库访问
尚未实测 待核验
官方服务国内连接
尚未实测 待核验
国内网络情况
尚未实测 待核验
国内模型兼容性
尚未实测 待核验
自定义 API
尚未实测 待核验
海外服务依赖
尚未实测 待核验
海外账号要求
尚未实测 待核验
中文界面
尚未实测 待核验
国内最后核验时间
尚未实测

许可与国内使用

仓库 LICENSE 为 Apache License 2.0(Copyright 2024 OpenOnion)。该许可证覆盖仓库代码;商业模块、托管服务(如在线 Host)与第三方模型服务各有独立条款,均待核验。公开仓库不代表模型调用或云服务免费。

README 列出支持的模型接入包括 OpenAI、Anthropic、Gemini、Mistral、Groq、Grok、OpenRouter 与本地 Ollama;命令组中包含飞书/Lark,说明有面向国内办公场景的入口,但实际可用性、网络连通性与合规要求均未在资料中说明,待核验。Windows 支持情况资料未提及,待核验。

项目资料与来源

官方网站 ↗

GitHub 仓库 ↗

官方文档 ↗

字段依据与待核验事项

access:来源确认 · curl -fsSL https://raw.githubusercontent.com/openonion/connectonion/main/install.sh | sh

project_type:来源确认 · ConnectOnion is also a Python framework for building your own agents on the same harness

原始 README(折叠技术参考)
<div align="center">

<img src="https://www.connectonion.com/favicon.png" width="96" height="96" alt="ConnectOnion logo">

# ConnectOnion

**The agent CLI harness. CLI is all you need.**

One command line, `co`, gives your AI agent the accounts and tools it works with:
Gmail and Outlook, a logged-in browser, your files, chat apps and other agents.
**co rem enables decentralized context flow:** connect the context in your
work, keep it on your machine, and carry it into the next task.

[![PyPI](https://img.shields.io/pypi/v/connectonion?style=flat-square)](https://pypi.org/project/connectonion/)
[![Python](https://img.shields.io/pypi/pyversions/connectonion?style=flat-square)](https://pypi.org/project/connectonion/)
[![Tests](https://img.shields.io/github/actions/workflow/status/openonion/connectonion/tests.yml?branch=main&event=push&style=flat-square&label=tests)](https://github.com/openonion/connectonion/actions/workflows/tests.yml?query=branch%3Amain)
[![License](https://img.shields.io/pypi/l/connectonion?style=flat-square)](LICENSE)
[![PyPI Downloads](https://static.pepy.tech/personalized-badge/connectonion?period=total&units=international_system&left_color=black&right_color=green&left_text=downloads)](https://pepy.tech/projects/connectonion)

[Website](https://www.connectonion.com) · [Docs](https://docs.connectonion.com) · [Get started](#install-and-start) · [co rem](#co-rem--decentralized-context-flow) · [Releases](https://github.com/openonion/connectonion/releases) · [Discord](https://discord.gg/4xfD9k8AUF)

</div>

<!-- connections: generated, do not edit by hand. Refresh with
     curl -s https://www.connectonion.com/connections.md
     and paste the output between these two comments. -->
<p><b>Identity &amp; memory</b><br>
<a href="docs/cli/init.md"><img src="https://www.connectonion.com/logos/address.svg?v=3" width="80" height="80" alt="0x address" title="0x address · co init"></a>
<a href="docs/cli/email.md"><img src="https://www.connectonion.com/logos/mailbox.svg?v=3" width="80" height="80" alt="Agent mailbox" title="Agent mailbox · co email"></a>
<a href="docs/cli/rem.md"><img src="https://www.connectonion.com/logos/memory.svg?v=3" width="80" height="80" alt="co rem" title="co rem · co rem"></a>
<a href="docs/cli/env.md"><img src="https://www.connectonion.com/logos/secrets.svg?v=3" width="80" height="80" alt="Secrets" title="Secrets · co env"></a>
<a href="docs/cli/README.md"><img src="https://www.connectonion.com/logos/credits.svg?v=3" width="80" height="80" alt="Credits" title="Credits · co transfer"></a></p>

<p><b>Mail, calendar &amp; notes</b><br>
<a href="docs/cli/gmail.md"><img src="https://www.connectonion.com/logos/gmail.svg?v=3" width="80" height="80" alt="Gmail" title="Gmail · co gmail"></a>
<a href="docs/cli/outlook.md"><img src="https://www.connectonion.com/logos/outlook.svg?v=3" width="80" height="80" alt="Outlook" title="Outlook · co outlook"></a>
<a href="docs/cli/gcalendar.md"><img src="https://www.connectonion.com/logos/gcal.svg?v=3" width="80" height="80" alt="Google Calendar" title="Google Calendar · co gcalendar"></a>
<a href="docs/cli/gcalendar.md"><img src="https://www.connectonion.com/logos/meet.svg?v=3" width="80" height="80" alt="Google Meet" title="Google Meet · co gcalendar meet"></a>
<a href="docs/cli/onenote.md"><img src="https://www.connectonion.com/logos/onenote.svg?v=3" width="80" height="80" alt="OneNote" title="OneNote · co onenote"></a>
<a href="docs/cli/outlook.md"><img src="https://www.connectonion.com/logos/teams.svg?v=3" width="80" height="80" alt="Teams meetings" title="Teams meetings · co outlook calendar"></a></p>

<p><b>Chat apps</b><br>
<a href="docs/cli/whatsapp.md"><img src="https://www.connectonion.com/logos/whatsapp.svg?v=3" width="80" height="80" alt="WhatsApp" title="WhatsApp · co whatsapp"></a>
<a href="docs/cli/telegram.md"><img src="https://www.connectonion.com/logos/telegram.svg?v=3" width="80" height="80" alt="Telegram" title="Telegram · co telegram"></a>
<a href="docs/cli/discord.md"><img src="https://www.connectonion.com/logos/discord.svg?v=3" width="80" height="80" alt="Discord" title="Discord · co discord"></a>
<a href="docs/cli/slack.md"><img src="https://www.connectonion.com/logos/slack.svg?v=3" width="80" height="80" alt="Slack" title="Slack · co slack"></a>
<a href="docs/cli/feishu.md"><img src="https://www.connectonion.com/logos/feishu.svg?v=3" width="80" height="80" alt="Feishu / Lark" title="Feishu / Lark · co feishu, co lark"></a>
<a href="docs/cli/sms.md"><img src="https://www.connectonion.com/logos/sms.svg?v=3" width="80" height="80" alt="SMS" title="SMS · co sms"></a></p>

<p><b>Browser &amp; files</b><br>
<a href="docs/cli/browser.md"><img src="https://www.connectonion.com/logos/chrome.svg?v=3" width="80" height="80" alt="Your Chrome" title="Your Chrome · co browser"></a>
<a href="docs/cli/browser.md"><img src="https://www.connectonion.com/logos/remote.svg?v=3" width="80" height="80" alt="Remote browser" title="Remote browser · co remote-browser"></a>
<a href="docs/cli/gdrive.md"><img src="https://www.connectonion.com/logos/gdrive.svg?v=3" width="80" height="80" alt="Google Drive" title="Google Drive · co gdrive"></a>
<a href="docs/cli/youtube.md"><img src="https://www.connectonion.com/logos/youtube.svg?v=3" width="80" height="80" alt="YouTube" title="YouTube · co youtube"></a>
<a href="docs/cli/synology.md"><img src="https://www.connectonion.com/logos/syno.svg?v=3" width="80" height="80" alt="Synology NAS" title="Synology NAS · co syno"></a>
<a href="docs/cli/search.md"><img src="https://www.connectonion.com/logos/search.svg?v=3" width="80" height="80" alt="Web search" title="Web search · co search"></a>
<a href="docs/cli/search.md"><img src="https://www.connectonion.com/logos/fetch.svg?v=3" width="80" height="80" alt="Web fetch" title="Web fetch · co fetch"></a></p>

<p><b>Issues &amp; feedback</b><br>
<a href="docs/cli/linear.md"><img src="https://www.connectonion.com/logos/linear.svg?v=3" width="80" height="80" alt="Linear" title="Linear · co linear"></a>
<a href="docs/cli/canny.md"><img src="https://www.connectonion.com/logos/canny.svg?v=3" width="80" height="80" alt="Canny" title="Canny · co canny"></a></p>

<p><b>Coding agents</b><br>
<a href="docs/cli/ai.md"><img src="https://www.connectonion.com/logos/ai.svg?v=3" width="80" height="80" alt="co ai" title="co ai · co ai"></a>
<a href="docs/claude-code-plugin.md"><img src="https://www.connectonion.com/logos/claude.svg?v=3" width="80" height="80" alt="Claude Code" title="Claude Code · co claude"></a>
<a href="docs/cli/skills.md"><img src="https://www.connectonion.com/logos/codex.svg?v=3" width="80" height="80" alt="Codex" title="Codex · co skills link"></a>
<a href="docs/cli/skills.md"><img src="https://www.connectonion.com/logos/skills.svg?v=3" width="80" height="80" alt="Your skills" title="Your skills · co skills"></a>
<a href="docs/cli/sub.md"><img src="https://www.connectonion.com/logos/sub.svg?v=3" width="80" height="80" alt="Shared skills" title="Shared skills · co sub"></a>
<a href="docs/cli/README.md"><img src="https://www.connectonion.com/logos/eval.svg?v=3" width="80" height="80" alt="Evals" title="Evals · co eval"></a>
<a href="docs/cli/audit.md"><img src="https://www.connectonion.com/logos/audit.svg?v=3" width="80" height="80" alt="CLI audit" title="CLI audit · co audit"></a>
<a href="docs/cli/skills.md"><img src="https://www.connectonion.com/logos/cursor.svg?v=3" width="80" height="80" alt="Cursor" title="Cursor · co skills discover"></a>
<a href="docs/cli/skills.md"><img src="https://www.connectonion.com/logos/kiro.svg?v=3" width="80" height="80" alt="Kiro" title="Kiro · co skills discover"></a></p>

<p><b>Models</b><br>
<a href="docs/concepts/models.md"><img src="https://www.connectonion.com/logos/managed.svg?v=3" width="80" height="80" alt="Managed keys" title="Managed keys · co/… ($5 credit)"></a>
<a href="docs/concepts/models.md"><img src="https://www.connectonion.com/logos/openai.svg?v=3" width="80" height="80" alt="OpenAI" title="OpenAI · gpt-…"></a>
<a href="docs/concepts/models.md"><img src="https://www.connectonion.com/logos/anthropic.svg?v=3" width="80" height="80" alt="Anthropic" title="Anthropic · claude-…"></a>
<a href="docs/concepts/models.md"><img src="https://www.connectonion.com/logos/gemini.svg?v=3" width="80" height="80" alt="Gemini" title="Gemini · gemini-…"></a>
<a href="docs/concepts/models.md"><img src="https://www.connectonion.com/logos/mistral.svg?v=3" width="80" height="80" alt="Mistral" title="Mistral · mistral/…"></a>
<a href="docs/concepts/models.md"><img src="https://www.connectonion.com/logos/groq.svg?v=3" width="80" height="80" alt="Groq" title="Groq · groq/…"></a>
<a href="docs/concepts/models.md"><img src="https://www.connectonion.com/logos/grok.svg?v=3" width="80" height="80" alt="Grok" title="Grok · grok/…"></a>
<a href="docs/concepts/models.md"><img src="https://www.connectonion.com/logos/openrouter.svg?v=3" width="80" height="80" alt="OpenRouter" title="OpenRouter · openrouter/…"></a>
<a href="docs/concepts/local-models.md"><img src="https://www.connectonion.com/logos/ollama.svg?v=3" width="80" height="80" alt="Ollama (local)" title="Ollama (local) · ollama/…"></a></p>

<p><b>Agents &amp; servers</b><br>
<a href="docs/cli/call.md"><img src="https://www.connectonion.com/logos/call.svg?v=3" width="80" height="80" alt="Remote agents" title="Remote agents · co call"></a>
<a href="docs/features/trust.md"><img src="https://www.connectonion.com/logos/trust.svg?v=3" width="80" height="80" alt="Trust" title="Trust · co trust"></a>
<a href="docs/cli/proxy.md"><img src="https://www.connectonion.com/logos/proxy.svg?v=3" width="80" height="80" alt="Your internet" title="Your internet · co proxy"></a>
<a href="docs/cli/server.md"><img src="https://www.connectonion.com/logos/server.svg?v=3" width="80" height="80" alt="Your servers" title="Your servers · co deploy --to"></a>
<a href="docs/cli/server.md"><img src="https://www.connectonion.com/logos/ssh.svg?v=3" width="80" height="80" alt="SSH" title="SSH · co server ssh"></a>
<a href="docs/cli/schedule.md"><img src="https://www.connectonion.com/logos/schedule.svg?v=3" width="80" height="80" alt="Schedules" title="Schedules · co schedule"></a></p>

<p><a href="docs/cli/README.md">Every command</a> · <code>co commands</code> lists them all.</p>
<!-- /connections -->

<a id="co-rem--your-agents-memory"></a>

## co rem — decentralized context flow

**Your context, connected and ready for the next task.** co rem connects
context from your mail and coding sessions in local, linked Markdown pages.
People, projects, skills and decisions stay connected to their sources, so
you and your agents can follow the evidence and reuse that context.

The context lives on your machine, where your tools and agents can read it.
Memory keeps it available over time; the goal is to keep context flowing
through your work.

[**Explore co rem →**](https://docs.connectonion.com/rem) ·
[Try the sample reader](https://docs.connectonion.com/rem/demo) ·
[Setup and source controls](docs/cli/rem.md)

<a href="https://docs.connectonion.com/rem/demo">
  <picture>
    <source media="(max-width: 600px)" srcset="docs/assets/rem-readme/reader-phone.png">
    <img src="docs/assets/rem-readme/reader-desktop.png" alt="co rem morning brief: one verified change overnight, one thing due soon, and the three most important open threads" width="960">
  </picture>
</a>

*The reader's morning brief with invented example data. The linked sample is a frozen
notebook you can explore without connecting an account.*

<details>
<summary>More of the reader: English and 中文, desktop and phone, light and dark</summary>

| | |
|---|---|
| <img src="docs/assets/rem-readme/tour-en-person-dark-desktop.png" alt="A person's page in dark mode: what is owed in each direction and the facts with their sources" width="480"> | <img src="docs/assets/rem-readme/tour-zh-home-desktop.png" alt="The morning brief with the Chinese interface and cached Chinese page text" width="480"> |
| <img src="docs/assets/rem-readme/tour-en-people-desktop.png" alt="The People table: one line per person with what is open, company and last contact" width="480"> | <img src="docs/assets/rem-readme/tour-en-open-phone-dark.png" alt="Open threads on a phone in dark mode, each with Copy prompt and Mark done" width="240"> <img src="docs/assets/rem-readme/tour-zh-person-phone.png" alt="A person's page on a phone in Chinese" width="240"> |

Captured with `python scripts/capture_rem_reader.py --readme docs/assets/rem-readme`.
</details>

- **Connect scattered context.** Bring mail and coding sessions into linked
  pages about the people, projects and skills involved.
- **Follow the evidence.** Trace facts, decisions and changes back to their
  sources, then carry that understanding into the next task.
- **Keep context in your hands.** Local Markdown pages can be read by you and
  your agents. An approved schedule keeps them current.

### Try co rem · 1.9.3

Start with [the setup guide](https://docs.connectonion.com/rem#start)
for account setup, source choices and model costs. Daily scheduling currently
requires **macOS**. Then run:

```bash
pip install --upgrade 'connectonion==1.9.3'
# build your map and first pages; approve nightly upkeep when prompted
co rem init
# read the local notebook
co rem open
```

Pages stay in `~/.co/rem`. Selected source content is sent to the configured
model during investigation; see [source controls and costs](docs/cli/rem.md).
For access from another device, `co rem open --live` opens your online
`co ai` Host at `https://chat.openonion.ai/<address>/rem`, for the Host owner only.

## Install and start

One line installs `co` and sets it up: your agent identity, an OpenOnion key
with starter credit, and the skills and command index that tell Codex and
Claude Code about `co`.

```bash
curl -fsSL https://raw.githubusercontent.com/openonion/connectonion/main/install.sh | sh
```

It uses [uv](https://docs.astral.sh/uv/) (installing it if needed) to keep `co`
out of your system Python, so you need no Python of your own. Then connect what
you use:

```bash
co auth google      # Gmail and Google Calendar
co auth microsoft   # Outlook
co commands         # everything else; add --help to any
```

<details>
<summary>With pip instead</summary>

```bash
# Python 3.11+
pip install connectonion
co init
```

</details>

The [Quick start guide](docs/quickstart.md) covers Google, the browser, chat
apps and project settings.

## Your tools, one command line

Use Gmail, Outlook, your browser, files and chat apps from the same `co`
command. Your agent discovers each tool through `--help` when it needs it.

<details>
<summary><strong>How the CLI works</strong></summary>

## CLI is all you need

An agent's work lives in many places: your inbox, your calendar, a chat
thread, a web page behind a login, a file on the NAS, an issue tracker, its own
notes, another agent. **ConnectOnion strings all of that context together with
one command line, `co`.** The agent reads a thread with one command, looks
something up with the next, and writes the answer with a third. Every step is
a line in its shell, and the output of one is the input of the next.

### Why a command line, and not MCP or a plugin per tool

- **Every agent already has one.** Claude Code, Codex, Cursor and any agent you
  write can run a shell command. There is no server to start, no client to
  configure and nothing to install into the agent.
- **It costs no context until it is used.** Tool schemas sit in an agent's
  prompt whether it needs them or not. A command line is discovered on demand:
  bare `co` lists the groups, `co gmail --help` explains one, and only the page
  the agent opens enters its context.
- **The help page is the prompt.** Each `--help` says what the command does,
  what it changes (Read-only, Sends, Changes, Deletes…) and gives a real
  example, so there is no separate skill file or schema to keep in step. CI
  fails any page that loses one of those parts ([`co audit`](docs/cli/audit.md)).
- **Every answer names the next step.** A list ends with how to open the first
  item, a missing login ends with `Next: co auth microsoft`, a typo ends with
  the command you meant. The agent recovers without asking you.
- **It composes.** Commands pipe into each other and into scripts, and the
  transcript is the same commands you would type, so you can read exactly what
  the agent did, and run it yourself.

```console
# every command group
$ co
# what it does, what it changes, an example
$ co linear --help
$ co linear issues -n 3
3 open issues
CON-3  Todo  No priority  -  2026-10-01  Import your data
CON-1  Todo  No priority  -  2026-10-01  Get familiar with Linear
CON-4  Todo  No priority  -  2026-10-01  Set up your teams
Next: co linear issue CON-3
```

### MCP becomes a command too

MCP servers are useful; the protocol is not the problem, the interface is.
**`co mcp`** (coming next, [#2048](https://github.com/openonion/connectonion/issues/2048))
puts any MCP server behind the same command line: `co mcp tools <server>`
lists its tools, `co mcp help <server> <tool>` renders a tool as a help page,
and `co mcp call` runs it. The agent finds MCP tools the way it finds
everything else, through `--help`, and none of them sit in its prompt.

Credentials stay on your machine, in `~/.co/keys.env` or encrypted with
`co env set … --secret`. Writes that matter preview until `--yes`, and in
`co ai` a risky tool call waits for your approval.


</details>

## See the CLI in action

[Watch the 43-second film](https://www.connectonion.com/#film) — real runs from co 1.8.10.

<details>
<summary><strong>See search, Linear, Slack, Canny and audit examples</strong></summary>

<picture>
  <source media="(prefers-reduced-motion: reduce) and (max-width: 600px)" srcset="https://www.connectonion.com/aha-search-mobile-poster.png">
  <source media="(prefers-reduced-motion: reduce)" srcset="https://www.connectonion.com/aha-search-poster.png">
  <source media="(max-width: 600px)" srcset="https://www.connectonion.com/aha-search-mobile.gif">
  <img alt="co search ConnectOnion printing an answer with its GitHub and website sources" src="https://www.connectonion.com/aha-search.gif">
</picture>

`co search ConnectOnion` answers from the web and cites its sources. The default
engine uses your own search key, then ConnectOnion credits;
`--engine ddg` is free.

<picture>
  <source media="(prefers-reduced-motion: reduce) and (max-width: 600px)" srcset="https://www.connectonion.com/demos/linear-mobile-poster.png?v=2">
  <source media="(prefers-reduced-motion: reduce)" srcset="https://www.connectonion.com/demos/linear-poster.png?v=2">
  <source media="(max-width: 600px)" srcset="https://www.connectonion.com/demos/linear-mobile.gif?v=2">
  <img alt="co linear issues listing three open issues, then co linear create previewing a new issue" src="https://www.connectonion.com/demos/linear.gif?v=2">
</picture>

List your Linear issues, then create one. The create shows a preview and changes nothing until `--yes`.

<picture>
  <source media="(prefers-reduced-motion: reduce) and (max-width: 600px)" srcset="https://www.connectonion.com/demos/slack-mobile-poster.png?v=2">
  <source media="(prefers-reduced-motion: reduce)" srcset="https://www.connectonion.com/demos/slack-poster.png?v=2">
  <source media="(max-width: 600px)" srcset="https://www.connectonion.com/demos/slack-mobile.gif?v=2">
  <img alt="co slack search finding a message, then co slack thread reading its replies" src="https://www.connectonion.com/demos/slack.gif?v=2">
</picture>

Search Slack, then read the whole thread. Each message carries the id that `co slack send --reply-to` takes.

<picture>
  <source media="(prefers-reduced-motion: reduce) and (max-width: 600px)" srcset="https://www.connectonion.com/demos/canny-mobile-poster.png?v=2">
  <source media="(prefers-reduced-motion: reduce)" srcset="https://www.connectonion.com/demos/canny-poster.png?v=2">
  <source media="(max-width: 600px)" srcset="https://www.connectonion.com/demos/canny-mobile.gif?v=2">
  <img alt="co canny posts ranked by votes, then co canny status previewing a move to planned" src="https://www.connectonion.com/demos/canny.gif?v=2">
</picture>

Your most-voted Canny requests, and a status change you preview before voters hear about it.

<picture>
  <source media="(prefers-reduced-motion: reduce) and (max-width: 600px)" srcset="https://www.connectonion.com/demos/audit-mobile-poster.png?v=2">
  <source media="(prefers-reduced-motion: reduce)" srcset="https://www.connectonion.com/demos/audit-poster.png?v=2">
  <source media="(max-width: 600px)" srcset="https://www.connectonion.com/demos/audit-mobile.gif?v=2">
  <img alt="co audit co linear scoring 13 help pages and reporting fit for an agent harness" src="https://www.connectonion.com/demos/audit.gif?v=2">
</picture>

`co audit` scores a CLI's help pages the way an agent reads them. CI runs it on every `co` page, and it works on any other CLI too.

</details>

## Use it from Claude Code, Codex or Cursor

Nothing to install into them: ask your coding agent to "use `co` to check my
Outlook inbox" and it reads `co commands` and `co outlook --help` before it
acts. `co skills link` also links ConnectOnion's skills into Claude Code and
Codex ([`co skills`](docs/cli/skills.md)).

ConnectOnion is also a Python framework for building your own agents on the
same harness; see the [documentation](https://docs.connectonion.com).

### Hand a session to someone · 1.9.2

Say "hand this to Bob" in Codex or Claude Code. You see exactly what would
leave your machine, with private sentences already taken out by your own agent;
Bob pastes one line into his agent, which picks up where yours stopped and sends
the result back as a patch. Neither side gets more than the handoff. See
[openonion/handoff](https://github.com/openonion/handoff) and
[the guide](docs/cli/handoff.md).

### REM does the work · 1.9.3

Overnight, co rem reads your new mail, drafts the replies you owe and runs the
tasks you approved. In the morning every unfinished item in the reader has
"Hand to Codex", "Hand to Claude" and "Talk it over": your own agent does the
work while you watch the row, Stop and Undo stay one click away, and the result
opens in place. Replies to people you trust can go on their own through a
10-minute hold. See [the 1.9.3 notes](docs/releases/1.9.3.md).

## Project

**Stable 1.9.3** is what `pip install connectonion` installs; previews
remain opt-in ([release channels](docs/releases.md),
[release notes](https://github.com/openonion/connectonion/releases)).
Questions go to [Discussions](https://github.com/openonion/connectonion/discussions)
or the Discord linked above, bugs to [Issues](https://github.com/openonion/connectonion/issues).
[Contributing](CONTRIBUTING.md) · [Code of Conduct](CODE_OF_CONDUCT.md) ·
[Security](SECURITY.md) (report vulnerabilities privately) ·
[Apache-2.0](LICENSE).
历史前置条件说明(补充参考)

需 macOS/Linux 类 shell 环境(README 未说明 Windows 支持,待核验);一键脚本依赖 uv 与网络下载 install.sh;pip 方式需 Python 3.11+;需授权对应 SaaS 账号(Google、Microsoft 等);模型需自有 API Key 或使用 OpenOnion key,额度与费用待核验;co rem 每日定时维护需 macOS;在线 Host 与第三方模型服务的访问与合规情况待核验。

项目来源与清单版权许可

https://github.com/openonion/connectonion

整理来源:https://github.com/slavakurilyak/awesome-ai-agents

清单版权与许可:

MIT License

Copyright (c) 2024 Slava Kurilyak

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.