@cnwenf/occ 2.1.347 → 2.1.348

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 CHANGED
@@ -5,7 +5,7 @@
5
5
  [![npm version](https://img.shields.io/npm/v/@cnwenf/occ.svg)](https://www.npmjs.com/package/@cnwenf/occ)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
7
7
  [![Runtime: Bun](https://img.shields.io/badge/Runtime-Bun-%23000000.svg)](https://bun.sh/)
8
- [![Tracks: Claude Code 2.1.278](https://img.shields.io/badge/Tracks-Claude%20Code%202.1.278-blueviolet.svg)](https://docs.anthropic.com/en/docs/claude-code)
8
+ [![Tracks: Claude Code 2.1.280](https://img.shields.io/badge/Tracks-Claude%20Code%202.1.280-blueviolet.svg)](https://docs.anthropic.com/en/docs/claude-code)
9
9
 
10
10
  [简体中文](./README.zh-CN.md) · **English**
11
11
 
@@ -13,7 +13,7 @@
13
13
 
14
14
  ## What is OCC
15
15
 
16
- **Open C Code (OCC)** is an open-source coding agent. Its capabilities are aligned with [Claude Code](https://docs.anthropic.com/en/docs/claude-code) (currently tracking `2.1.278` — the OCC-131 round, 2026-09-20, landed the byte-verified portable subset of 2.1.277/2.1.278 (89 changelog entries triaged, 26 byte-verified ports — headlined by AGENTS.md `instructionFiles` support, the `/status` "Auto mode server" row, and four security fixes: sandbox `excludedCommands` every-part matching, subagent hand-back provenance framing, marketplace-policy fail-closed per-entry validation, and invisible-Unicode prompt stripping), full triage and forensics ledger in `docs/upstream-version-gap-occ131.md`; the OCC-130 round landed the byte-verified portable subset of 2.1.275 (~95 changelog entries) plus the 2.1.276 advisor entry-refused hotfix, including three security fixes (npm-source plugin installs hardened with `npm pack --ignore-scripts` + SRI integrity verification, plugin/marketplace URL credential scrubbing, and a git-address parser hardening that closes a blocklist bypass), the sandboxed-zsh exit-code and bare-git-repo `hooks/`/`config/` write fixes, transcript/resume malformed-entry robustness, the send-now key (ctrl+enter / ctrl+x ctrl+s) with gray-render until the model receives queued prompts, ripgrep 20MB output-cap and Read stream-decode robustness, `__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__` global prompt caching for `--system-prompt`, otelHeadersHelper failure surfacing, `/rewind` truncated-restore and marketplace-update data-loss fixes, and stdout backpressure responsiveness — full triage and forensics ledger in `docs/upstream-version-gap-occ130.md`; the parallel OCC-90 round landed the byte-verified 2.1.276 advisor proxy-400 fix — advisor-model resolution now gated on a first-party `ANTHROPIC_BASE_URL` (official module #489 `!Ia()||` gate), the growthbook experiment key corrected to `tengu_sage_compass2`, strict firstParty advisor enablement with the `CLAUDE_CODE_ENABLE_EXPERIMENTAL_ADVISOR_TOOL` env override and the `_CLAUDE_CODE_ASSUME_FIRST_PARTY_BASE_URL` arm — plus removal of the dead `src/services/api/src/` stub tree and a full 96-entry triage of 2.1.275, per `docs/upstream-version-gap-occ129.md`; prior rounds landed the 2.1.274 MCP auth-stub description secret-leak fix (byte-verified display-sanitizer family port) with NO-OP behavioral verification of the 2.1.274 bash special-variable and worktree nested-expansion hardening (OCC-127), the 2.1.273 gateway-hint request headers, the spinner doubled-ellipsis guard, the shell-mode `!` insert fix, and the subshell-hidden dangerous-`rm` bypass fix, per `docs/upstream-version-gap-occ127.md`; still not landed from the 2.1.270→2.1.272 delta: `/config` panel fullscreen mouse support (PORTABLE-LARGE) and the spinner status ladder (STAGED), plus the pre-existing sandbox per-command `allowed_domains` gap; prior alignment through 2.1.270 landed via OCC-122/OCC-123/OCC-84/OCC-124/OCC-85/OCC-125/OCC-126). The code is fully open, auditable, backdoor-free, and your data stays under your control.
16
+ **Open C Code (OCC)** is an open-source coding agent. Its capabilities are aligned with [Claude Code](https://docs.anthropic.com/en/docs/claude-code) (currently tracking `2.1.280` — the OCC-134 round, 2026-09-23, landed the byte-verified portable subset of 2.1.280 (2.1.279 never published; 114 changelog entries triaged + a full v278↔v280 linux-x64 ELF binary diff, 26 byte-verified ports — headlined by the Opus 5.5 launch registration, the Pro/Team default-Opus switch, and five security fixes: the symlink-landing write-permission subsystem, marketplace credential-helper removal, plugin reserved-name imitation defense, MCP OAuth auth-cache removal, and the invisible-Unicode ZWNJ script-context clause), full triage and forensics ledger in `docs/upstream-version-gap-occ134.md`; the OCC-131 round, 2026-09-20, landed the byte-verified portable subset of 2.1.277/2.1.278 (89 changelog entries triaged, 26 byte-verified ports — headlined by AGENTS.md `instructionFiles` support, the `/status` "Auto mode server" row, and four security fixes: sandbox `excludedCommands` every-part matching, subagent hand-back provenance framing, marketplace-policy fail-closed per-entry validation, and invisible-Unicode prompt stripping), full triage and forensics ledger in `docs/upstream-version-gap-occ131.md`; the OCC-130 round landed the byte-verified portable subset of 2.1.275 (~95 changelog entries) plus the 2.1.276 advisor entry-refused hotfix, including three security fixes (npm-source plugin installs hardened with `npm pack --ignore-scripts` + SRI integrity verification, plugin/marketplace URL credential scrubbing, and a git-address parser hardening that closes a blocklist bypass), the sandboxed-zsh exit-code and bare-git-repo `hooks/`/`config/` write fixes, transcript/resume malformed-entry robustness, the send-now key (ctrl+enter / ctrl+x ctrl+s) with gray-render until the model receives queued prompts, ripgrep 20MB output-cap and Read stream-decode robustness, `__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__` global prompt caching for `--system-prompt`, otelHeadersHelper failure surfacing, `/rewind` truncated-restore and marketplace-update data-loss fixes, and stdout backpressure responsiveness — full triage and forensics ledger in `docs/upstream-version-gap-occ130.md`; the parallel OCC-90 round landed the byte-verified 2.1.276 advisor proxy-400 fix — advisor-model resolution now gated on a first-party `ANTHROPIC_BASE_URL` (official module #489 `!Ia()||` gate), the growthbook experiment key corrected to `tengu_sage_compass2`, strict firstParty advisor enablement with the `CLAUDE_CODE_ENABLE_EXPERIMENTAL_ADVISOR_TOOL` env override and the `_CLAUDE_CODE_ASSUME_FIRST_PARTY_BASE_URL` arm — plus removal of the dead `src/services/api/src/` stub tree and a full 96-entry triage of 2.1.275, per `docs/upstream-version-gap-occ129.md`; prior rounds landed the 2.1.274 MCP auth-stub description secret-leak fix (byte-verified display-sanitizer family port) with NO-OP behavioral verification of the 2.1.274 bash special-variable and worktree nested-expansion hardening (OCC-127), the 2.1.273 gateway-hint request headers, the spinner doubled-ellipsis guard, the shell-mode `!` insert fix, and the subshell-hidden dangerous-`rm` bypass fix, per `docs/upstream-version-gap-occ127.md`; still not landed from the 2.1.270→2.1.272 delta: `/config` panel fullscreen mouse support (PORTABLE-LARGE) and the spinner status ladder (STAGED), plus the pre-existing sandbox per-command `allowed_domains` gap; prior alignment through 2.1.270 landed via OCC-122/OCC-123/OCC-84/OCC-124/OCC-85/OCC-125/OCC-126). The code is fully open, auditable, backdoor-free, and your data stays under your control.
17
17
 
18
18
  If you worry that a closed-source CLI might hide backdoors, or that your code and credentials are uploaded to unauditable services, OCC is for you: all source is open and unobfuscated, the build is reproducible from source, and API credentials are sent only to endpoints you configure.
19
19
 
@@ -62,7 +62,7 @@ Requires a valid Anthropic API Key (or AWS Bedrock / Google Vertex / Azure Found
62
62
  | **Auditability** | Line-by-line reviewable | No |
63
63
  | **Telemetry** | Minimal (analytics stubbed) | Standard |
64
64
  | **Data sovereignty** | Credentials stay on your machine; requests only to endpoints you configure | Anthropic endpoints |
65
- | **Capability parity** | Tracks CC `2.1.278` (2.1.276 fully aligned via OCC-90 + OCC-130; 2.1.277/2.1.278 + 2.1.271–2.1.275 partial) | Reference implementation |
65
+ | **Capability parity** | Tracks CC `2.1.280` (2.1.280 portable subset via OCC-134; 2.1.276 fully aligned via OCC-90 + OCC-130; 2.1.2772.1.280 + 2.1.271–2.1.275 partial) | Reference implementation |
66
66
  | **Providers** | Anthropic Direct, Bedrock, Vertex, Azure | Anthropic, Bedrock, Vertex |
67
67
  | **Cost** | Free & open-source (MIT) | Subscription |
68
68
  | **Build** | Reproducible from source | N/A |
@@ -143,7 +143,7 @@ Requires [Bun](https://bun.sh/) >= 1.3.11 (use `bun upgrade` — older Bun cause
143
143
 
144
144
  ```bash
145
145
  bun install
146
- bun run dev # run from source; version prints 2.1.278 (dev polyfill; build overrides with pkg.version) when working
146
+ bun run dev # run from source; version prints 2.1.280 (dev polyfill; build overrides with pkg.version) when working
147
147
  bun run build # output: dist/cli.js (~26 MB, single-file bundle)
148
148
  bun test # test suite (Bun test runner)
149
149
  bun run lint # Biome lint (formatter disabled to avoid large diffs)
@@ -157,7 +157,7 @@ For architecture, entry/bootstrap, tool system, UI layer, and module-status deta
157
157
 
158
158
  ## Status
159
159
 
160
- - Tracks Claude Code **`2.1.278`** (2.1.277/2.1.278 partial — the OCC-131 round, 2026-09-20, landed the byte-verified portable subset (89 changelog entries triaged, 26 byte-verified ports — AGENTS.md `instructionFiles` support, the `/status` "Auto mode server" row, and four security fixes: sandbox `excludedCommands` every-part matching, subagent hand-back provenance framing, marketplace-policy fail-closed per-entry validation, invisible-Unicode prompt stripping) — see `docs/upstream-version-gap-occ131.md`; 2.1.276 fully aligned via OCC-90 + OCC-130 (advisor proxy-400 fix + the 2.1.275 portable subset incl. three security fixes, see `docs/upstream-version-gap-occ129.md`/`-occ130.md`); 2.1.271–2.1.275 partial — full ledger in the corresponding `docs/upstream-version-gap-occ*.md`; residual fullscreen-renderer items and the bg-session fd-exhaustion entry are triaged there as STAGED with per-item rationale; prior rounds landed the 2.1.274 MCP auth-stub description secret-leak fix with NO-OP verification of the bash special-variable and worktree nested-expansion hardening (OCC-127, `docs/upstream-version-gap-occ127.md`), the 2.1.273 gateway-hint request headers, the spinner doubled-ellipsis guard, the shell-mode `!` insert fix, and the subshell-hidden dangerous-`rm` bypass fix; still not landed from the 2.1.270→2.1.272 delta: `/config` fullscreen mouse support (PORTABLE-LARGE) and the spinner status ladder (STAGED), plus the pre-existing sandbox per-command `allowed_domains` gap; prior alignment through 2.1.270 landed via OCC-122/OCC-123/OCC-84, OCC-124 + OCC-85, OCC-125, and OCC-126 — see `docs/upstream-version-gap-occ124.md`, `docs/upstream-version-gap-occ125.md`, and `docs/upstream-version-gap-occ126.md`).
160
+ - Tracks Claude Code **`2.1.280`** (2.1.280 partial — the OCC-134 round, 2026-09-23, landed the byte-verified portable subset (2.1.279 never published; 114 changelog entries triaged + full v278↔v280 ELF binary diff, 26 byte-verified ports — Opus 5.5 launch registration + Pro/Team default-Opus switch, the symlink-landing write-permission subsystem, four more security fixes (marketplace credential-helper removal, plugin reserved-name imitation defense, MCP OAuth auth-cache removal, invisible-Unicode ZWNJ script-context clause), background-shell benign-exit classification, agent-type-hook PermissionRequest errors) — see `docs/upstream-version-gap-occ134.md`; 2.1.277/2.1.278 partial — the OCC-131 round, 2026-09-20, landed the byte-verified portable subset (89 changelog entries triaged, 26 byte-verified ports — AGENTS.md `instructionFiles` support, the `/status` "Auto mode server" row, and four security fixes: sandbox `excludedCommands` every-part matching, subagent hand-back provenance framing, marketplace-policy fail-closed per-entry validation, invisible-Unicode prompt stripping) — see `docs/upstream-version-gap-occ131.md`; 2.1.276 fully aligned via OCC-90 + OCC-130 (advisor proxy-400 fix + the 2.1.275 portable subset incl. three security fixes, see `docs/upstream-version-gap-occ129.md`/`-occ130.md`); 2.1.271–2.1.275 partial — full ledger in the corresponding `docs/upstream-version-gap-occ*.md`; residual fullscreen-renderer items and the bg-session fd-exhaustion entry are triaged there as STAGED with per-item rationale; prior rounds landed the 2.1.274 MCP auth-stub description secret-leak fix with NO-OP verification of the bash special-variable and worktree nested-expansion hardening (OCC-127, `docs/upstream-version-gap-occ127.md`), the 2.1.273 gateway-hint request headers, the spinner doubled-ellipsis guard, the shell-mode `!` insert fix, and the subshell-hidden dangerous-`rm` bypass fix; still not landed from the 2.1.270→2.1.272 delta: `/config` fullscreen mouse support (PORTABLE-LARGE) and the spinner status ladder (STAGED), plus the pre-existing sandbox per-command `allowed_domains` gap; prior alignment through 2.1.270 landed via OCC-122/OCC-123/OCC-84, OCC-124 + OCC-85, OCC-125, and OCC-126 — see `docs/upstream-version-gap-occ124.md`, `docs/upstream-version-gap-occ125.md`, and `docs/upstream-version-gap-occ126.md`).
161
161
  - Published to npm as [`@cnwenf/occ`](https://www.npmjs.com/package/@cnwenf/occ).
162
162
  - Many modules are intentionally stubbed or feature-flagged off — see "Disabled / stubbed" above.
163
163
 
package/README.zh-CN.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ## 这是什么
10
10
 
11
- **Open C Code(OCC)** 是一个开源的编码智能体。能力与 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) 对齐(当前跟踪 `2.1.278`:OCC-131 追齐轮(2026-09-20)落地了 2.1.277/2.1.278 的可移植子集(89 条 changelog 逐条 triage,26 个字节级验证的移植——重点:AGENTS.md `instructionFiles` 支持、`/status` "Auto mode server" 行、以及四项安全修复:sandbox `excludedCommands` 逐部分匹配、子代理交接来源标注、市场策略逐条 fail-closed 校验、不可见 Unicode 提示词剥离),完整收台账在 `docs/upstream-version-gap-occ131.md`;2.1.276 已完全对齐(经 OCC-90 的 advisor proxy-400 热修复 + OCC-130 的 2.1.275 可移植子集,含三项安全修复,见 `docs/upstream-version-gap-occ129.md`/`-occ130.md`);2.1.271–2.1.275 部分对齐(OCC-130/OCC-129/OCC-127 等轮落地,各轮台账见对应 `docs/upstream-version-gap-occ*.md`);2.1.270→2.1.272 增量中仍未落地:`/config` 全屏鼠标支持(PORTABLE-LARGE)与 spinner 状态文案阶梯 "deep in thought"/"picking the thought back up"(STAGED),另有先于 2.1.270 已存在的 sandbox 按命令 `allowed_domains` 缺口;此前对齐至 2.1.270 经 OCC-122/OCC-123/OCC-84/OCC-124/OCC-85/OCC-125 落地)。代码全开放、可审计、无暗门,数据由你掌控。
11
+ **Open C Code(OCC)** 是一个开源的编码智能体。能力与 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) 对齐(当前跟踪 `2.1.280`:OCC-134 追齐轮(2026-09-23)落地了 2.1.280 的可移植子集(2.1.279 未发布;114 条 changelog 逐条 triage + v278↔v280 linux-x64 ELF 全量二进制对比,26 个字节级验证的移植——重点:Opus 5.5 发布注册、Pro/Team 默认模型切换至 Opus、以及五项安全修复:symlink 落点写权限子系统、市场凭据助手移除、插件保留名仿冒防御、MCP OAuth 认证缓存移除、不可见 Unicode ZWNJ 文字上下文条款),完整台账在 `docs/upstream-version-gap-occ134.md`;OCC-131 追齐轮(2026-09-20)落地了 2.1.277/2.1.278 的可移植子集(89 条 changelog 逐条 triage,26 个字节级验证的移植——重点:AGENTS.md `instructionFiles` 支持、`/status` "Auto mode server" 行、以及四项安全修复:sandbox `excludedCommands` 逐部分匹配、子代理交接来源标注、市场策略逐条 fail-closed 校验、不可见 Unicode 提示词剥离),完整收台账在 `docs/upstream-version-gap-occ131.md`;2.1.276 已完全对齐(经 OCC-90 的 advisor proxy-400 热修复 + OCC-130 的 2.1.275 可移植子集,含三项安全修复,见 `docs/upstream-version-gap-occ129.md`/`-occ130.md`);2.1.271–2.1.275 部分对齐(OCC-130/OCC-129/OCC-127 等轮落地,各轮台账见对应 `docs/upstream-version-gap-occ*.md`);2.1.270→2.1.272 增量中仍未落地:`/config` 全屏鼠标支持(PORTABLE-LARGE)与 spinner 状态文案阶梯 "deep in thought"/"picking the thought back up"(STAGED),另有先于 2.1.270 已存在的 sandbox 按命令 `allowed_domains` 缺口;此前对齐至 2.1.270 经 OCC-122/OCC-123/OCC-84/OCC-124/OCC-85/OCC-125 落地)。代码全开放、可审计、无暗门,数据由你掌控。
12
12
 
13
13
  如果你担心闭源 CLI 可能植入后门、担心代码与凭据被上传到不可审计的服务,OCC 就是为你准备的:全部源码开放、无混淆,构建产物可由源码复现,API 凭据只发往你自己配置的端点。
14
14
 
@@ -21,7 +21,7 @@
21
21
 
22
22
  ## 现状
23
23
 
24
- - 跟踪 Claude Code **`2.1.278`**(2.1.277/2.1.278 部分对齐——OCC-131 追齐轮落地 26 个字节级验证的移植,含 AGENTS.md `instructionFiles` 支持、`/status` "Auto mode server" 行与四项安全修复,台账见 `docs/upstream-version-gap-occ131.md`;2.1.276 完全对齐(经 OCC-90 + OCC-130,见 `-occ129.md`/`-occ130.md`);2.1.271–2.1.275 部分对齐(OCC-127/OCC-129/OCC-130 等轮,见对应台账);2.1.270→2.1.272 增量中仍未落地:`/config` 全屏鼠标支持(PORTABLE-LARGE)与 spinner 状态文案阶梯(STAGED),另有先于 2.1.270 已存在的 sandbox 按命令 `allowed_domains` 缺口;此前对齐至 2.1.270 经 OCC-122/OCC-123/OCC-84/OCC-124/OCC-85/OCC-125 落地)。
24
+ - 跟踪 Claude Code **`2.1.280`**(2.1.280 部分对齐——OCC-134 追齐轮落地 26 个字节级验证的移植,含 Opus 5.5 发布注册、Pro/Team 默认 Opus 切换、symlink 落点写权限子系统等五项安全修复、后台 shell 良性退出分类,台账见 `docs/upstream-version-gap-occ134.md`;2.1.277/2.1.278 部分对齐——OCC-131 追齐轮落地 26 个字节级验证的移植,含 AGENTS.md `instructionFiles` 支持、`/status` "Auto mode server" 行与四项安全修复,台账见 `docs/upstream-version-gap-occ131.md`;2.1.276 完全对齐(经 OCC-90 + OCC-130,见 `-occ129.md`/`-occ130.md`);2.1.271–2.1.275 部分对齐(OCC-127/OCC-129/OCC-130 等轮,见对应台账);2.1.270→2.1.272 增量中仍未落地:`/config` 全屏鼠标支持(PORTABLE-LARGE)与 spinner 状态文案阶梯(STAGED),另有先于 2.1.270 已存在的 sandbox 按命令 `allowed_domains` 缺口;此前对齐至 2.1.270 经 OCC-122/OCC-123/OCC-84/OCC-124/OCC-85/OCC-125 落地)。
25
25
  - 代码库有约 1300 个不阻塞的 `tsc` 类型错误(大量松散的 `unknown`/`never`/`{}` 类型),**不影响 Bun 运行时执行**。门槛是 Biome lint,不是 `tsc`。
26
26
  - 所有内部 feature flag(`feature(...)`)已被 polyfill 为 `false` —— 内部功能(COORDINATOR_MODE、KAIROS、PROACTIVE 等)全部关闭。
27
27
  - 已发布到 npm:[`@cnwenf/occ`](https://www.npmjs.com/package/@cnwenf/occ)。
@@ -80,7 +80,7 @@ Glob、Grep(默认启用);TaskCreate/Get/Update/List(Todo v2)、EnterW
80
80
 
81
81
  ```bash
82
82
  bun install
83
- bun run dev # 从源码运行;版本号显示 2.1.278(dev polyfill;build 用 pkg.version 覆盖)即正常
83
+ bun run dev # 从源码运行;版本号显示 2.1.280(dev polyfill;build 用 pkg.version 覆盖)即正常
84
84
  bun run build # 产物:dist/cli.js(~26MB,5300+ 模块,单文件 bundle)
85
85
  bun test # 测试套件
86
86
  bun run lint # Biome lint(禁用格式化以避免大 diff)