@protolabsai/proto 0.26.9 → 0.26.13
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 +38 -13
- package/cli.js +793 -273
- package/locales/en.js +272 -142
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -9,14 +9,27 @@ proto is a fork of [Qwen Code](https://github.com/QwenLM/qwen-code) (itself fork
|
|
|
9
9
|
|
|
10
10
|
## What's Different
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
12
|
+
At-a-glance overview vs. upstream Qwen Code. For the full architectural breakdown see [`docs/architecture/divergence-from-upstream.md`](./docs/architecture/divergence-from-upstream.md).
|
|
13
|
+
|
|
14
|
+
| Category | Qwen Code | proto |
|
|
15
|
+
| --------------------- | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
16
|
+
| Default model | Qwen3-Coder | Any (LiteLLM / OpenAI-compat / Anthropic / Gemini) |
|
|
17
|
+
| Agent harness | — | Sprint contracts + scope lock, behavior-verify gate, multi-sample selector, doom-loop reminders, session memory + evolve, checkpoint/rewind, speculation |
|
|
18
|
+
| Bundled skills | 0 (use external) | 22 (sprint-contract, verification-before-completion, systematic-debugging, …) |
|
|
19
|
+
| Subagent execution | Sequential | Concurrent batched — Agent calls run in parallel; tool ordering preserved |
|
|
20
|
+
| Tool-call streaming | Per-converter parser | Per-stream parser context (no cross-stream corruption); malformed JSON → UI-hidden recovery note |
|
|
21
|
+
| Reasoning models | Basic `reasoning_content` | Inline `<think>`-tag extraction (Minimax/QwQ); reasoning-only `content: ""` fix; preserved on session resume |
|
|
22
|
+
| Truncation handling | Best-effort | MAX_TOKENS cascade detection + tool-response trimming; rejected truncated edits |
|
|
23
|
+
| Task management | In-memory JSON | [beads_rust](https://github.com/Dicklesworthstone/beads_rust) (SQLite + JSONL) |
|
|
24
|
+
| Memory | Single append-only file | File-per-memory with YAML frontmatter, 4-type taxonomy, auto-extraction |
|
|
25
|
+
| MCP servers | None | Configurable via `~/.proto/settings.json`; SSE/HTTP/stdio in ACP mode |
|
|
26
|
+
| Plugin discovery | Qwen only | Auto-discovers Claude Code plugins from `~/.claude/plugins/` |
|
|
27
|
+
| Ignore files | `.qwenignore` | `.protoignore` + inherits `.claudeignore` patterns |
|
|
28
|
+
| ACP / Zed integration | Stock | Cron-in-Session, concurrent Agent calls, SSE/HTTP MCP, internal-part filtering |
|
|
29
|
+
| Extra built-in tools | Standard set | + browser automation, repo-map (PageRank), task tools, mailbox, LSP, voice/STT |
|
|
30
|
+
| Observability | Console | Langfuse OTLP traces with harness-intervention spans (SFT-ready) |
|
|
31
|
+
| Release pipeline | Manual | Conventional-commit auto-release (`feat:` → minor, `fix:` → patch) |
|
|
32
|
+
| VS Code companion | Included | Removed (focus on TUI + ACP/Zed) |
|
|
20
33
|
|
|
21
34
|
## Installation
|
|
22
35
|
|
|
@@ -161,11 +174,23 @@ proto auto-discovers Claude Code plugins installed at `~/.claude/plugins/`. Any
|
|
|
161
174
|
|
|
162
175
|
### Environment variable overrides
|
|
163
176
|
|
|
164
|
-
| Variable
|
|
165
|
-
|
|
|
166
|
-
| `PROTO_STREAM_STALL_TIMEOUT_MS`
|
|
167
|
-
| `PROTO_SYSTEM_DEFAULTS_PATH`
|
|
168
|
-
| `PROTO_SYSTEM_SETTINGS_PATH`
|
|
177
|
+
| Variable | Default | Description |
|
|
178
|
+
| ----------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
179
|
+
| `PROTO_STREAM_STALL_TIMEOUT_MS` | `90000` | Max ms to wait between streaming chunks before declaring the connection stalled (then retrying) |
|
|
180
|
+
| `PROTO_SYSTEM_DEFAULTS_PATH` | — | Override path to the system defaults settings file |
|
|
181
|
+
| `PROTO_SYSTEM_SETTINGS_PATH` | — | Override path to the system settings override file |
|
|
182
|
+
| `PROTO_LEGACY_ERASE_LINES` | — | Set to `1` to disable the cursor-collapse optimizer that prevents Ink scrollback bouncing during streaming renders. Only set this if it interferes with your terminal. |
|
|
183
|
+
| `PROTO_FORCE_SYNCHRONIZED_OUTPUT` | — | Set to `1` to force-enable BSU/ESU atomic-frame escape codes regardless of terminal auto-detect (useful if your terminal supports DEC mode 2026 but isn't on the allowlist below). |
|
|
184
|
+
| `PROTO_DISABLE_SYNCHRONIZED_OUTPUT` | — | Set to `1` to opt out of synchronized output even on supported terminals. |
|
|
185
|
+
|
|
186
|
+
### TUI flicker mitigation
|
|
187
|
+
|
|
188
|
+
proto installs two stdout interventions to reduce flicker during streaming renders:
|
|
189
|
+
|
|
190
|
+
1. **Cursor-collapse optimizer** — collapses Ink's per-line `{ERASE_LINE, CURSOR_UP_ONE}` sequences into a single bounded erase. Universal; bypass via `PROTO_LEGACY_ERASE_LINES=1`.
|
|
191
|
+
2. **Synchronized output** — wraps each render frame in BSU/ESU escape codes (DEC mode 2026) on terminals that support it. Auto-detected for: **Alacritty (≥0.14), Ghostty, Kitty, WezTerm, iTerm2**. For other DEC-2026-capable terminals, set `PROTO_FORCE_SYNCHRONIZED_OUTPUT=1`.
|
|
192
|
+
|
|
193
|
+
Both no-op outside a TTY, in screen-reader mode, or under tmux/SSH.
|
|
169
194
|
|
|
170
195
|
## Observability
|
|
171
196
|
|