connectonion 0.6.2__py3-none-any.whl → 0.6.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- connectonion/__init__.py +46 -9
- connectonion/cli/__init__.py +11 -1
- connectonion/cli/browser_agent/__init__.py +11 -1
- connectonion/cli/browser_agent/browser.py +13 -3
- connectonion/cli/browser_agent/element_finder.py +8 -0
- connectonion/cli/browser_agent/highlight_screenshot.py +9 -1
- connectonion/cli/browser_agent/scroll.py +8 -0
- connectonion/cli/co_ai/__init__.py +6 -0
- connectonion/cli/co_ai/agent.py +87 -0
- connectonion/cli/co_ai/agents/__init__.py +5 -0
- connectonion/cli/co_ai/agents/registry.py +57 -0
- connectonion/cli/co_ai/commands/__init__.py +45 -0
- connectonion/cli/co_ai/commands/compact.py +173 -0
- connectonion/cli/co_ai/commands/cost.py +77 -0
- connectonion/cli/co_ai/commands/export.py +60 -0
- connectonion/cli/co_ai/commands/help.py +80 -0
- connectonion/cli/co_ai/commands/init.py +101 -0
- connectonion/cli/co_ai/commands/sessions.py +55 -0
- connectonion/cli/co_ai/commands/tasks.py +63 -0
- connectonion/cli/co_ai/commands/undo.py +103 -0
- connectonion/cli/co_ai/context.py +127 -0
- connectonion/cli/co_ai/main.py +52 -0
- connectonion/cli/co_ai/plugins/__init__.py +6 -0
- connectonion/cli/co_ai/plugins/reminder.py +76 -0
- connectonion/cli/co_ai/plugins/shell_approval.py +105 -0
- connectonion/cli/co_ai/prompts/agents/explore.md +79 -0
- connectonion/cli/co_ai/prompts/agents/plan.md +60 -0
- connectonion/cli/co_ai/prompts/assembler.py +303 -0
- connectonion/cli/{docs/co-vibecoding-principles-docs-contexts-all-in-one.md → co_ai/prompts/connectonion/README.md} +26 -0
- connectonion/cli/co_ai/prompts/connectonion/api.md +457 -0
- connectonion/cli/co_ai/prompts/connectonion/cli/README.md +805 -0
- connectonion/cli/co_ai/prompts/connectonion/cli/auth.md +46 -0
- connectonion/cli/co_ai/prompts/connectonion/cli/browser.md +235 -0
- connectonion/cli/co_ai/prompts/connectonion/cli/copy.md +184 -0
- connectonion/cli/co_ai/prompts/connectonion/cli/create.md +335 -0
- connectonion/cli/co_ai/prompts/connectonion/cli/init.md +431 -0
- connectonion/cli/co_ai/prompts/connectonion/co-directory-structure.md +214 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/agent.md +1078 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/events.md +816 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/llm_do.md +256 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/max_iterations.md +362 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/models.md +641 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/plugins.md +100 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/prompts.md +122 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/tools.md +512 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/transcribe.md +156 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/trust.md +291 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/README.md +18 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/auto_debug.md +1026 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/console.md +129 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/eval-format.md +178 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/eval.md +230 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/exceptions.md +307 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/log.md +117 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/xray.md +215 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/001-choosing-input-method.md +202 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/002-choosing-llm-function-name.md +202 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/003-choosing-trust-keyword.md +141 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/004-cli-create-flow.md +117 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/005-designing-agent-network-protocol.md +503 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/006-agent-address-format.md +305 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/007-authentication-backend-design.md +240 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/008-naming-is-hard.md +228 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/009-why-connect-function.md +167 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/010-cli-ux-progressive-disclosure.md +176 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/011-global-config-identity-management.md +357 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/012-tool-execution-separation.md +259 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/013-debug-and-logging-design.md +253 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/014-hook-system-design.md +510 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/015-interactive-auto-debug-design.md +837 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/016-why-no-zero-knowledge-proofs.md +358 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/017-session-logging-and-eval-format.md +120 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/018-event-api-naming.md +274 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/019-agent-lifecycle-design.md +655 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/020-trust-system-and-network-architecture.md +503 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/021-task-storage-jsonl-design.md +496 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/022-raw-asgi-implementation.md +273 -0
- connectonion/cli/co_ai/prompts/connectonion/examples/agent_reasoning.md +62 -0
- connectonion/cli/co_ai/prompts/connectonion/examples/atomic_tools.md +24 -0
- connectonion/cli/co_ai/prompts/connectonion/examples/load_guide.md +18 -0
- connectonion/cli/co_ai/prompts/connectonion/examples.md +0 -0
- connectonion/cli/co_ai/prompts/connectonion/hook-system-options.md +364 -0
- connectonion/cli/co_ai/prompts/connectonion/index.md +162 -0
- connectonion/cli/co_ai/prompts/connectonion/integrations/README.md +12 -0
- connectonion/cli/co_ai/prompts/connectonion/integrations/auth.md +450 -0
- connectonion/cli/co_ai/prompts/connectonion/integrations/google.md +431 -0
- connectonion/cli/co_ai/prompts/connectonion/integrations/microsoft.md +370 -0
- connectonion/cli/co_ai/prompts/connectonion/network/README.md +14 -0
- connectonion/cli/co_ai/prompts/connectonion/network/connect.md +543 -0
- connectonion/cli/co_ai/prompts/connectonion/network/connection.md +538 -0
- connectonion/cli/co_ai/prompts/connectonion/network/deploy.md +123 -0
- connectonion/cli/co_ai/prompts/connectonion/network/host.md +1049 -0
- connectonion/cli/co_ai/prompts/connectonion/network/protocol/agent-relay-protocol.md +495 -0
- connectonion/cli/co_ai/prompts/connectonion/network/protocol/announce-message.md +115 -0
- connectonion/cli/co_ai/prompts/connectonion/principles.md +124 -0
- connectonion/cli/co_ai/prompts/connectonion/quickstart.md +261 -0
- connectonion/cli/co_ai/prompts/connectonion/roadmap.md +81 -0
- connectonion/cli/co_ai/prompts/connectonion/templates/README.md +77 -0
- connectonion/cli/co_ai/prompts/connectonion/templates/meta-agent.md +152 -0
- connectonion/cli/co_ai/prompts/connectonion/templates/minimal.md +105 -0
- connectonion/cli/co_ai/prompts/connectonion/templates/playwright.md +130 -0
- connectonion/cli/co_ai/prompts/connectonion/templates/web-research.md +144 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/README.md +95 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/chat.md +181 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/divider.md +63 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/dropdown.md +83 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/footer.md +44 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/fuzzy.md +68 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/input.md +84 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/keys.md +77 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/pick.md +71 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/providers.md +89 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/status_bar.md +67 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_plugins/README.md +156 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_plugins/calendar_plugin.md +68 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_plugins/eval.md +89 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_plugins/gmail_plugin.md +68 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_plugins/image_result_formatter.md +74 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_plugins/re_act.md +86 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_plugins/shell_approval.md +69 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/README.md +81 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/diff_writer.md +138 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/get_emails.md +499 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/gmail.md +135 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/google_calendar.md +106 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/memory.md +486 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/microsoft_calendar.md +106 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/outlook.md +120 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/send_email.md +403 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/shell.md +95 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/slash_command.md +96 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/terminal.md +97 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/todo_list.md +252 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/web_fetch.md +130 -0
- connectonion/cli/co_ai/prompts/connectonion/vibe-coding-guide.md +97 -0
- connectonion/cli/co_ai/prompts/connectonion/windows-support.md +258 -0
- connectonion/cli/co_ai/prompts/main.md +247 -0
- connectonion/cli/co_ai/prompts/reminders/plan_mode.md +34 -0
- connectonion/cli/co_ai/prompts/summarization.md +55 -0
- connectonion/cli/co_ai/prompts/tools/ask_user.md +61 -0
- connectonion/cli/co_ai/prompts/tools/background.md +57 -0
- connectonion/cli/co_ai/prompts/tools/edit.md +90 -0
- connectonion/cli/co_ai/prompts/tools/glob.md +52 -0
- connectonion/cli/co_ai/prompts/tools/grep.md +55 -0
- connectonion/cli/co_ai/prompts/tools/plan_mode.md +80 -0
- connectonion/cli/co_ai/prompts/tools/read.md +40 -0
- connectonion/cli/co_ai/prompts/tools/shell.md +67 -0
- connectonion/cli/co_ai/prompts/tools/task.md +51 -0
- connectonion/cli/co_ai/prompts/tools/todo.md +139 -0
- connectonion/cli/co_ai/prompts/tools/write.md +47 -0
- connectonion/cli/co_ai/prompts/workflow.md +89 -0
- connectonion/cli/co_ai/reminders.py +159 -0
- connectonion/cli/co_ai/sessions.py +110 -0
- connectonion/cli/co_ai/skills/__init__.py +37 -0
- connectonion/cli/co_ai/skills/builtin/commit/SKILL.md +63 -0
- connectonion/cli/co_ai/skills/builtin/review-pr/SKILL.md +76 -0
- connectonion/cli/co_ai/skills/loader.py +166 -0
- connectonion/cli/co_ai/skills/tool.py +46 -0
- connectonion/cli/co_ai/tools/__init__.py +92 -0
- connectonion/cli/co_ai/tools/ask_user.py +35 -0
- connectonion/cli/co_ai/tools/background.py +201 -0
- connectonion/cli/co_ai/tools/diff_writer.py +291 -0
- connectonion/cli/co_ai/tools/edit.py +89 -0
- connectonion/cli/co_ai/tools/glob.py +84 -0
- connectonion/cli/co_ai/tools/grep.py +158 -0
- connectonion/cli/co_ai/tools/load_guide.py +23 -0
- connectonion/cli/co_ai/tools/multi_edit.py +116 -0
- connectonion/cli/co_ai/tools/plan_mode.py +172 -0
- connectonion/cli/co_ai/tools/read.py +67 -0
- connectonion/cli/co_ai/tools/task.py +59 -0
- connectonion/cli/co_ai/tools/todo_list.py +159 -0
- connectonion/cli/co_ai/tools/write.py +126 -0
- connectonion/cli/commands/__init__.py +11 -1
- connectonion/cli/commands/ai_commands.py +34 -0
- connectonion/cli/commands/copy_commands.py +55 -6
- connectonion/cli/commands/create.py +20 -17
- connectonion/cli/commands/init.py +19 -22
- connectonion/cli/commands/project_cmd_lib.py +15 -0
- connectonion/cli/main.py +11 -0
- connectonion/console.py +15 -1
- connectonion/core/__init__.py +10 -1
- connectonion/core/agent.py +37 -16
- connectonion/core/exceptions.py +74 -0
- connectonion/core/llm.py +54 -6
- connectonion/core/tool_executor.py +32 -31
- connectonion/core/tool_factory.py +47 -10
- connectonion/debug/__init__.py +10 -1
- connectonion/debug/debug_explainer/__init__.py +10 -1
- connectonion/debug/execution_analyzer/__init__.py +10 -1
- connectonion/debug/execution_analyzer/execution_analysis.py +5 -2
- connectonion/debug/runtime_inspector/__init__.py +10 -1
- connectonion/docs/.package-ignore +6 -0
- connectonion/docs/README.md +2036 -0
- connectonion/docs/api.md +457 -0
- connectonion/docs/archive/001-ai-agent-is-just-prompt-plus-function.md +249 -0
- connectonion/docs/archive/README.md +53 -0
- connectonion/docs/archive/archive/consolidation-plan.md +72 -0
- connectonion/docs/archive/archive/core-principles-extracted.md +239 -0
- connectonion/docs/archive/archive/master-principles.md +222 -0
- connectonion/docs/archive/archive/principles.md +293 -0
- connectonion/docs/archive/archive/simplicity-principles.md +221 -0
- connectonion/docs/archive/attack-defense-insights.md +410 -0
- connectonion/docs/archive/business-model.md +305 -0
- connectonion/docs/archive/core-principles-unified.md +190 -0
- connectonion/docs/archive/discussion-journey.md +178 -0
- connectonion/docs/archive/economic-analysis.md +323 -0
- connectonion/docs/archive/features/01-share-and-find.md +256 -0
- connectonion/docs/archive/features/02-agent-authentication.md +93 -0
- connectonion/docs/archive/features/03-test-before-trust.md +71 -0
- connectonion/docs/archive/features/06-reliability-and-offline.md +197 -0
- connectonion/docs/archive/features/README.md +46 -0
- connectonion/docs/archive/features-roadmap.md +247 -0
- connectonion/docs/archive/mcp-comparison-insights.md +215 -0
- connectonion/docs/archive/migration-strategy.md +571 -0
- connectonion/docs/archive/mini-whitepaper.md +293 -0
- connectonion/docs/archive/network-protocol.md +394 -0
- connectonion/docs/archive/semantic-revolution.md +367 -0
- connectonion/docs/archive/technical-architecture.md +453 -0
- connectonion/docs/archive/the-semantic-insight.md +207 -0
- connectonion/docs/archive/threat-model.md +164 -0
- connectonion/docs/cli/README.md +805 -0
- connectonion/docs/cli/auth.md +46 -0
- connectonion/docs/cli/browser.md +235 -0
- connectonion/docs/cli/copy.md +232 -0
- connectonion/docs/cli/create.md +335 -0
- connectonion/docs/cli/init.md +431 -0
- connectonion/docs/co-directory-structure.md +214 -0
- connectonion/docs/concepts/agent.md +1078 -0
- connectonion/docs/concepts/events.md +699 -0
- connectonion/docs/concepts/llm_do.md +256 -0
- connectonion/docs/concepts/max_iterations.md +362 -0
- connectonion/docs/concepts/models.md +641 -0
- connectonion/docs/concepts/plugins.md +100 -0
- connectonion/docs/concepts/prompts.md +122 -0
- connectonion/docs/concepts/session.md +428 -0
- connectonion/docs/concepts/tools.md +512 -0
- connectonion/docs/concepts/transcribe.md +156 -0
- connectonion/docs/concepts/trust.md +291 -0
- connectonion/docs/connectonion.md +1256 -0
- connectonion/docs/debug/README.md +18 -0
- connectonion/docs/debug/auto_debug.md +1026 -0
- connectonion/docs/debug/console.md +129 -0
- connectonion/docs/debug/eval-format.md +178 -0
- connectonion/docs/debug/eval.md +230 -0
- connectonion/docs/debug/exceptions.md +307 -0
- connectonion/docs/debug/log.md +117 -0
- connectonion/docs/debug/xray.md +215 -0
- connectonion/docs/design-decisions/001-choosing-input-method.md +202 -0
- connectonion/docs/design-decisions/002-choosing-llm-function-name.md +202 -0
- connectonion/docs/design-decisions/003-choosing-trust-keyword.md +141 -0
- connectonion/docs/design-decisions/004-cli-create-flow.md +117 -0
- connectonion/docs/design-decisions/005-designing-agent-network-protocol.md +503 -0
- connectonion/docs/design-decisions/006-agent-address-format.md +305 -0
- connectonion/docs/design-decisions/007-authentication-backend-design.md +240 -0
- connectonion/docs/design-decisions/008-naming-is-hard.md +228 -0
- connectonion/docs/design-decisions/009-why-connect-function.md +167 -0
- connectonion/docs/design-decisions/010-cli-ux-progressive-disclosure.md +176 -0
- connectonion/docs/design-decisions/011-global-config-identity-management.md +357 -0
- connectonion/docs/design-decisions/012-tool-execution-separation.md +259 -0
- connectonion/docs/design-decisions/013-debug-and-logging-design.md +253 -0
- connectonion/docs/design-decisions/014-hook-system-design.md +510 -0
- connectonion/docs/design-decisions/015-interactive-auto-debug-design.md +837 -0
- connectonion/docs/design-decisions/016-why-no-zero-knowledge-proofs.md +358 -0
- connectonion/docs/design-decisions/017-session-logging-and-eval-format.md +120 -0
- connectonion/docs/design-decisions/018-event-api-naming.md +274 -0
- connectonion/docs/design-decisions/019-agent-lifecycle-design.md +655 -0
- connectonion/docs/design-decisions/020-trust-system-and-network-architecture.md +503 -0
- connectonion/docs/design-decisions/021-task-storage-jsonl-design.md +496 -0
- connectonion/docs/design-decisions/022-raw-asgi-implementation.md +273 -0
- connectonion/docs/examples.md +0 -0
- connectonion/docs/hook-system-options.md +364 -0
- connectonion/docs/integrations/README.md +12 -0
- connectonion/docs/integrations/auth.md +450 -0
- connectonion/docs/integrations/google.md +431 -0
- connectonion/docs/integrations/microsoft.md +370 -0
- connectonion/docs/network/README.md +14 -0
- connectonion/docs/network/connect.md +629 -0
- connectonion/docs/network/deploy.md +124 -0
- connectonion/docs/network/host.md +1087 -0
- connectonion/docs/network/io.md +538 -0
- connectonion/docs/network/protocol/agent-relay-protocol.md +495 -0
- connectonion/docs/network/protocol/announce-message.md +115 -0
- connectonion/docs/principles.md +124 -0
- connectonion/docs/quickstart.md +261 -0
- connectonion/docs/roadmap.md +81 -0
- connectonion/docs/templates/README.md +77 -0
- connectonion/docs/templates/meta-agent.md +152 -0
- connectonion/docs/templates/minimal.md +105 -0
- connectonion/docs/templates/playwright.md +130 -0
- connectonion/docs/templates/web-research.md +144 -0
- connectonion/docs/tui/README.md +95 -0
- connectonion/docs/tui/chat.md +181 -0
- connectonion/docs/tui/divider.md +63 -0
- connectonion/docs/tui/dropdown.md +83 -0
- connectonion/docs/tui/footer.md +44 -0
- connectonion/docs/tui/fuzzy.md +68 -0
- connectonion/docs/tui/input.md +84 -0
- connectonion/docs/tui/keys.md +77 -0
- connectonion/docs/tui/pick.md +71 -0
- connectonion/docs/tui/providers.md +89 -0
- connectonion/docs/tui/status_bar.md +67 -0
- connectonion/docs/useful_plugins/README.md +160 -0
- connectonion/docs/useful_plugins/calendar_plugin.md +68 -0
- connectonion/docs/useful_plugins/eval.md +89 -0
- connectonion/docs/useful_plugins/gmail_plugin.md +68 -0
- connectonion/docs/useful_plugins/image_result_formatter.md +74 -0
- connectonion/docs/useful_plugins/re_act.md +86 -0
- connectonion/docs/useful_plugins/shell_approval.md +69 -0
- connectonion/docs/useful_plugins/system_reminder.md +210 -0
- connectonion/docs/useful_prompts/README.md +127 -0
- connectonion/docs/useful_prompts/coding_agent.md +214 -0
- connectonion/docs/useful_tools/README.md +81 -0
- connectonion/docs/useful_tools/ask_user.md +103 -0
- connectonion/docs/useful_tools/diff_writer.md +158 -0
- connectonion/docs/useful_tools/get_emails.md +519 -0
- connectonion/docs/useful_tools/gmail.md +155 -0
- connectonion/docs/useful_tools/google_calendar.md +126 -0
- connectonion/docs/useful_tools/memory.md +506 -0
- connectonion/docs/useful_tools/microsoft_calendar.md +126 -0
- connectonion/docs/useful_tools/outlook.md +140 -0
- connectonion/docs/useful_tools/send_email.md +423 -0
- connectonion/docs/useful_tools/shell.md +115 -0
- connectonion/docs/useful_tools/slash_command.md +116 -0
- connectonion/docs/useful_tools/terminal.md +115 -0
- connectonion/docs/useful_tools/todo_list.md +272 -0
- connectonion/docs/useful_tools/web_fetch.md +150 -0
- connectonion/docs/vibe-coding-guide.md +97 -0
- connectonion/docs/windows-support.md +258 -0
- connectonion/logger.py +3 -3
- connectonion/network/__init__.py +19 -6
- connectonion/network/asgi/__init__.py +81 -0
- connectonion/network/asgi/http.py +205 -0
- connectonion/network/asgi/websocket.py +217 -0
- connectonion/network/connect.py +232 -185
- connectonion/network/host/__init__.py +59 -0
- connectonion/network/host/auth.py +191 -0
- connectonion/network/host/routes.py +135 -0
- connectonion/network/host/server.py +289 -0
- connectonion/network/host/session.py +78 -0
- connectonion/network/io/__init__.py +21 -0
- connectonion/network/{connection.py → io/base.py} +17 -42
- connectonion/network/io/websocket.py +55 -0
- connectonion/network/relay.py +37 -16
- connectonion/network/trust/__init__.py +30 -0
- connectonion/network/trust/factory.py +138 -0
- connectonion/network/{trust_agents.py → trust/prompts.py} +3 -3
- connectonion/network/{trust_functions.py → trust/tools.py} +2 -2
- connectonion/prompt_files/__init__.py +11 -1
- connectonion/prompt_files/react_acknowledge.md +26 -0
- connectonion/prompts.py +10 -1
- connectonion/tui/chat.py +10 -1
- connectonion/tui/divider.py +10 -1
- connectonion/tui/dropdown.py +10 -1
- connectonion/tui/footer.py +8 -0
- connectonion/tui/fuzzy.py +11 -1
- connectonion/tui/input.py +118 -70
- connectonion/tui/keys.py +133 -6
- connectonion/tui/providers.py +11 -1
- connectonion/tui/status_bar.py +10 -1
- connectonion/useful_events_handlers/__init__.py +8 -0
- connectonion/useful_events_handlers/reflect.py +19 -4
- connectonion/useful_plugins/__init__.py +2 -1
- connectonion/useful_plugins/eval.py +2 -2
- connectonion/useful_plugins/gmail_plugin.py +3 -3
- connectonion/useful_plugins/image_result_formatter.py +3 -3
- connectonion/useful_plugins/re_act.py +114 -28
- connectonion/useful_plugins/shell_approval.py +2 -2
- connectonion/useful_plugins/system_reminder.py +103 -0
- connectonion/useful_plugins/ui_stream.py +18 -133
- connectonion/useful_prompts/README.md +61 -0
- connectonion/useful_prompts/__init__.py +45 -0
- connectonion/useful_prompts/coding_agent/README.md +106 -0
- connectonion/useful_prompts/coding_agent/assembler.py +123 -0
- connectonion/useful_prompts/coding_agent/prompts/main.md +227 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/ask_user.md +61 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/background.md +57 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/edit.md +90 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/glob.md +52 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/grep.md +55 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/plan_mode.md +80 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/read.md +40 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/shell.md +67 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/task.md +51 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/todo.md +139 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/write.md +48 -0
- connectonion/useful_prompts/system-reminders/security-warning.md +14 -0
- connectonion/useful_prompts/system-reminders/test-reminder.md +11 -0
- connectonion/useful_tools/__init__.py +31 -4
- connectonion/useful_tools/ask_user.py +35 -0
- connectonion/useful_tools/bash.py +69 -0
- connectonion/useful_tools/diff_writer.py +186 -94
- connectonion/useful_tools/edit.py +102 -0
- connectonion/useful_tools/glob_files.py +97 -0
- connectonion/useful_tools/grep_files.py +171 -0
- connectonion/useful_tools/multi_edit.py +116 -0
- connectonion/useful_tools/read_file.py +73 -0
- connectonion/useful_tools/shell.py +50 -45
- connectonion/useful_tools/write_file.py +129 -0
- {connectonion-0.6.2.dist-info → connectonion-0.6.3.dist-info}/METADATA +10 -3
- connectonion-0.6.3.dist-info/RECORD +469 -0
- connectonion/network/asgi.py +0 -407
- connectonion/network/host.py +0 -616
- connectonion/network/trust.py +0 -166
- connectonion-0.6.2.dist-info/RECORD +0 -129
- /connectonion/cli/{docs → co_ai/prompts/connectonion}/connectonion.md +0 -0
- {connectonion-0.6.2.dist-info → connectonion-0.6.3.dist-info}/WHEEL +0 -0
- {connectonion-0.6.2.dist-info → connectonion-0.6.3.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,805 @@
|
|
|
1
|
+
# ConnectOnion CLI
|
|
2
|
+
|
|
3
|
+
The `co` command-line interface lets you create production-ready AI agent projects in seconds.
|
|
4
|
+
|
|
5
|
+
## The Problem
|
|
6
|
+
|
|
7
|
+
Setting up AI agent projects is tedious:
|
|
8
|
+
- Manual `.env` file configuration
|
|
9
|
+
- Copy-pasting boilerplate code
|
|
10
|
+
- Setting up authentication and API keys
|
|
11
|
+
- Managing cryptographic identity
|
|
12
|
+
- Inconsistent project structure
|
|
13
|
+
|
|
14
|
+
## The Solution
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
co create my-agent
|
|
18
|
+
cd my-agent
|
|
19
|
+
python agent.py
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Done. You now have a complete, working AI agent.
|
|
23
|
+
|
|
24
|
+
## Quick Start (60 seconds)
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Install
|
|
28
|
+
pip install connectonion
|
|
29
|
+
|
|
30
|
+
# Create agent
|
|
31
|
+
co create my-agent
|
|
32
|
+
|
|
33
|
+
# Run it
|
|
34
|
+
cd my-agent
|
|
35
|
+
python agent.py
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The CLI automatically:
|
|
39
|
+
1. Creates your global identity (`~/.co/`)
|
|
40
|
+
2. Guides you through API key setup
|
|
41
|
+
3. Generates complete project structure
|
|
42
|
+
4. Authenticates for managed keys (free credits)
|
|
43
|
+
|
|
44
|
+
## All Commands
|
|
45
|
+
|
|
46
|
+
### Project Commands
|
|
47
|
+
|
|
48
|
+
#### `co create [name]` - Create New Project
|
|
49
|
+
|
|
50
|
+
Creates a new directory with complete agent project.
|
|
51
|
+
|
|
52
|
+
**Basic usage:**
|
|
53
|
+
```bash
|
|
54
|
+
co create my-agent # Interactive
|
|
55
|
+
co create my-agent --yes # Skip prompts
|
|
56
|
+
co create my-agent -t playwright # Specify template
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Options:**
|
|
60
|
+
- `[name]` - Project name (creates directory)
|
|
61
|
+
- `--template, -t` - Template: `minimal` (default), `playwright`, `custom`
|
|
62
|
+
- `--key` - API key (auto-detects provider)
|
|
63
|
+
- `--description` - For custom templates
|
|
64
|
+
- `--yes, -y` - Skip all prompts
|
|
65
|
+
- `--ai/--no-ai` - Enable/disable AI (enabled by default)
|
|
66
|
+
|
|
67
|
+
**Templates:**
|
|
68
|
+
- **minimal** - Basic agent with simple tools
|
|
69
|
+
- **playwright** - Browser automation
|
|
70
|
+
- **custom** - AI-generated from description
|
|
71
|
+
|
|
72
|
+
**Examples:**
|
|
73
|
+
```bash
|
|
74
|
+
# Simple
|
|
75
|
+
co create my-agent
|
|
76
|
+
|
|
77
|
+
# With template
|
|
78
|
+
co create scraper -t playwright
|
|
79
|
+
|
|
80
|
+
# Custom AI-generated
|
|
81
|
+
co create email-bot -t custom --description "Monitor Gmail and respond to urgent emails"
|
|
82
|
+
|
|
83
|
+
# Non-interactive
|
|
84
|
+
co create quick-agent --yes
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**What it creates:**
|
|
88
|
+
```
|
|
89
|
+
my-agent/
|
|
90
|
+
├── agent.py # Main agent
|
|
91
|
+
├── .env # API keys (from ~/.co/keys.env)
|
|
92
|
+
├── .co/
|
|
93
|
+
│ ├── config.toml # Project config
|
|
94
|
+
│ └── docs/ # Framework docs
|
|
95
|
+
├── co-vibecoding-principles-docs-contexts-all-in-one.md
|
|
96
|
+
└── .gitignore # Safe defaults
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
#### `co init` - Add to Existing Directory
|
|
102
|
+
|
|
103
|
+
Adds ConnectOnion to existing project safely.
|
|
104
|
+
|
|
105
|
+
**Basic usage:**
|
|
106
|
+
```bash
|
|
107
|
+
cd my-existing-project
|
|
108
|
+
co init # Safe - preserves existing files
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**What it does:**
|
|
112
|
+
- ✅ **Preserves** existing files and `.env`
|
|
113
|
+
- ✅ **Appends** only missing API keys
|
|
114
|
+
- ✅ **Updates** `.co/docs/` to latest
|
|
115
|
+
- ✅ **Skips** existing files (like `agent.py`)
|
|
116
|
+
|
|
117
|
+
**Options:**
|
|
118
|
+
Same as `co create` (except no `[name]` parameter).
|
|
119
|
+
|
|
120
|
+
**Examples:**
|
|
121
|
+
```bash
|
|
122
|
+
# Add to existing project
|
|
123
|
+
cd my-django-app
|
|
124
|
+
co init
|
|
125
|
+
|
|
126
|
+
# With template
|
|
127
|
+
co init --template playwright
|
|
128
|
+
|
|
129
|
+
# Update docs only
|
|
130
|
+
co init # Refreshes .co/docs/ to latest version
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Safe for existing projects:**
|
|
134
|
+
```bash
|
|
135
|
+
# Your existing .env
|
|
136
|
+
DATABASE_URL=postgres://localhost/mydb
|
|
137
|
+
SECRET_KEY=mysecret
|
|
138
|
+
|
|
139
|
+
# After co init - preserved and appended
|
|
140
|
+
DATABASE_URL=postgres://localhost/mydb # ← kept
|
|
141
|
+
SECRET_KEY=mysecret # ← kept
|
|
142
|
+
|
|
143
|
+
# ConnectOnion API Keys # ← appended
|
|
144
|
+
OPENAI_API_KEY=sk-proj-xxx # ← added
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### Authentication & Account Commands
|
|
150
|
+
|
|
151
|
+
#### `co auth` - Authenticate for Managed Keys
|
|
152
|
+
|
|
153
|
+
One-time setup for managed LLM keys (free credits included).
|
|
154
|
+
|
|
155
|
+
**Basic usage:**
|
|
156
|
+
```bash
|
|
157
|
+
co auth
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**What it does:**
|
|
161
|
+
1. Signs message with your Ed25519 key
|
|
162
|
+
2. Authenticates with OpenOnion backend
|
|
163
|
+
3. Saves `OPENONION_API_KEY` to `~/.co/keys.env`
|
|
164
|
+
4. Activates your agent email
|
|
165
|
+
|
|
166
|
+
**Using managed keys:**
|
|
167
|
+
```python
|
|
168
|
+
from connectonion import llm_do
|
|
169
|
+
|
|
170
|
+
# Use co/ prefix
|
|
171
|
+
response = llm_do("Hello", model="co/gpt-4o")
|
|
172
|
+
response = llm_do("Hello", model="co/claude-3-5-sonnet")
|
|
173
|
+
response = llm_do("Hello", model="co/gemini-1.5-pro")
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**Available models:**
|
|
177
|
+
- OpenAI: `co/gpt-4o`, `co/gpt-4o-mini`, `co/o4-mini`
|
|
178
|
+
- Anthropic: `co/claude-3-5-sonnet`, `co/claude-3-5-haiku`
|
|
179
|
+
- Google: `co/gemini-1.5-pro`, `co/gemini-1.5-flash`
|
|
180
|
+
- And more...
|
|
181
|
+
|
|
182
|
+
**Benefits:**
|
|
183
|
+
- Free credits to start
|
|
184
|
+
- No separate API keys needed
|
|
185
|
+
- Unified billing
|
|
186
|
+
- Automatic rate limiting
|
|
187
|
+
|
|
188
|
+
**Example output:**
|
|
189
|
+
```bash
|
|
190
|
+
$ co auth
|
|
191
|
+
|
|
192
|
+
📂 Using global ConnectOnion keys (~/.co)
|
|
193
|
+
✓ Authenticated (Balance: $5.00)
|
|
194
|
+
✓ Saved to ~/.co/keys.env
|
|
195
|
+
✓ Saved to .env
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
#### `co status` - Check Account Balance
|
|
201
|
+
|
|
202
|
+
Shows your managed keys balance and usage.
|
|
203
|
+
|
|
204
|
+
**Basic usage:**
|
|
205
|
+
```bash
|
|
206
|
+
co status
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**Example output:**
|
|
210
|
+
```bash
|
|
211
|
+
$ co status
|
|
212
|
+
|
|
213
|
+
ConnectOnion Account Status
|
|
214
|
+
============================
|
|
215
|
+
|
|
216
|
+
Address: 0x7a9f3b2c8d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a
|
|
217
|
+
Email: 0x7a9f3b2c@mail.openonion.ai
|
|
218
|
+
Balance: $5.00
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**When to use:**
|
|
222
|
+
- Check remaining credits
|
|
223
|
+
- Verify authentication
|
|
224
|
+
- See account details
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
#### `co reset` - Reset Account
|
|
229
|
+
|
|
230
|
+
**⚠️ WARNING**: Destructive operation. Deletes all data and creates new account.
|
|
231
|
+
|
|
232
|
+
**Basic usage:**
|
|
233
|
+
```bash
|
|
234
|
+
co reset
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**What it does:**
|
|
238
|
+
- Deletes your account data
|
|
239
|
+
- Clears balance and usage history
|
|
240
|
+
- Creates new account with new keys
|
|
241
|
+
- Generates new address and email
|
|
242
|
+
|
|
243
|
+
**When to use:**
|
|
244
|
+
- Starting completely fresh
|
|
245
|
+
- Testing account creation
|
|
246
|
+
- Removing old identity
|
|
247
|
+
|
|
248
|
+
**Example:**
|
|
249
|
+
```bash
|
|
250
|
+
$ co reset
|
|
251
|
+
|
|
252
|
+
⚠️ WARNING: This will delete ALL your data
|
|
253
|
+
Including:
|
|
254
|
+
- Account balance
|
|
255
|
+
- Usage history
|
|
256
|
+
- Current identity
|
|
257
|
+
|
|
258
|
+
Continue? (y/N): y
|
|
259
|
+
|
|
260
|
+
✓ Account reset
|
|
261
|
+
✓ New identity created
|
|
262
|
+
✓ New address: 0x9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a1b0
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
### Utility Commands
|
|
268
|
+
|
|
269
|
+
#### `co doctor` - Diagnose Issues
|
|
270
|
+
|
|
271
|
+
Comprehensive diagnostics for your ConnectOnion installation.
|
|
272
|
+
|
|
273
|
+
**Basic usage:**
|
|
274
|
+
```bash
|
|
275
|
+
co doctor
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
**What it checks:**
|
|
279
|
+
- **System Info**
|
|
280
|
+
- ConnectOnion version
|
|
281
|
+
- Python version and path
|
|
282
|
+
- Virtual environment status
|
|
283
|
+
- Command location (`co` in PATH)
|
|
284
|
+
- Package installation path
|
|
285
|
+
|
|
286
|
+
- **Configuration**
|
|
287
|
+
- Config files (`.co/config.toml`)
|
|
288
|
+
- Keys directory (`.co/keys/`)
|
|
289
|
+
- API keys in `.env` files
|
|
290
|
+
- Agent identity
|
|
291
|
+
|
|
292
|
+
- **Connectivity**
|
|
293
|
+
- Backend reachability
|
|
294
|
+
- Authentication status
|
|
295
|
+
- Network connectivity
|
|
296
|
+
|
|
297
|
+
**Example output:**
|
|
298
|
+
```bash
|
|
299
|
+
$ co doctor
|
|
300
|
+
|
|
301
|
+
🔍 ConnectOnion Diagnostics
|
|
302
|
+
|
|
303
|
+
┌─ System ─────────────────────────────────┐
|
|
304
|
+
│ Version ✓ 0.0.7 │
|
|
305
|
+
│ Python ✓ 3.11.5 │
|
|
306
|
+
│ Python Path /usr/local/bin/python3 │
|
|
307
|
+
│ Environment ✓ Virtual environment │
|
|
308
|
+
│ Venv Path /Users/you/venv │
|
|
309
|
+
│ Command ✓ /Users/you/venv/bin/co │
|
|
310
|
+
│ Package /Users/you/venv/lib/... │
|
|
311
|
+
└──────────────────────────────────────────┘
|
|
312
|
+
|
|
313
|
+
┌─ Configuration ──────────────────────────┐
|
|
314
|
+
│ Config ✓ .co/config.toml │
|
|
315
|
+
│ Keys ✓ .co/keys/agent.key │
|
|
316
|
+
│ API Key ✓ Found in environment │
|
|
317
|
+
│ Key Preview sk-proj-abc123... │
|
|
318
|
+
└──────────────────────────────────────────┘
|
|
319
|
+
|
|
320
|
+
┌─ Connectivity ───────────────────────────┐
|
|
321
|
+
│ Backend ✓ https://oo.openonion.ai │
|
|
322
|
+
│ Authentication ✓ Valid credentials │
|
|
323
|
+
└──────────────────────────────────────────┘
|
|
324
|
+
|
|
325
|
+
✅ Diagnostics complete!
|
|
326
|
+
|
|
327
|
+
Run 'co auth' if you need to authenticate
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
**When to use:**
|
|
331
|
+
- Installation issues
|
|
332
|
+
- Command not found
|
|
333
|
+
- API key problems
|
|
334
|
+
- Authentication failures
|
|
335
|
+
- General troubleshooting
|
|
336
|
+
|
|
337
|
+
**Common issues it detects:**
|
|
338
|
+
- Missing `co` command in PATH
|
|
339
|
+
- Python version incompatibility
|
|
340
|
+
- Missing API keys
|
|
341
|
+
- Invalid authentication
|
|
342
|
+
- Network connectivity problems
|
|
343
|
+
- Incorrect file permissions
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
#### `co copy <name>` - Copy Tools & Plugins
|
|
348
|
+
|
|
349
|
+
Copy built-in tools and plugins to your project for customization.
|
|
350
|
+
|
|
351
|
+
**Basic usage:**
|
|
352
|
+
```bash
|
|
353
|
+
co copy --list # See available items
|
|
354
|
+
co copy Gmail # Copy to ./tools/
|
|
355
|
+
co copy re_act # Copy to ./plugins/
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
**Options:**
|
|
359
|
+
- `--list, -l` - List available tools and plugins
|
|
360
|
+
- `--path, -p` - Custom destination path
|
|
361
|
+
- `--force, -f` - Overwrite existing files
|
|
362
|
+
|
|
363
|
+
**Examples:**
|
|
364
|
+
```bash
|
|
365
|
+
# Copy a tool
|
|
366
|
+
co copy Gmail
|
|
367
|
+
# Creates: ./tools/gmail.py
|
|
368
|
+
|
|
369
|
+
# Copy a plugin
|
|
370
|
+
co copy re_act
|
|
371
|
+
# Creates: ./plugins/re_act.py
|
|
372
|
+
|
|
373
|
+
# Copy multiple items
|
|
374
|
+
co copy Gmail Shell memory
|
|
375
|
+
|
|
376
|
+
# Custom destination
|
|
377
|
+
co copy Gmail --path ./my_tools/
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
**After copying:**
|
|
381
|
+
```python
|
|
382
|
+
# Before (from package)
|
|
383
|
+
from connectonion import Gmail
|
|
384
|
+
|
|
385
|
+
# After (from your copy)
|
|
386
|
+
from tools.gmail import Gmail # Now customize it!
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
See [copy documentation](copy.md) for full details.
|
|
390
|
+
|
|
391
|
+
---
|
|
392
|
+
|
|
393
|
+
#### `co browser <command>` - Browser Automation
|
|
394
|
+
|
|
395
|
+
Execute browser commands quickly.
|
|
396
|
+
|
|
397
|
+
**Basic usage:**
|
|
398
|
+
```bash
|
|
399
|
+
co browser "screenshot localhost:3000"
|
|
400
|
+
co browser "click on login button"
|
|
401
|
+
|
|
402
|
+
# Shortcut
|
|
403
|
+
co -b "screenshot localhost:3000"
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
**Common commands:**
|
|
407
|
+
```bash
|
|
408
|
+
# Screenshots
|
|
409
|
+
co -b "screenshot https://example.com"
|
|
410
|
+
|
|
411
|
+
# Page interaction
|
|
412
|
+
co -b "click on submit button"
|
|
413
|
+
co -b "fill form with test data"
|
|
414
|
+
co -b "navigate to /dashboard"
|
|
415
|
+
|
|
416
|
+
# Data extraction
|
|
417
|
+
co -b "get text from .price"
|
|
418
|
+
co -b "extract all links"
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
**When to use:**
|
|
422
|
+
- Quick testing
|
|
423
|
+
- Visual verification
|
|
424
|
+
- Ad-hoc automation
|
|
425
|
+
- Debugging browser tools
|
|
426
|
+
|
|
427
|
+
---
|
|
428
|
+
|
|
429
|
+
## Global Configuration
|
|
430
|
+
|
|
431
|
+
### The `~/.co/` Directory
|
|
432
|
+
|
|
433
|
+
On first use, ConnectOnion creates global configuration:
|
|
434
|
+
|
|
435
|
+
```
|
|
436
|
+
~/.co/
|
|
437
|
+
├── config.toml # Global identity and settings
|
|
438
|
+
├── keys.env # Shared API keys
|
|
439
|
+
├── keys/ # Master Ed25519 keypair
|
|
440
|
+
│ ├── agent.key # Private key (NEVER share)
|
|
441
|
+
│ ├── agent.pub # Public key
|
|
442
|
+
│ └── recovery.txt # 12-word recovery phrase
|
|
443
|
+
└── logs/ # CLI activity logs
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
**Your Global Identity:**
|
|
447
|
+
- **Address**: Hex-encoded Ed25519 public key (`0x7a9f3b2c...`)
|
|
448
|
+
- **Email**: Derived address (`0x7a9f3b2c@mail.openonion.ai`)
|
|
449
|
+
- **Keys**: For authentication and signing
|
|
450
|
+
|
|
451
|
+
All projects share this identity by default (like using same email for all repos).
|
|
452
|
+
|
|
453
|
+
---
|
|
454
|
+
|
|
455
|
+
## API Key Management
|
|
456
|
+
|
|
457
|
+
### Auto-Detection
|
|
458
|
+
|
|
459
|
+
The CLI automatically detects providers:
|
|
460
|
+
|
|
461
|
+
| Provider | Format | Example | Env Variable |
|
|
462
|
+
|----------|--------|---------|--------------|
|
|
463
|
+
| OpenAI | `sk-...` / `sk-proj-...` | `sk-proj-abc123...` | `OPENAI_API_KEY` |
|
|
464
|
+
| Anthropic | `sk-ant-...` | `sk-ant-api03-xyz...` | `ANTHROPIC_API_KEY` |
|
|
465
|
+
| Google | `AIza...` | `AIzaSyAbc123...` | `GEMINI_API_KEY` |
|
|
466
|
+
| Groq | `gsk_...` | `gsk_abc123...` | `GROQ_API_KEY` |
|
|
467
|
+
| OpenOnion | JWT token | `eyJhbGciOiJ...` | `OPENONION_API_KEY` |
|
|
468
|
+
|
|
469
|
+
### Priority Order
|
|
470
|
+
|
|
471
|
+
1. `--key` flag
|
|
472
|
+
2. Environment variables
|
|
473
|
+
3. `~/.co/keys.env` (global)
|
|
474
|
+
4. Interactive prompt
|
|
475
|
+
5. Skip (add later)
|
|
476
|
+
|
|
477
|
+
### Sharing Across Projects
|
|
478
|
+
|
|
479
|
+
Keys in `~/.co/keys.env` are auto-copied to new projects:
|
|
480
|
+
|
|
481
|
+
```bash
|
|
482
|
+
# First project - enter key once
|
|
483
|
+
$ co create first-project
|
|
484
|
+
✔ Paste API key: sk-proj-xxx
|
|
485
|
+
✓ Saved to ~/.co/keys.env
|
|
486
|
+
|
|
487
|
+
# Every project after - automatic
|
|
488
|
+
$ co create second-project
|
|
489
|
+
✓ Found API keys in ~/.co/keys.env
|
|
490
|
+
✓ Copied to project
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
## Complete Examples
|
|
496
|
+
|
|
497
|
+
### First-Time User
|
|
498
|
+
|
|
499
|
+
```bash
|
|
500
|
+
$ pip install connectonion
|
|
501
|
+
$ co create my-first-agent
|
|
502
|
+
|
|
503
|
+
🚀 Welcome to ConnectOnion!
|
|
504
|
+
✨ Setting up global configuration...
|
|
505
|
+
✓ Generated master keypair
|
|
506
|
+
✓ Your address: 0x7a9f...7f8a
|
|
507
|
+
✓ Created ~/.co/config.toml
|
|
508
|
+
✓ Created ~/.co/keys.env
|
|
509
|
+
|
|
510
|
+
🔐 Authenticating with OpenOnion...
|
|
511
|
+
✓ Authenticated (Balance: $5.00)
|
|
512
|
+
|
|
513
|
+
✔ Paste API key (optional): sk-proj-xxx
|
|
514
|
+
✓ Detected OpenAI
|
|
515
|
+
✓ Saved to ~/.co/keys.env
|
|
516
|
+
|
|
517
|
+
✅ Created my-first-agent
|
|
518
|
+
|
|
519
|
+
cd my-first-agent && python agent.py
|
|
520
|
+
|
|
521
|
+
💡 Vibe Coding: Use Claude/Cursor with
|
|
522
|
+
co-vibecoding-principles-docs-contexts-all-in-one.md
|
|
523
|
+
|
|
524
|
+
📚 Resources:
|
|
525
|
+
Docs → https://docs.connectonion.com
|
|
526
|
+
Discord → https://discord.gg/4xfD9k8AUF
|
|
527
|
+
GitHub → https://github.com/openonion/connectonion
|
|
528
|
+
|
|
529
|
+
$ cd my-first-agent
|
|
530
|
+
$ python agent.py
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
### Adding to Existing Project
|
|
534
|
+
|
|
535
|
+
```bash
|
|
536
|
+
$ cd my-django-app
|
|
537
|
+
$ ls
|
|
538
|
+
manage.py settings.py .env
|
|
539
|
+
|
|
540
|
+
$ cat .env
|
|
541
|
+
DATABASE_URL=postgres://localhost/mydb
|
|
542
|
+
SECRET_KEY=mysecret
|
|
543
|
+
|
|
544
|
+
$ co init
|
|
545
|
+
|
|
546
|
+
✓ Using global identity
|
|
547
|
+
✓ Found existing .env
|
|
548
|
+
✓ Appending API keys
|
|
549
|
+
|
|
550
|
+
$ cat .env
|
|
551
|
+
DATABASE_URL=postgres://localhost/mydb
|
|
552
|
+
SECRET_KEY=mysecret
|
|
553
|
+
|
|
554
|
+
# ConnectOnion API Keys
|
|
555
|
+
OPENAI_API_KEY=sk-proj-xxx
|
|
556
|
+
```
|
|
557
|
+
|
|
558
|
+
### Quick Troubleshooting
|
|
559
|
+
|
|
560
|
+
```bash
|
|
561
|
+
# Something not working?
|
|
562
|
+
$ co doctor
|
|
563
|
+
|
|
564
|
+
# Shows:
|
|
565
|
+
# - What's installed correctly
|
|
566
|
+
# - What's missing
|
|
567
|
+
# - Connectivity status
|
|
568
|
+
# - Specific error locations
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
---
|
|
572
|
+
|
|
573
|
+
## Security & Identity
|
|
574
|
+
|
|
575
|
+
### Ed25519 Cryptographic Identity
|
|
576
|
+
|
|
577
|
+
Every installation generates master Ed25519 keypair:
|
|
578
|
+
|
|
579
|
+
**Used for:**
|
|
580
|
+
1. Agent addressing (unique identifier)
|
|
581
|
+
2. Authentication (passwordless)
|
|
582
|
+
3. Message signing (cryptographic proof)
|
|
583
|
+
4. Secure communication (encryption)
|
|
584
|
+
|
|
585
|
+
**Security:**
|
|
586
|
+
- Never share `.co/keys/` directory
|
|
587
|
+
- Never commit `.env` files
|
|
588
|
+
- Backup 12-word recovery phrase
|
|
589
|
+
- Keys auto-added to `.gitignore`
|
|
590
|
+
|
|
591
|
+
### Recovery Phrase
|
|
592
|
+
|
|
593
|
+
12-word phrase in `~/.co/keys/recovery.txt` restores keys:
|
|
594
|
+
|
|
595
|
+
```bash
|
|
596
|
+
# If you lose keys
|
|
597
|
+
co restore "your twelve word recovery phrase here"
|
|
598
|
+
```
|
|
599
|
+
|
|
600
|
+
**Store safely:**
|
|
601
|
+
- Write down physically
|
|
602
|
+
- Use password manager
|
|
603
|
+
- Never in git repos
|
|
604
|
+
- Never share
|
|
605
|
+
|
|
606
|
+
---
|
|
607
|
+
|
|
608
|
+
## Best Practices
|
|
609
|
+
|
|
610
|
+
### 1. Choose the Right Command
|
|
611
|
+
|
|
612
|
+
```bash
|
|
613
|
+
# New project?
|
|
614
|
+
co create my-new-project
|
|
615
|
+
|
|
616
|
+
# Existing project?
|
|
617
|
+
cd my-project && co init
|
|
618
|
+
```
|
|
619
|
+
|
|
620
|
+
### 2. Use Templates
|
|
621
|
+
|
|
622
|
+
```bash
|
|
623
|
+
# Learning? Start simple
|
|
624
|
+
co create learn -t minimal
|
|
625
|
+
|
|
626
|
+
# Browser work? Use template
|
|
627
|
+
co create scraper -t playwright
|
|
628
|
+
|
|
629
|
+
# Specific needs? AI generates
|
|
630
|
+
co create custom -t custom --description "Your needs"
|
|
631
|
+
```
|
|
632
|
+
|
|
633
|
+
### 3. Set Up Keys Once
|
|
634
|
+
|
|
635
|
+
```bash
|
|
636
|
+
# First project - enter key
|
|
637
|
+
co create first-project
|
|
638
|
+
# (paste key)
|
|
639
|
+
|
|
640
|
+
# All future projects - automatic
|
|
641
|
+
co create second-project --yes # No prompt!
|
|
642
|
+
```
|
|
643
|
+
|
|
644
|
+
### 4. Use Managed Keys
|
|
645
|
+
|
|
646
|
+
```bash
|
|
647
|
+
# Authenticate once
|
|
648
|
+
co auth
|
|
649
|
+
|
|
650
|
+
# Free credits in code
|
|
651
|
+
agent = Agent("dev", model="co/gpt-4o-mini")
|
|
652
|
+
```
|
|
653
|
+
|
|
654
|
+
### 5. Leverage Documentation
|
|
655
|
+
|
|
656
|
+
```bash
|
|
657
|
+
# Every project includes comprehensive docs
|
|
658
|
+
# Drag to Cursor/Claude Code:
|
|
659
|
+
co-vibecoding-principles-docs-contexts-all-in-one.md
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
---
|
|
663
|
+
|
|
664
|
+
## Troubleshooting
|
|
665
|
+
|
|
666
|
+
### Command Not Found
|
|
667
|
+
|
|
668
|
+
```bash
|
|
669
|
+
# Check installation
|
|
670
|
+
pip show connectonion
|
|
671
|
+
|
|
672
|
+
# Reinstall
|
|
673
|
+
pip uninstall connectonion
|
|
674
|
+
pip install connectonion
|
|
675
|
+
|
|
676
|
+
# Use full path
|
|
677
|
+
python -m connectonion.cli.main create my-agent
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
### Permission Denied
|
|
681
|
+
|
|
682
|
+
```bash
|
|
683
|
+
# Fix global
|
|
684
|
+
chmod 700 ~/.co
|
|
685
|
+
chmod 600 ~/.co/keys.env
|
|
686
|
+
|
|
687
|
+
# Fix project
|
|
688
|
+
chmod 700 my-agent/.co
|
|
689
|
+
chmod 600 my-agent/.env
|
|
690
|
+
```
|
|
691
|
+
|
|
692
|
+
### API Key Issues
|
|
693
|
+
|
|
694
|
+
```bash
|
|
695
|
+
# Check format
|
|
696
|
+
cat ~/.co/keys.env
|
|
697
|
+
|
|
698
|
+
# Test auth
|
|
699
|
+
co auth
|
|
700
|
+
|
|
701
|
+
# Diagnose
|
|
702
|
+
co doctor
|
|
703
|
+
```
|
|
704
|
+
|
|
705
|
+
### Directory Exists
|
|
706
|
+
|
|
707
|
+
```bash
|
|
708
|
+
$ co create my-agent
|
|
709
|
+
❌ 'my-agent' exists. Try: co create my-agent-2
|
|
710
|
+
|
|
711
|
+
# Or add to existing
|
|
712
|
+
cd my-agent
|
|
713
|
+
co init
|
|
714
|
+
```
|
|
715
|
+
|
|
716
|
+
---
|
|
717
|
+
|
|
718
|
+
## Advanced Usage
|
|
719
|
+
|
|
720
|
+
### Non-Interactive CI/CD
|
|
721
|
+
|
|
722
|
+
```bash
|
|
723
|
+
# Fully automated
|
|
724
|
+
export OPENAI_API_KEY=sk-proj-xxx
|
|
725
|
+
co create prod-agent --yes --template minimal
|
|
726
|
+
cd prod-agent
|
|
727
|
+
python agent.py --test
|
|
728
|
+
```
|
|
729
|
+
|
|
730
|
+
### Batch Creation
|
|
731
|
+
|
|
732
|
+
```bash
|
|
733
|
+
# Multiple projects
|
|
734
|
+
for name in agent1 agent2 agent3; do
|
|
735
|
+
co create $name --yes
|
|
736
|
+
done
|
|
737
|
+
```
|
|
738
|
+
|
|
739
|
+
### Update Docs Only
|
|
740
|
+
|
|
741
|
+
```bash
|
|
742
|
+
# Refresh to latest
|
|
743
|
+
cd my-old-project
|
|
744
|
+
co init # Updates .co/docs/ without changing code
|
|
745
|
+
```
|
|
746
|
+
|
|
747
|
+
---
|
|
748
|
+
|
|
749
|
+
#### `co deploy` - Deploy to Cloud
|
|
750
|
+
|
|
751
|
+
Deploy your agent to ConnectOnion Cloud.
|
|
752
|
+
|
|
753
|
+
**Basic usage:**
|
|
754
|
+
```bash
|
|
755
|
+
co deploy
|
|
756
|
+
```
|
|
757
|
+
|
|
758
|
+
**Requirements:**
|
|
759
|
+
- Git repository with committed code
|
|
760
|
+
- `.co/config.toml` (created by `co create` or `co init`)
|
|
761
|
+
- Authenticated (`co auth`)
|
|
762
|
+
|
|
763
|
+
**Example:**
|
|
764
|
+
```bash
|
|
765
|
+
$ co deploy
|
|
766
|
+
|
|
767
|
+
Deploying to ConnectOnion Cloud...
|
|
768
|
+
|
|
769
|
+
Project: my-agent
|
|
770
|
+
Secrets: 3 keys
|
|
771
|
+
|
|
772
|
+
Uploading...
|
|
773
|
+
Building...
|
|
774
|
+
|
|
775
|
+
Deployed!
|
|
776
|
+
Agent URL: https://my-agent-abc123.agents.openonion.ai
|
|
777
|
+
```
|
|
778
|
+
|
|
779
|
+
> **Beta**: This feature is in beta. See [Deploy Guide](../network/deploy.md) for details.
|
|
780
|
+
|
|
781
|
+
---
|
|
782
|
+
|
|
783
|
+
## Command Reference Summary
|
|
784
|
+
|
|
785
|
+
| Command | Purpose | Interactive | Safe for Existing |
|
|
786
|
+
|---------|---------|-------------|-------------------|
|
|
787
|
+
| `co create` | New project | Yes | N/A (creates new dir) |
|
|
788
|
+
| `co init` | Add to existing | Yes | ✅ Yes |
|
|
789
|
+
| `co copy` | Copy tools/plugins | No | ✅ Yes |
|
|
790
|
+
| `co auth` | Get managed keys | No | ✅ Yes |
|
|
791
|
+
| `co status` | Check balance | No | ✅ Yes |
|
|
792
|
+
| `co deploy` | Deploy to cloud | No | ✅ Yes |
|
|
793
|
+
| `co reset` | Reset account | Yes | ⚠️ Destructive |
|
|
794
|
+
| `co doctor` | Diagnose issues | No | ✅ Yes |
|
|
795
|
+
| `co browser` | Browser command | No | ✅ Yes |
|
|
796
|
+
|
|
797
|
+
---
|
|
798
|
+
|
|
799
|
+
## See Also
|
|
800
|
+
|
|
801
|
+
- [Agent Documentation](../concepts/agent.md) - Building agents
|
|
802
|
+
- [Tools Documentation](../concepts/tools.md) - Custom tools
|
|
803
|
+
- [Interactive Debugging](../auto_debug.md) - `@xray` debugger
|
|
804
|
+
- [Trust System](../concepts/trust.md) - Multi-agent trust
|
|
805
|
+
- [Getting Started](../quickstart.md) - Full tutorial
|