mixdog 1.0.4 → 1.0.6
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 +117 -434
- package/package.json +18 -17
- package/scripts/gate-local.mjs +93 -0
- package/scripts/lib/gate-scheduler.mjs +24 -0
- package/scripts/lib/run-node-tests.mjs +5 -1
- package/scripts/release-paths.mjs +22 -1
- package/scripts/test-direct.mjs +2 -1
- package/scripts/test.mjs +3 -1
- package/src/defaults/agents.json +0 -12
- package/src/defaults/mixdog-config.template.json +1 -2
- package/src/defaults/skills/docx/SKILL.md +7 -4
- package/src/defaults/skills/docx/references/html.md +46 -0
- package/src/defaults/skills/docx/references/native-authoring.md +18 -4
- package/src/defaults/skills/pdf/SKILL.md +10 -2
- package/src/defaults/skills/pdf/references/html.md +64 -0
- package/src/defaults/skills/pptx/references/html.md +1 -1
- package/src/defaults/skills/xlsx/SKILL.md +7 -3
- package/src/defaults/skills/xlsx/references/html.md +40 -0
- package/src/defaults/skills/xlsx/references/report-design.md +21 -4
- package/src/runtime/agent/orchestrator/agent-runtime/agent-dispatch/preset.mjs +1 -1
- package/src/runtime/agent/orchestrator/agent-runtime/cache-strategy.mjs +2 -3
- package/src/runtime/agent/orchestrator/internal-agents.mjs +1 -1
- package/src/runtime/agent/orchestrator/providers/account-pool.mjs +6 -5
- package/src/runtime/agent/orchestrator/session/compact/execution-tail.mjs +6 -3
- package/src/runtime/agent/orchestrator/session/compact/runner.mjs +6 -2
- package/src/runtime/agent/orchestrator/session/loop/fresh-context.mjs +50 -9
- package/src/runtime/agent/orchestrator/session/manager/compaction-runner.mjs +28 -1
- package/src/runtime/agent/orchestrator/session/manager/session-crud.mjs +4 -1
- package/src/runtime/agent/orchestrator/session/pre-send-compact.mjs +34 -8
- package/src/runtime/agent/orchestrator/session/tool-result-offload.mjs +10 -2
- package/src/runtime/agent/orchestrator/session/transcript-restore/agent-envelope.mjs +1 -1
- package/src/runtime/agent/orchestrator/session/transcript-restore/restore.mjs +1 -0
- package/src/runtime/agent/orchestrator/tools/builtin/shell-analysis.mjs +3 -1
- package/src/runtime/attachments/pdf-extract.mjs +7 -3
- package/src/runtime/computer-bridge/client.mjs +1 -1
- package/src/runtime/memory/index.mjs +4 -15
- package/src/runtime/memory/lib/core-memory-store.mjs +1 -1
- package/src/runtime/memory/lib/cycle-llm-adapters.mjs +0 -2
- package/src/runtime/memory/lib/cycle-scheduler/backlog-probe.mjs +3 -11
- package/src/runtime/memory/lib/cycle-scheduler/health-ledger.mjs +1 -3
- package/src/runtime/memory/lib/cycle-scheduler/scheduled-enqueue.mjs +1 -11
- package/src/runtime/memory/lib/cycle-scheduler/tick-loop.mjs +0 -2
- package/src/runtime/memory/lib/cycle-scheduler.mjs +4 -13
- package/src/runtime/memory/lib/cycle-signatures.mjs +0 -6
- package/src/runtime/memory/lib/cycle1/cycle1-rows.mjs +1 -1
- package/src/runtime/memory/lib/cycle1/cycle1-window.mjs +2 -2
- package/src/runtime/memory/lib/embedding-reindex.mjs +1 -1
- package/src/runtime/memory/lib/http-router/lifecycle-routes.mjs +0 -1
- package/src/runtime/memory/lib/memory-action-handlers/cycle-actions.mjs +7 -52
- package/src/runtime/memory/lib/memory-action-handlers/cycle-backfill-action.mjs +6 -22
- package/src/runtime/memory/lib/memory-action-handlers/cycle-rebuild-action.mjs +10 -17
- package/src/runtime/memory/lib/memory-action-handlers/maintenance-actions.mjs +1 -3
- package/src/runtime/memory/lib/memory-action-handlers/manage-actions.mjs +2 -4
- package/src/runtime/memory/lib/memory-action-handlers.mjs +2 -4
- package/src/runtime/memory/lib/memory-cycle-requests.mjs +1 -1
- package/src/runtime/memory/lib/{memory-cycle2-shared.mjs → memory-cycle-shared.mjs} +14 -16
- package/src/runtime/memory/lib/memory-cycle.mjs +3 -2
- package/src/runtime/memory/lib/memory-cycle1.mjs +1 -1
- package/src/runtime/memory/lib/memory-embed.mjs +14 -1
- package/src/runtime/memory/lib/memory-ops-policy.mjs +8 -11
- package/src/runtime/memory/lib/memory-schema/entries.mjs +0 -1
- package/src/runtime/memory/lib/memory.mjs +2 -6
- package/src/runtime/memory/lib/pg/adapter.mjs +1 -1
- package/src/runtime/memory/lib/query-handlers.mjs +1 -1
- package/src/runtime/memory/lib/query-hybrid-search.mjs +1 -1
- package/src/runtime/memory/lib/query-maintenance-handlers.mjs +0 -6
- package/src/runtime/memory/lib/recall-format.mjs +1 -1
- package/src/runtime/office/authoring/docx-html-build.mjs +375 -0
- package/src/runtime/office/authoring/docx-html-measure.mjs +561 -0
- package/src/runtime/office/authoring/docx-html-runner.mjs +102 -0
- package/src/runtime/office/authoring/html-browser.mjs +61 -0
- package/src/runtime/office/authoring/html-document-author.mjs +181 -0
- package/src/runtime/office/authoring/html-source-drift.mjs +36 -0
- package/src/runtime/office/authoring/pdf-author-action.mjs +266 -0
- package/src/runtime/office/authoring/pdf-html-charts.mjs +379 -0
- package/src/runtime/office/authoring/pdf-html-runner.mjs +317 -0
- package/src/runtime/office/authoring/pptx-author-action.mjs +44 -22
- package/src/runtime/office/authoring/pptx-author-session.mjs +12 -6
- package/src/runtime/office/authoring/pptx-html-build.mjs +23 -4
- package/src/runtime/office/authoring/pptx-html-measure.mjs +38 -44
- package/src/runtime/office/authoring/pptx-html-runner.mjs +18 -3
- package/src/runtime/office/authoring/pptx-receipt.mjs +39 -31
- package/src/runtime/office/authoring/pptx-review-artifacts.mjs +9 -1
- package/src/runtime/office/authoring/pptx-script-runner.mjs +6 -2
- package/src/runtime/office/authoring/xlsx-html-build.mjs +365 -0
- package/src/runtime/office/authoring/xlsx-html-measure.mjs +257 -0
- package/src/runtime/office/authoring/xlsx-html-runner.mjs +139 -0
- package/src/runtime/office/capabilities-catalog.mjs +8 -0
- package/src/runtime/office/capabilities-signatures.mjs +18 -6
- package/src/runtime/office/capabilities.mjs +26 -1
- package/src/runtime/office/com/office-com-host.ps1 +133 -17
- package/src/runtime/office/core/office-actions-batch.mjs +16 -1
- package/src/runtime/office/core/office-actions-inspect.mjs +3 -2
- package/src/runtime/office/core/office-actions-lifecycle.mjs +6 -2
- package/src/runtime/office/core/office-actions-render.mjs +4 -1
- package/src/runtime/office/core/office-finalize/review-stage.mjs +15 -2
- package/src/runtime/office/core/office-qa/design-review-stage.mjs +9 -0
- package/src/runtime/office/core/office-session-dispatch.mjs +3 -0
- package/src/runtime/office/core/office-sessionless-actions.mjs +7 -2
- package/src/runtime/office/core/office-sessions.mjs +19 -2
- package/src/runtime/office/pdf/pdf-writer.mjs +1 -1
- package/src/runtime/office/portable/docx-formatting.mjs +21 -0
- package/src/runtime/office/portable/ooxml-validator.mjs +22 -1
- package/src/runtime/office/portable/portable-chart.mjs +10 -2
- package/src/runtime/office/portable/portable-docx-edits.mjs +12 -6
- package/src/runtime/office/portable/portable-docx-operations.mjs +75 -1
- package/src/runtime/office/portable/portable-docx-xml.mjs +49 -6
- package/src/runtime/office/portable/portable-docx.mjs +2 -0
- package/src/runtime/office/portable/portable-snapshot-docx.mjs +2 -0
- package/src/runtime/office/portable/portable-validation.mjs +6 -3
- package/src/runtime/office/portable/portable-xlsx-cell-values.mjs +87 -0
- package/src/runtime/office/portable/portable-xlsx-charts.mjs +55 -13
- package/src/runtime/office/portable/portable-xlsx-sheet-edits.mjs +1 -1
- package/src/runtime/office/portable/xlsx-contract.mjs +82 -3
- package/src/runtime/office/quality/assurance-checklist.mjs +2 -2
- package/src/runtime/office/quality/assurance-rendered.mjs +27 -1
- package/src/runtime/office/quality/assurance-structure-docx.mjs +44 -0
- package/src/runtime/office/quality/assurance-structure-pptx.mjs +24 -6
- package/src/runtime/office/quality/assurance-structure-xlsx.mjs +50 -1
- package/src/runtime/office/quality/design-review-critique.mjs +3 -2
- package/src/runtime/office/quality/document-brief.mjs +44 -0
- package/src/runtime/office/quality/inline-audit.mjs +7 -2
- package/src/runtime/office/quality/quality-pipeline.mjs +9 -1
- package/src/runtime/office/tool-defs.mjs +2 -2
- package/src/runtime/shared/llm/quota-value-estimate.mjs +317 -0
- package/src/runtime/shared/llm/usage-ledger-quota.mjs +266 -63
- package/src/runtime/shared/llm/usage-ledger-rollup.mjs +35 -0
- package/src/runtime/shared/llm/usage-ledger-worker.mjs +2 -1
- package/src/runtime/shared/llm/usage-ledger.mjs +10 -1
- package/src/runtime/shared/provider-accounts.mjs +11 -1
- package/src/runtime/shared/statusline/statusline-segments.mjs +4 -4
- package/src/runtime/shared/tool-execution-contract.mjs +1 -1
- package/src/runtime/shared/wait-until.test-support.mjs +33 -0
- package/src/session-runtime/boot/apis.mjs +1 -1
- package/src/session-runtime/services/channel-admin.mjs +4 -3
- package/src/session-runtime/services/usage-stats-model.mjs +22 -0
- package/src/session-runtime/setup-tool/settings-contract.mjs +6 -1
- package/src/session-runtime/turn/session-ops.mjs +15 -9
- package/src/session-runtime/usage-stats-api.mjs +34 -2
- package/src/standalone/agent-dispatch-broker.mjs +1 -1
- package/src/standalone/local-session-runtime.mjs +488 -0
- package/src/standalone/session-protocol.mjs +1 -0
- package/src/standalone/session-runtime-inline-host.mjs +1 -1
- package/src/tui/hooks/useSession.mjs +1 -1
- package/src/tui/session/session-api/commands.mjs +1 -1
- package/src/tui/session/session-api/integrations.mjs +3 -0
- package/src/tui/session/session-flow/auto-clear.mjs +6 -7
- package/src/tui/session/tool-card-results.mjs +1 -1
- package/src/tui/session/turn.mjs +5 -0
- package/src/tui/session-local.mjs +3 -488
- package/src/tui/session.mjs +1 -1
- package/src/ui/statusline-agents.mjs +0 -1
- package/src/rules/agent/41-cycle2-agent.md +0 -24
- package/src/runtime/memory/lib/cycle-scheduler/cycle2-runs.mjs +0 -120
- package/src/runtime/memory/lib/memory-cycle2-mutations.mjs +0 -110
- package/src/runtime/memory/lib/memory-cycle2-quarantine.mjs +0 -99
- package/src/runtime/memory/lib/memory-cycle2-review.mjs +0 -240
- package/src/runtime/memory/lib/memory-cycle2.mjs +0 -191
package/README.md
CHANGED
|
@@ -1,345 +1,158 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
[](https://www.npmjs.com/package/mixdog)
|
|
4
|
-

|
|
5
|
-

|
|
6
|
-
|
|
7
|
-
## More work. Less cost. Less complexity.
|
|
8
|
-
|
|
9
|
-
Get more from your models and budget with an efficient AI coding
|
|
10
|
-
harness—and intuitive controls for managing sessions, agents, and your
|
|
11
|
-
entire workflow.
|
|
12
|
-
|
|
13
|
-
- **More work for your budget.** Cache-aware context, focused
|
|
14
|
-
tools, and compaction reduce overhead so more of your budget goes toward
|
|
15
|
-
the task. The published same-model Terminal-Bench comparisons below show comparable
|
|
16
|
-
or better results with smaller contexts and lower costs at the same API rates.
|
|
17
|
-
- **Easy to start. Simple to manage.** Guided setup and visual controls
|
|
18
|
-
help you choose models, assign agent roles, and configure workflows without
|
|
19
|
-
becoming an expert in agent infrastructure or building your own stack.
|
|
20
|
-
- **One workspace, your way.** In Desktop, organize parallel sessions with
|
|
21
|
-
tabs and split panes, customize agents and workflows, and keep token
|
|
22
|
-
statistics and supported provider limits in view.
|
|
23
|
-
|
|
24
|
-
Use supported subscription accounts, API keys, or Mixdog's built-in Local Provider.
|
|
25
|
-
Take the same agent beyond code into browsers, Windows apps, documents,
|
|
26
|
-
images, and video—and continue live sessions across terminal, Desktop,
|
|
27
|
-
and a paired browser on your computer or phone.
|
|
1
|
+
<h1 align="center">Mixdog</h1>
|
|
28
2
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
3
|
+
<p align="center">
|
|
4
|
+
<b>Same model. Same score. 63% fewer tokens.</b><br>
|
|
5
|
+
Free, open-source coding agent for Windows — benchmarked against Codex CLI on Terminal-Bench 2.1.
|
|
6
|
+
</p>
|
|
32
7
|
|
|
33
8
|
<p align="center">
|
|
34
9
|
<a href="https://github.com/tribgames/mixdog/releases/latest/download/mixdog-desktop-win-x64.exe">
|
|
35
|
-
<img src="https://
|
|
10
|
+
<img src="https://raw.githubusercontent.com/tribgames/mixdog/main/docs/assets/download-windows.svg" alt="Download Mixdog for Windows x64" width="320">
|
|
36
11
|
</a>
|
|
37
12
|
</p>
|
|
38
13
|
|
|
39
|
-
|
|
40
|
-
|
|
14
|
+
<p align="center">
|
|
15
|
+
<sub>The installer is unsigned, so Windows SmartScreen may show a warning.</sub>
|
|
16
|
+
</p>
|
|
41
17
|
|
|
42
|
-
|
|
18
|
+
<p align="center">
|
|
19
|
+
<a href="https://www.npmjs.com/package/mixdog"><img src="https://img.shields.io/npm/v/mixdog" alt="npm"></a>
|
|
20
|
+
<img src="https://img.shields.io/badge/license-Apache--2.0-blue" alt="license">
|
|
21
|
+
<img src="https://img.shields.io/badge/node-%5E22.19.0%20%7C%7C%20%3E%3D24.0.0-brightgreen" alt="Node.js ^22.19.0 || >=24.0.0">
|
|
22
|
+
</p>
|
|
43
23
|
|
|
44
|
-
|
|
24
|
+
<p align="center">
|
|
25
|
+
<img src="https://raw.githubusercontent.com/tribgames/mixdog/main/docs/assets/desktop.png" alt="Mixdog Desktop" width="860">
|
|
26
|
+
</p>
|
|
45
27
|
|
|
46
|
-
|
|
47
|
-
npm install -g mixdog
|
|
48
|
-
mixdog
|
|
49
|
-
```
|
|
28
|
+
## Same model. Same results. A fraction of the tokens.
|
|
50
29
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
- **Tabs and split panes—together.** Use tabs to organize sessions and split
|
|
65
|
-
panes to follow several side by side. Each pane can hold its own tabs, so
|
|
66
|
-
you do not have to choose between quick switching and a simultaneous view.
|
|
67
|
-
- **Make the workspace your own.** Visual controls put layout, providers,
|
|
68
|
-
models, agent rules, workflows, and extensions within easy reach. The model
|
|
69
|
-
picker shows pricing, context limits, and capability metadata to help you
|
|
70
|
-
choose—not just a list of model names.
|
|
71
|
-
- **See where your tokens go.** Usage statistics break down token totals by
|
|
72
|
-
provider and model, including input, output, cache hits, and cache hit rate,
|
|
73
|
-
with trends and cost figures. Subscription values use list prices; API
|
|
74
|
-
costs may be estimates. Neither is an invoice.
|
|
75
|
-
- **Keep remaining usage in sight.** The usage panel brings supported
|
|
76
|
-
providers' quota windows and reset times together, reducing trips to
|
|
77
|
-
separate account dashboards. Available figures depend on the provider.
|
|
78
|
-
- **Less window switching.** Chat, a Monaco code editor, Git, terminals, and
|
|
79
|
-
a file explorer share one workspace, keeping the conversation close to the
|
|
80
|
-
files and changes you are working on.
|
|
81
|
-
- **Pick up on another screen.** Continue the same live session from Desktop,
|
|
82
|
-
TUI, or a paired browser on your computer or phone, without starting a
|
|
83
|
-
separate conversation.
|
|
84
|
-
|
|
85
|
-
## Benchmarks
|
|
86
|
-
|
|
87
|
-
Terminal-Bench 2.1 — same model, same 89 tasks, same official verifier, with
|
|
88
|
-
only the harness changed. Against the native CLI of each model family, Mixdog
|
|
89
|
-
delivers the same results at the same speed — on a fraction of the context,
|
|
90
|
-
for far less cost.
|
|
91
|
-
|
|
92
|
-
### GPT-5.6 Sol xhigh — Mixdog vs Codex CLI
|
|
30
|
+
Terminal-Bench 2.1 — same model, same 89 tasks, same official verifier.
|
|
31
|
+
Only the harness changes.
|
|
32
|
+
|
|
33
|
+
### GPT-5.6 Sol xhigh — Mixdog vs Codex CLI (`k=5`, 445 trials each)
|
|
34
|
+
|
|
35
|
+
| | Mixdog | Codex CLI | |
|
|
36
|
+
| --- | --- | --- | --- |
|
|
37
|
+
| **Total tokens** (incl. cached input) | **156.5M** | 421.4M | **63% fewer** |
|
|
38
|
+
| Success rate | **86.5%** (385/445) | 86.1% (383/445) | +2 trials |
|
|
39
|
+
| Pass@5 | **96.6%** | 95.5% | |
|
|
40
|
+
| Priced cost per trial | **$0.476** | $0.782 | 39% lower |
|
|
41
|
+
| Median final context | **18.5k** | 34.3k | 46% smaller |
|
|
42
|
+
| Wall time per trial | **415s** | 437s | matched |
|
|
93
43
|
|
|
94
44
|

|
|
95
45
|
|
|
96
|
-
|
|
97
|
-
- **46%** smaller median final context — 18.5k vs 34.3k tokens
|
|
98
|
-
- **86.5%** (385/445) vs Codex CLI's **86.1%** (383/445) — full `k=5` on both
|
|
99
|
-
sides, pass@5 **96.6%** vs 95.5%
|
|
100
|
-
- Matched speed — 415s vs 437s wall time per trial
|
|
46
|
+
### Claude Opus 5 — Mixdog vs Claude Code (`k=1`, 89 trials each)
|
|
101
47
|
|
|
102
|
-
|
|
48
|
+
| | Mixdog | Claude Code | |
|
|
49
|
+
| --- | --- | --- | --- |
|
|
50
|
+
| Solved | **79/89** | 77/89 | +2 tasks |
|
|
51
|
+
| Priced cost per run | **$104.29** | $129.21 | 19% lower |
|
|
52
|
+
| Median final context | **27.6k** | 38.2k | 28% smaller |
|
|
53
|
+
| Wall time per trial | **610s** | 708s | 1.16× faster |
|
|
103
54
|
|
|
104
55
|

|
|
105
56
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
## How Mixdog keeps context lean
|
|
147
|
-
|
|
148
|
-
Efficiency comes from several layers working together, not just a shorter
|
|
149
|
-
prompt or a larger context window:
|
|
150
|
-
|
|
151
|
-
1. **Lightweight system instructions** — continuously refined rules keep
|
|
152
|
-
operating guidance focused without repeating the same policy.
|
|
153
|
-
2. **Purpose-built tools** — scoped queries, batched calls, and bounded
|
|
154
|
-
results retrieve the evidence a task needs instead of dumping whole files.
|
|
155
|
-
3. **Built-in ast-grep and code graphs** — parsed symbols, signatures, calls,
|
|
156
|
-
and imports answer structural questions without repeated text searches.
|
|
157
|
-
4. **Provider-aware caching** — stable prompt layers and provider-specific
|
|
158
|
-
cache controls help reuse context that has already been processed.
|
|
159
|
-
5. **Structured compaction** — a task handoff, the latest request, and a
|
|
160
|
-
bounded execution history keep long sessions moving.
|
|
161
|
-
6. **Idle-time context reduction** — configurable automatic compaction
|
|
162
|
-
reduces the context sent after long idle gaps, when caches may be cold.
|
|
163
|
-
7. **On-demand prompt loading** — skill bodies and deferred tool schemas
|
|
164
|
-
load when needed; stable instructions stay separate from changing state.
|
|
165
|
-
8. **Database-backed long-term memory** — retrieve relevant history instead
|
|
166
|
-
of injecting the whole archive into every session.
|
|
167
|
-
9. **Tool-result reduction** — repeated results become short references,
|
|
168
|
-
while large outputs can be saved separately and returned as previews.
|
|
169
|
-
|
|
170
|
-
Caching can reduce repeated processing and input cost, but cached tokens
|
|
171
|
-
still count toward the model's context limit. Compaction, selective retrieval,
|
|
172
|
-
and output reduction reduce the amount of context the model needs. See
|
|
173
|
-
[Context efficiency](docs/context-efficiency.md) for the mechanisms,
|
|
174
|
-
implementation references, and limits.
|
|
175
|
-
|
|
176
|
-
## What you can do
|
|
177
|
-
|
|
178
|
-
### Build, test, and review
|
|
179
|
-
|
|
180
|
-
Search repositories with text and AST-based tools, edit files, run tests
|
|
181
|
-
and background commands, and review changes. Desktop brings the agent together
|
|
182
|
-
with a Monaco editor, Git, terminals, and a file explorer. Use workflows and
|
|
183
|
-
role-specific models to organize work, and extend the toolset with MCP
|
|
184
|
-
servers, skills, hooks, and plugins.
|
|
185
|
-
|
|
186
|
-
**Code graph.** Inspect exports, signatures, and nested members; locate
|
|
187
|
-
declarations and references; trace calls and imports; and assess which files
|
|
188
|
-
a change may affect. Call relationships come from parsed call sites rather than
|
|
189
|
-
text matches, and identifier references exclude comment-only mentions.
|
|
190
|
-
The native engine embeds tree-sitter and ast-grep, parses 31 languages, and
|
|
191
|
-
extracts symbols and imports for 24. Capabilities vary by language; this is
|
|
192
|
-
structural navigation, not a replacement for a compiler's type analysis.
|
|
193
|
-
|
|
194
|
-
**Code Tidy.** Install the built-in capability to format, lint, and check
|
|
195
|
-
structural rules through the agent. It respects project configuration and
|
|
196
|
-
uses project-local, system-installed, or supported managed engines.
|
|
197
|
-
Fixes are previewed without changing files unless explicitly applied. See
|
|
198
|
-
[Code Tidy](docs/code-tidy.md) for engine setup and rule coverage.
|
|
199
|
-
|
|
200
|
-
The GitHub integration manages repositories, issues, pull requests and reviews,
|
|
201
|
-
Actions, releases, and notifications. Source Control commits use a manually
|
|
202
|
-
entered summary and optional description; there is no built-in AI commit-message
|
|
203
|
-
generator. See [Git & GitHub](docs/git-github-integration.md) for supported
|
|
204
|
-
operations and permission requirements.
|
|
205
|
-
|
|
206
|
-
### Keep longer work moving
|
|
207
|
-
|
|
208
|
-
Resume saved chats and recall prior work through local semantic and lexical
|
|
209
|
-
search. Long-term memory separates searchable conversation history (`recall`)
|
|
210
|
-
from approved shared or project-scoped preferences (`memory`); generated
|
|
211
|
-
conversation summaries do not become standing instructions.
|
|
212
|
-
|
|
213
|
-
Compaction keeps long conversations manageable while retaining the latest
|
|
214
|
-
request and the context needed to continue. Configurable idle-time compaction
|
|
215
|
-
can also reduce input cost when resuming after a long idle period, when the
|
|
216
|
-
provider's cache may have expired.
|
|
217
|
-
For an explicitly requested longer-running objective, **Goals** track
|
|
218
|
-
completion conditions and tasks, support time limits and automatic
|
|
219
|
-
continuation, and let you pause or resume the work.
|
|
220
|
-
|
|
221
|
-
### Work beyond the repository
|
|
222
|
-
|
|
223
|
-
- **Browser Use** — operate signed-in Chromium pages, forms, tabs, and
|
|
224
|
-
downloads. On Windows, import a Chrome profile, including cookies and
|
|
225
|
-
passwords; cookie and password import require administrator approval and
|
|
226
|
-
a build with the native importer. Session cookies are encrypted with the
|
|
227
|
-
OS keychain and restored on launch when encryption is available.
|
|
228
|
-
Developer controls share the same pages and sign-in through
|
|
229
|
-
`browser_devtools`.
|
|
230
|
-
- **Computer Use on Windows** — operate native apps through accessibility,
|
|
231
|
-
screenshots, OCR, keyboard, and pointer input with guarded execution.
|
|
232
|
-
An overlay provides Stop and Resume controls.
|
|
233
|
-
- **Documents** — create and edit Word, Excel, and PowerPoint files, work
|
|
234
|
-
with PDFs, and review rendered previews alongside automated checks.
|
|
235
|
-
Use portable OOXML editing without Microsoft Office, or Microsoft Office
|
|
236
|
-
automation on Windows. Rendering and spreadsheet recalculation depend on
|
|
237
|
-
the available engines. See [Office runtime](src/runtime/office/README.md).
|
|
238
|
-
- **Image and video Studio** — generate and edit images, generate short video
|
|
239
|
-
clips, and keep the results in a persistent local gallery. Continue a clip
|
|
240
|
-
by using its last frame as the reference for a new generation; this carries
|
|
241
|
-
over the pose, not the original motion or camera trajectory. Available
|
|
242
|
-
models and controls depend on your signed-in provider routes.
|
|
243
|
-
|
|
244
|
-
Browser Use and Computer Use are opt-in capabilities. In interactive sessions,
|
|
245
|
-
each asks for approval before its first live call by default; approval covers
|
|
246
|
-
the rest of that session, and a restart asks again. Headless and agent-owned
|
|
247
|
-
sessions without an approval UI are not gated by this first-use prompt.
|
|
248
|
-
|
|
249
|
-
### Continue from another screen
|
|
250
|
-
|
|
251
|
-
Desktop, TUI, and paired browsers share live sessions rather than starting
|
|
252
|
-
independent copies. The installable remote web app connects to Desktop over
|
|
253
|
-
authenticated end-to-end encryption, so you can follow and continue work from
|
|
254
|
-
a computer or phone.
|
|
57
|
+
<sub>Official Harbor verifier, fast mode off, no retries of task failures or
|
|
58
|
+
agent timeouts. Mixdog runs are single-model, single-session — no sub-agents
|
|
59
|
+
or helper models. Cost values both sides at the same API list rates, not
|
|
60
|
+
subscription charges. Results measure the pinned source revision. Raw
|
|
61
|
+
verdicts, verifier output, usage snapshots, and the scripts that recompute
|
|
62
|
+
every number are in [`benchmarks/terminal-bench-2.1/`](benchmarks/terminal-bench-2.1/).</sub>
|
|
63
|
+
|
|
64
|
+
## Why Mixdog
|
|
65
|
+
|
|
66
|
+
- **All your models in one app.** Use supported subscription accounts, API
|
|
67
|
+
keys, or the built-in Local Provider side by side.
|
|
68
|
+
- **Agents by role.** Assign a different model to each agent role and combine
|
|
69
|
+
them through orchestration — from **Solo** (the lead does the work) up to
|
|
70
|
+
**Swarm** (maximum delegation). Run separate sessions in parallel, too.
|
|
71
|
+
- **Easy to set up.** Onboarding walks you through connecting providers,
|
|
72
|
+
choosing models, and setting up workflows. Workflows and agents are
|
|
73
|
+
Markdown packs (`WORKFLOW.md`, `AGENT.md`) with visual editors in the app.
|
|
74
|
+
- **Lean context.** Scoped tools, provider-aware caching, and structured
|
|
75
|
+
compaction keep prompts small. Search past work and keep project memory
|
|
76
|
+
without loading the whole archive. See
|
|
77
|
+
[Context efficiency](docs/context-efficiency.md).
|
|
78
|
+
- **See where tokens go.** Usage stats by provider and model — input, output,
|
|
79
|
+
cache hits, and cost — plus supported providers' quota windows and resets.
|
|
80
|
+
|
|
81
|
+
## Beyond code
|
|
82
|
+
|
|
83
|
+
- **Workspace** — tabs and split panes, Monaco editor, Git and GitHub,
|
|
84
|
+
terminals, file explorer, code graph, and Code Tidy in one window.
|
|
85
|
+
- **Browser Use** — operate signed-in Chromium pages, with Chrome profile
|
|
86
|
+
import on Windows.
|
|
87
|
+
- **Computer Use (Windows)** — operate native apps with guarded input and an
|
|
88
|
+
on-screen Stop control.
|
|
89
|
+
- **Documents** — Word, Excel, PowerPoint, and PDF with rendered previews.
|
|
90
|
+
- **Image and video Studio** — generate and edit with a local gallery.
|
|
91
|
+
- **Continue anywhere** — pick up the same live session from Desktop, the
|
|
92
|
+
terminal, or a paired browser on your computer or phone over end-to-end
|
|
93
|
+
encryption.
|
|
94
|
+
|
|
95
|
+
Browser Use and Computer Use are opt-in and ask for approval before their
|
|
96
|
+
first live call in each interactive session.
|
|
255
97
|
|
|
256
98
|
## Providers
|
|
257
99
|
|
|
258
|
-
Mixdog supports subscription OAuth and API-key routes, including:
|
|
259
|
-
|
|
260
100
|
- Anthropic API keys and Claude account OAuth
|
|
261
101
|
- OpenAI API keys and ChatGPT/Codex account OAuth
|
|
262
102
|
- Google Gemini API keys
|
|
263
103
|
- xAI API keys and Grok account OAuth
|
|
264
|
-
- OpenRouter
|
|
265
|
-
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
Cursor and Antigravity (Gemini) account OAuth are off by default; turn them on
|
|
269
|
-
under **Settings → Developer**, which warns that using these providers through
|
|
270
|
-
OAuth risks account restrictions.
|
|
104
|
+
- OpenRouter, DeepSeek, and OpenCode Go
|
|
105
|
+
- Built-in **Local Provider** — download and run models in the app
|
|
106
|
+
(Windows x64 with an NVIDIA GPU)
|
|
271
107
|
|
|
272
|
-
|
|
273
|
-
|
|
108
|
+
Cursor and Antigravity (Gemini) OAuth are off by default under
|
|
109
|
+
**Settings → Developer**; using them through OAuth risks account restrictions.
|
|
274
110
|
|
|
275
|
-
|
|
276
|
-
endpoint registry. The former Ollama and LM Studio routes have been retired.
|
|
111
|
+
## Get started
|
|
277
112
|
|
|
278
|
-
###
|
|
113
|
+
### Desktop (Windows)
|
|
279
114
|
|
|
280
|
-
Download
|
|
281
|
-
|
|
282
|
-
GPU**, with enough VRAM for the selected model.
|
|
115
|
+
[Download the installer](https://github.com/tribgames/mixdog/releases/latest/download/mixdog-desktop-win-x64.exe)
|
|
116
|
+
and follow onboarding.
|
|
283
117
|
|
|
284
|
-
|
|
285
|
-
installation. **Extensions → Plugin → Local Provider** manages installed
|
|
286
|
-
models, download progress and resumption, and automatic unloading when idle.
|
|
287
|
-
Installed models are available through the `mixdog-local` provider.
|
|
118
|
+
### CLI
|
|
288
119
|
|
|
289
|
-
|
|
120
|
+
Requires Node.js 22.19+ (22.x) or 24+.
|
|
290
121
|
|
|
291
122
|
```bash
|
|
292
|
-
|
|
123
|
+
npm install -g mixdog
|
|
293
124
|
mixdog
|
|
294
|
-
|
|
295
|
-
# Select a provider and model
|
|
296
|
-
mixdog --provider anthropic-oauth --model claude-haiku-4-5-20251001
|
|
297
|
-
|
|
298
|
-
# Select a workflow
|
|
299
|
-
mixdog --workflow default
|
|
300
|
-
|
|
301
|
-
# Use read-only tools
|
|
302
|
-
mixdog --readonly
|
|
303
|
-
|
|
304
|
-
# Enable remote mode
|
|
305
|
-
mixdog --remote
|
|
306
|
-
|
|
307
|
-
# Run onboarding again
|
|
308
|
-
mixdog --onboarding
|
|
309
125
|
```
|
|
310
126
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
## Headless exec
|
|
314
|
-
|
|
315
|
-
`mixdog exec` runs one non-interactive, single-model session with ephemeral
|
|
316
|
-
configuration and no agent delegation. It requires an explicit provider and
|
|
317
|
-
model. It does not load the host's behavioral configuration, personal memory,
|
|
318
|
-
prior sessions, user profile, skills, MCP servers, or plugins:
|
|
127
|
+
<details>
|
|
128
|
+
<summary><b>CLI options and headless exec</b></summary>
|
|
319
129
|
|
|
320
130
|
```bash
|
|
321
|
-
mixdog
|
|
322
|
-
mixdog
|
|
323
|
-
mixdog
|
|
131
|
+
mixdog # start in the current project
|
|
132
|
+
mixdog --provider anthropic-oauth --model claude-haiku-4-5-20251001
|
|
133
|
+
mixdog --workflow default
|
|
134
|
+
mixdog --readonly # read-only tools
|
|
135
|
+
mixdog --remote # enable remote mode
|
|
136
|
+
mixdog --onboarding # run onboarding again
|
|
324
137
|
```
|
|
325
138
|
|
|
326
|
-
|
|
327
|
-
|
|
139
|
+
`mixdog exec` runs one non-interactive, single-model session without personal
|
|
140
|
+
memory, prior sessions, skills, MCP servers, or plugins:
|
|
328
141
|
|
|
329
142
|
```bash
|
|
330
|
-
mixdog exec --provider openai-oauth --model gpt-5.6-sol --
|
|
143
|
+
mixdog exec --provider openai-oauth --model gpt-5.6-sol --effort xhigh "fix the failing test"
|
|
144
|
+
mixdog exec --provider openai-oauth --model gpt-5.6-sol --json "review the current diff"
|
|
331
145
|
```
|
|
332
146
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
Headless exec is not an offline sandbox.
|
|
147
|
+
Web search is off by default (`--web-search` enables it). This does not block
|
|
148
|
+
shell networking — headless exec is not an offline sandbox.
|
|
336
149
|
|
|
337
|
-
|
|
338
|
-
supported by `mixdog exec`. Use an interactive session for personal memory and
|
|
339
|
-
saved-work continuation. `--json` emits timestamped JSONL events to stdout;
|
|
340
|
-
diagnostics remain on stderr.
|
|
150
|
+
Run `mixdog --help` for the full reference.
|
|
341
151
|
|
|
342
|
-
|
|
152
|
+
</details>
|
|
153
|
+
|
|
154
|
+
<details>
|
|
155
|
+
<summary><b>TUI commands</b></summary>
|
|
343
156
|
|
|
344
157
|
```text
|
|
345
158
|
/clear start a fresh chat
|
|
@@ -371,146 +184,16 @@ diagnostics remain on stderr.
|
|
|
371
184
|
/quit quit the TUI
|
|
372
185
|
```
|
|
373
186
|
|
|
374
|
-
|
|
375
|
-
Built-in packs ship with Mixdog; custom packs live under the Mixdog data
|
|
376
|
-
directory.
|
|
377
|
-
|
|
378
|
-
By default the Lead does the work without delegating (**Solo**). Each
|
|
379
|
-
session's orchestration mode sets how much it delegates to agents, up to
|
|
380
|
-
**Swarm** for maximum delegation. Running multiple independent Desktop
|
|
381
|
-
sessions is separate from delegating work to agents within one session.
|
|
382
|
-
|
|
383
|
-
To start a time-bounded Goal, for example:
|
|
384
|
-
|
|
385
|
-
```text
|
|
386
|
-
/goal Fix the failing tests --time 1h
|
|
387
|
-
/goal status
|
|
388
|
-
/goal pause
|
|
389
|
-
/goal resume
|
|
390
|
-
```
|
|
391
|
-
|
|
392
|
-
## Desktop app
|
|
393
|
-
|
|
394
|
-
Mixdog Desktop runs the same agent runtime as the CLI. In the **Sessions**
|
|
395
|
-
panel, choose **New task** for agent work or **New Studio** for image and video
|
|
396
|
-
work. The **Projects** panel has **Project** and **Workflow** tabs for managing
|
|
397
|
-
repositories, workflow packs, and agent definitions.
|
|
398
|
-
|
|
399
|
-
The workspace includes:
|
|
400
|
-
|
|
401
|
-
- Split panes for parallel, independently routed agent sessions
|
|
402
|
-
- Live session handoff between the TUI, desktop windows, and paired browsers
|
|
403
|
-
- Monaco editor, LSP integration, diffs, and turn-by-turn edit review
|
|
404
|
-
- Built-in code graph navigation and installable Code Tidy checks and fixes
|
|
405
|
-
- Git staging, commits with manually entered messages, and branches
|
|
406
|
-
- GitHub repositories, issues, pull requests, reviews, Actions, releases,
|
|
407
|
-
and notifications
|
|
408
|
-
- File explorer with previews, thumbnails, search, and drag-and-drop
|
|
409
|
-
- Integrated terminal tabs using the local system shell
|
|
410
|
-
- Browser Use pane with agent control and Chrome profile import on Windows
|
|
411
|
-
- Computer Use on Windows with guarded native input
|
|
412
|
-
- Word, Excel, PowerPoint, and PDF tools with rendered previews
|
|
413
|
-
- Image and video generation Studio with a persistent local gallery
|
|
414
|
-
- Visual workflow, agent, schedule, and webhook editors, plus session Goal
|
|
415
|
-
progress and controls
|
|
416
|
-
- Voice dictation with an optional local transcription runtime
|
|
417
|
-
- Extensions hub with guided setup for Git & GitHub, Memory, Browser Use,
|
|
418
|
-
Computer Use, Office, Code Tidy, Local Provider, and voice
|
|
419
|
-
- Provider setup, usage, git identity, and remote pairing settings
|
|
420
|
-
|
|
421
|
-
In **Extensions**, the **Plugin** tab manages integrations and built-in
|
|
422
|
-
capabilities; the **Skill** tab lets you add and manage skills and MCP servers.
|
|
423
|
-
Language servers start on demand when installed locally or on your system;
|
|
424
|
-
Mixdog does not download them automatically. See
|
|
425
|
-
[language server setup](docs/language-servers.md).
|
|
426
|
-
|
|
427
|
-
The paired remote web app is installable on desktop and mobile browsers. It
|
|
428
|
-
uses an authenticated end-to-end encrypted connection before session state,
|
|
429
|
-
terminal data, files, or operation requests cross the relay, and adds mobile
|
|
430
|
-
share-target intake, push notifications, and remote Browser Use.
|
|
431
|
-
|
|
432
|
-
## Data and configuration
|
|
433
|
-
|
|
434
|
-
Mixdog uses `~/.mixdog` as its home root and `~/.mixdog/data` for runtime data
|
|
435
|
-
by default.
|
|
436
|
-
|
|
437
|
-
```bash
|
|
438
|
-
MIXDOG_HOME=/path/to/home mixdog
|
|
439
|
-
MIXDOG_DATA_DIR=/path/to/data mixdog
|
|
440
|
-
```
|
|
441
|
-
|
|
442
|
-
Useful environment variables:
|
|
443
|
-
|
|
444
|
-
- `MIXDOG_TUI_MOUSE=0` — use terminal-native mouse behavior.
|
|
445
|
-
- `MIXDOG_DISABLE_MODEL_PREFETCH=1` — disable provider model prefetch.
|
|
446
|
-
- `MIXDOG_MODE=ship|dev` — select shipping or development diagnostics.
|
|
447
|
-
- `MIXDOG_DIAGNOSTICS=1` — force diagnostic trace and log output.
|
|
187
|
+
</details>
|
|
448
188
|
|
|
449
|
-
##
|
|
189
|
+
## Docs
|
|
450
190
|
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
| Browser automation | Chromium and the Chrome DevTools Protocol (CDP) |
|
|
458
|
-
| Long-term memory | Managed local PostgreSQL with pgvector and full-text search |
|
|
459
|
-
| Documents | Portable OOXML and PDF tooling, plus Microsoft Office automation on Windows |
|
|
460
|
-
|
|
461
|
-
These components serve different roles: native tools analyze code, database
|
|
462
|
-
retrieval keeps historical context selective, and provider-specific caching
|
|
463
|
-
reduces repeated model processing. See [Context efficiency](docs/context-efficiency.md)
|
|
464
|
-
for how they work with prompt management and compaction.
|
|
465
|
-
|
|
466
|
-
## Development
|
|
467
|
-
|
|
468
|
-
```bash
|
|
469
|
-
npm install
|
|
470
|
-
npm start
|
|
471
|
-
|
|
472
|
-
npm run smoke
|
|
473
|
-
npm run smoke:all
|
|
474
|
-
npm test # discovered fast-lane tests
|
|
475
|
-
npm test -- src/runtime/memory # narrow to one path
|
|
476
|
-
npm run test:slow # *.slow.test.mjs
|
|
477
|
-
npm run test:live # built-artifact or live-system checks
|
|
478
|
-
npm run build:tui
|
|
479
|
-
npm run audit:models
|
|
480
|
-
```
|
|
481
|
-
|
|
482
|
-
For desktop development, install the root dependencies above, then:
|
|
483
|
-
|
|
484
|
-
```bash
|
|
485
|
-
cd apps/desktop
|
|
486
|
-
npm install
|
|
487
|
-
npm run dev
|
|
488
|
-
```
|
|
489
|
-
|
|
490
|
-
Desktop development uses a fresh, isolated test profile on each launch, including
|
|
491
|
-
its data, daemon and tool connections. It does not copy the installed app's
|
|
492
|
-
settings or sign-ins. The profile path is printed and retained in the system
|
|
493
|
-
temporary directory for diagnosis. CDP uses port `9342`; if it is occupied, reuse
|
|
494
|
-
the running test app or choose another port with `npm run dev -- --port 9343`.
|
|
495
|
-
On Windows, `npm run e2e:direct` and `npm run e2e:direct:source` also use isolated
|
|
496
|
-
profiles and port `9342` (override with `-- -Port 9343`).
|
|
497
|
-
|
|
498
|
-
Both packages discover `*.test.mjs` and `*-test.mjs` under their `src/` and
|
|
499
|
-
`scripts/` directories. Fast, slow, and live tests run in separate lanes;
|
|
500
|
-
live checks need their corresponding built artifacts or services. See
|
|
501
|
-
[testing practices](docs/testing.md) for details.
|
|
502
|
-
|
|
503
|
-
Main directories:
|
|
504
|
-
|
|
505
|
-
```text
|
|
506
|
-
src/ CLI, TUI, runtime, workflows, agents, and rules
|
|
507
|
-
apps/desktop/ desktop app
|
|
508
|
-
apps/relay/ remote web app and relay
|
|
509
|
-
native/ native process, search, graph, patch, and support binaries
|
|
510
|
-
scripts/ tests, diagnostics, benchmarks, and build scripts
|
|
511
|
-
benchmarks/ reproducible benchmark harnesses, results, and raw artifacts
|
|
512
|
-
src/vendor/ vendored runtime components
|
|
513
|
-
```
|
|
191
|
+
- [Context efficiency](docs/context-efficiency.md)
|
|
192
|
+
- [Code Tidy](docs/code-tidy.md)
|
|
193
|
+
- [Git & GitHub](docs/git-github-integration.md)
|
|
194
|
+
- [Language servers](docs/language-servers.md)
|
|
195
|
+
- [Office runtime](src/runtime/office/README.md)
|
|
196
|
+
- [Development, configuration, and testing](docs/development.md)
|
|
514
197
|
|
|
515
198
|
## License
|
|
516
199
|
|