- Replace python-dotenv with config.json env.vars block + \ substitution - Add models section for per-task model routing (heartbeat, subagent, default) - Heartbeat/subagent tasks can use different models/providers than main chat - Remove python-dotenv from dependencies - Update all docs to reflect new config approach - Reorganize docs into project/ and research/ subdirectories
53 lines
3.6 KiB
Markdown
53 lines
3.6 KiB
Markdown
Looking at the OpenCode CLI doc against Aetheel's opencode_runtime.py, here are the gaps:
|
|
|
|
What Aetheel uses today:
|
|
|
|
opencode run with --model, --continue, --session, --format
|
|
SDK mode via opencode serve API (session create + chat)
|
|
Session persistence in SQLite
|
|
System prompt injection via XML tags (CLI) or system param (SDK)
|
|
Rate limit detection from error text
|
|
Live session tracking with idle timeout
|
|
What Aetheel is missing from the OpenCode CLI:
|
|
|
|
[-] --agent flag — OpenCode supports custom agents (opencode agent create/list). Aetheel has no concept of selecting different OpenCode agents per request. This would be useful for the planned agent teams feature — you could have a "programmer" agent and a "researcher" agent defined in OpenCode.
|
|
|
|
[-] --file / -f flag — OpenCode can attach files to a prompt (opencode run -f image.png "describe this"). Aetheel doesn't pass file attachments from chat adapters through to the runtime. Discord/Telegram/Slack all support file uploads.
|
|
|
|
[-] --attach flag — You can run opencode run --attach http://localhost:4096 to connect to a running server, avoiding MCP cold boot on every request. Aetheel's SDK mode connects to the server, but CLI mode spawns a fresh process each time. Using --attach in CLI mode would give you the speed of SDK mode without needing the Python SDK.
|
|
|
|
[-] --fork flag — Fork a session when continuing, creating a branch. Aetheel always continues sessions linearly. Forking would be useful for "what if" scenarios or spawning subagent tasks from a shared context.
|
|
|
|
[-] --title flag — Name sessions for easier identification. Aetheel's sessions are tracked by conversation ID but have no human-readable title.
|
|
|
|
--share flag — Share sessions via URL. Aetheel has no session sharing.
|
|
|
|
opencode session list/export/import — Full session management. Aetheel can list sessions internally but doesn't expose export/import or the full session lifecycle.
|
|
|
|
[-] opencode stats — Token usage and cost statistics with --days, --tools, --models filters. Aetheel tracks basic usage stats in memory but doesn't query OpenCode's built-in stats.
|
|
|
|
[-] opencode models — List available models from configured providers. Aetheel has no way to discover available models — you have to know the model name.
|
|
|
|
opencode auth management — Login/logout/list for providers. Aetheel relies on env vars for auth and has no way to manage OpenCode's credential store.
|
|
|
|
opencode mcp auth/logout/debug — OAuth-based MCP server auth and debugging. Aetheel can add/remove MCP servers but can't handle OAuth flows or debug MCP connections.
|
|
|
|
opencode github agent — GitHub Actions integration for repo automation. Aetheel has no CI/CD agent support.
|
|
|
|
opencode web — Built-in web UI. Aetheel has its own WebChat but doesn't leverage OpenCode's web interface.
|
|
|
|
opencode acp — Agent Client Protocol server. Aetheel doesn't use ACP.
|
|
|
|
OPENCODE_AUTO_SHARE — Auto-share sessions.
|
|
|
|
OPENCODE_DISABLE_AUTOCOMPACT — Control context compaction. Aetheel doesn't expose this, which could matter for long conversations.
|
|
|
|
OPENCODE_EXPERIMENTAL_PLAN_MODE — Plan mode for structured task execution. Aetheel doesn't use this.
|
|
|
|
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS — Control bash command timeouts. Aetheel doesn't pass this through.
|
|
|
|
OPENCODE_ENABLE_EXA — Exa web search tools. Aetheel doesn't expose this toggle.
|
|
|
|
opencode upgrade — Self-update. Aetheel has aetheel update which does git pull but doesn't update the OpenCode binary itself.
|
|
|
|
The most impactful gaps are --agent (for agent teams), --file (for media from chat), --attach (for faster CLI mode), --fork (for branching conversations), and opencode stats (for usage visibility). |