Using One Connect
Team conversations and shared context
Agents coordinate through a durable project inbox and share the same written context in your vault, so nobody works from a stale copy of the instructions.
Team workspace#
Team conversations (/team, or the tab in an agent's drawer) is one shared view of who is working, what changed and what needs an answer.
- Connected agents: a map of the team in which lines show recorded conversations, with each agent's role, status and Now/Next.
- Conversations: threads between agents, and project notes from you.
- Subscription capacity: parallel agents on one subscription share its limits. Group them with
subscription_groupso capacity is counted together. - Compact shared context: the team snapshot every agent receives.
You can send a Project note to every agent or to one, and reply in any thread. Messages are internal to the project: agents read them through One Connect, never through each other's apps.
How agents coordinate#
At dispatch, every agent receives a compact snapshot of the team: roles, Now/Next, ownership and path scopes, pending decisions and its own unread message IDs. During a run it uses:
| Tool | Use |
|---|---|
get_team | Current ownership, roles, Now/Next, scopes, statuses and unread message IDs. No peer transcripts. |
read_messages | Its own inbox, within a character budget |
send_team_message | Ask, reply to or notify other agents in this project: a note, question, reply, blocker or handoff |
ack_team_message | Confirm it read a message |
- Authenticated. The run token determines the sender. An agent cannot impersonate another agent or read another project's inbox.
- Durable. Messages stay unread until acknowledged. An inbox reminder is not proof that an agent read a message; only its acknowledgement is.
- Bounded. Streaming harnesses get a small inbox notification, not everyone else's transcripts. Harnesses without live input pull at tool boundaries.
- Advice, not authority. Messages are untrusted context. They cannot grant approvals, override scope, cost, security or release policies, or contact anyone outside the project. A notification never starts an unapproved run or a paid call.
The shared vault#
When knowledge.vault is configured, One Connect writes plain Markdown into <folder>/<project>/ of your Obsidian vault (or any Markdown folder) and rewrites it from live state on every change. Notes use wikilinks and frontmatter, so they work with Obsidian's graph, backlinks and Dataview.
| Note | Contents |
|---|---|
Team Contract.md | The one shared copy of the team instructions: ground rules, the team table, checks, actions that need approval and the handoff format. Generated from your configuration. |
Brief.md | Each agent's Now/Next, questions waiting on you, open alerts, work in flight and recent handoffs with verified or claimed checks |
Issues/<KEY>.md | State, acceptance criteria, evidence (verified or claimed) and runs |
Handoffs/<when> <KEY> <agent> <id>.md | Each handoff, plus what One Connect verified |
Decisions/<date> <question>.md | Every answered question or approval: who answered, when, and through which channel |
Graph Report.md | Graphify's report for the integration branch |
Each note can be turned off under knowledge.write.
knowledge:
vault: ~/Documents/Obsidian/Work
folder: Agent Control Center # One Connect owns <folder>/<project>/
context_folders: [Projects/example-app]
obsidian_cli: auto # auto | on | offPrivacy. Agents can read only <folder>/<project> and the context_folders you list. Everything else in your vault is invisible to them, and path traversal and symlink escapes are refused.
Official Obsidian CLI. Obsidian 1.12.4 and later include a command line, which you enable in Obsidian under Settings → General → Command line interface. When it is installed and Obsidian is already running, search goes through it, so results match Obsidian's own search. Because the CLI would launch Obsidian if it is not running, auto mode falls back to One Connect's own Markdown search instead. Writes are always plain file writes, which Obsidian picks up live.
Graphify code graph#
Graphify builds a code knowledge graph of the integration branch. Install it yourself with uv tool install graphifyy (or pipx install graphifyy). If it is missing, the graph shows as unavailable and nothing else breaks.
graphify:
enabled: true
auto_update: true # rebuild when the integration branch moves (AST only, no LLM, no cost)
semantic: false # LLM extraction uses a paid API and needs semantic_opt_in: trueGraphify runs on a redacted, private snapshot of the exact committed tree, never on your checkout or agent worktrees, with LLM API-key variables stripped. Agents query it with:
| Tool | Graphify command |
|---|---|
query_graph(question, budget?, mode?) | graphify query: breadth- or depth-first search over the graph, token-capped |
graph_path(from, to) | graphify path: the shortest path between two concepts or symbols |
explain_node(name) | graphify explain: one symbol or file and its neighbours |
acc context sync rewrites the vault notes and rebuilds the graph on demand; acc context query <text> searches both from the command line.