openvisio-agent 0.15.0 → 0.15.1
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.
- package/README.md +1 -1
- package/bin/cli.mjs +2 -2
- package/package.json +1 -1
- package/src/watch.mjs +5 -6
package/README.md
CHANGED
|
@@ -58,7 +58,7 @@ Runs the **autonomy loop** — the agent replies to @mentions and picks up ticke
|
|
|
58
58
|
|
|
59
59
|
Backend/BYO watchers reconcile immediately whenever the process starts or the WebSocket connects. A direct MCP session uses the backend's actual tools (`list_agents`, `list_projects`, `list_tasks`, `list_task_types`, and `list_activity`) to recover assigned tasks and recent mention activity missed while offline. The same zero-model check runs every five minutes as a safety net; a model starts only when pending work exists.
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
Claude uses Haiku for routine coordination and Sonnet for repository work. Codex uses `gpt-5.6-sol` for every cycle, including messages, mentions, triage, board movement, MCP calls, and coding. This intentionally favors reliability and consistent tool use over the cheaper Codex tiers.
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
64
|
openvisio-agent watch --name ada # run in this terminal
|
package/bin/cli.mjs
CHANGED
|
@@ -59,8 +59,8 @@ connect --backend
|
|
|
59
59
|
gpt-5.6-sol; OpenCode uses its configured default.
|
|
60
60
|
Engineers can also change it live from chat: "@agent /model …".
|
|
61
61
|
--chat-model <m> coordination model for chat, triage, and board movement.
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
Claude defaults to haiku. Codex uses gpt-5.6-sol for every
|
|
63
|
+
cycle, including coordination and messaging.
|
|
64
64
|
--no-service skip the background service — just save config + print the
|
|
65
65
|
watch commands to run yourself.
|
|
66
66
|
|
package/package.json
CHANGED
package/src/watch.mjs
CHANGED
|
@@ -215,11 +215,10 @@ export async function runWatch({ flags }) {
|
|
|
215
215
|
const workdir = chatOnly ? '' : (explicitWorkdir || (saved && (saved.workspace || saved.workdir)) || DEFAULT_WORKSPACE)
|
|
216
216
|
if (workdir) { try { mkdirSync(workdir, { recursive: true }) } catch { /* best-effort; spawn will surface a real problem */ } }
|
|
217
217
|
|
|
218
|
-
//
|
|
219
|
-
//
|
|
220
|
-
// defaults to Terra for coordination and reserves Sol for repository work.
|
|
218
|
+
// Codex uses Sol for every watcher cycle. Reliability and consistent MCP/tool
|
|
219
|
+
// behaviour take priority over maintaining a cheaper coordination lane.
|
|
221
220
|
const defaultModel = agent === 'claude' ? 'sonnet' : agent === 'codex' ? 'gpt-5.6-sol' : ''
|
|
222
|
-
const defaultChatModel = agent === 'claude' ? 'haiku' : agent === 'codex' ? 'gpt-5.6-
|
|
221
|
+
const defaultChatModel = agent === 'claude' ? 'haiku' : agent === 'codex' ? 'gpt-5.6-sol' : ''
|
|
223
222
|
const model = String(flags.model || (saved && saved.model) || defaultModel)
|
|
224
223
|
const chatModel = String(flags['chat-model'] || (saved && saved.chatModel) || defaultChatModel)
|
|
225
224
|
|
|
@@ -597,7 +596,7 @@ function loopBackendWs({ wsUrl, apiKey, identifier, slug, claude, agent, mcpConf
|
|
|
597
596
|
}
|
|
598
597
|
const ensureMcpSession = async () => {
|
|
599
598
|
if (mcpSessionId) return
|
|
600
|
-
const res = await mcpPost({ jsonrpc: '2.0', id: ++mcpRpcId, method: 'initialize', params: { protocolVersion: '2025-03-26', capabilities: {}, clientInfo: { name: 'openvisio-agent', version: '0.15.
|
|
599
|
+
const res = await mcpPost({ jsonrpc: '2.0', id: ++mcpRpcId, method: 'initialize', params: { protocolVersion: '2025-03-26', capabilities: {}, clientInfo: { name: 'openvisio-agent', version: '0.15.1' } } }, false)
|
|
601
600
|
if (!res.ok) throw new Error('MCP initialize HTTP ' + res.status)
|
|
602
601
|
await mcpPayload(res)
|
|
603
602
|
mcpSessionId = res.headers.get('mcp-session-id') || ''
|
|
@@ -700,7 +699,7 @@ function loopBackendWs({ wsUrl, apiKey, identifier, slug, claude, agent, mcpConf
|
|
|
700
699
|
const prompt = (ctx.length ? ctx.join('\n') + '\n\n' : '') + baseFor(kind)
|
|
701
700
|
// Chat-shaped cycles (mentions/intro) may run on the cheaper chat model; code
|
|
702
701
|
// work (full/sweep) uses the main model.
|
|
703
|
-
const useModel = kind === 'full' ? codeModel : liteModel
|
|
702
|
+
const useModel = agent === 'codex' ? codeModel : kind === 'full' ? codeModel : liteModel
|
|
704
703
|
log('running ' + kind + ' cycle…' + (ctx.length ? ' (' + ctx.length + ' event' + (ctx.length === 1 ? '' : 's') + ')' : '') + (useModel ? ' [' + useModel + ']' : ''))
|
|
705
704
|
// Live status: "working" now + a heartbeat so the UI (and its TTL) stays lit
|
|
706
705
|
// through a long cycle; onTool flips it to "typing" when post_message fires.
|