Skip to content

Deep source analysis: Qwen Code, Goose, OpenCode documentation expansion#1

Merged
wenshao merged 1 commit intomainfrom
feat/deep-source-analysis-2026-03
Mar 27, 2026
Merged

Deep source analysis: Qwen Code, Goose, OpenCode documentation expansion#1
wenshao merged 1 commit intomainfrom
feat/deep-source-analysis-2026-03

Conversation

@wenshao
Copy link
Copy Markdown
Owner

@wenshao wenshao commented Mar 27, 2026

Summary

基于 /root/git/ 下的源码仓库(qwen-code、goose、opencode)进行深度源码分析,大幅扩展文档覆盖。

Changes

Qwen Code — 从 2 文件扩展到 6 文件

  • 01-overview.md: 概述、核心功能、安装、模型支持(6+ 提供商)、与 Gemini CLI 差异
  • 02-commands.md: 41 个斜杠命令(含子命令)、CLI 参数、与 Gemini CLI 命令对比
  • 03-architecture.md: Monorepo 结构、Agent Loop、4 种 ContentGenerator、Arena 模式、MCP/扩展/Hook/Skill/子代理系统
  • 04-tools.md: 16 个核心工具详细参数和源码路径、工具调度管线

Goose — 从 2 文件扩展到 6 文件

  • 01-overview.md: 概述、4 种运行模式、58+ 提供商、Recipe + 调度系统
  • 02-commands.md: 15 个 CLI 命令 + 16 个交互式斜杠命令 + MCP 内置服务器
  • 03-architecture.md: Crate 结构、MCP 原生 7 种传输类型、安全检查器 4 层管道、PermissionJudge LLM 智能判断、Electron 桌面应用
  • 04-extensions.md: 11 个 Platform Extension + 4 个 MCP 内置服务器、工具执行管线

OpenCode — EVIDENCE.md 大幅扩充

  • 从 ~50 行扩充到 ~280 行
  • 新增:19+ 工具详细参数和源码路径、23 个 TUI 斜杠命令、37 个 LSP 服务器列表
  • 新增:3 个 Auth 插件详情(Copilot/Codex/GitLab)、models.dev 集成、配置优先级链
  • 修正:明确为 TypeScript(Bun)而非 Go

对比文档更新

  • features.md: 修正命令数(Qwen Code 41、Goose 16+15、OpenCode 23)
  • features.md: 补充 Qwen Code /review Skill(4 代理并行)和 /vim 支持
  • tools/README.md: 更新 Qwen Code(6 文件)和 Goose(5 文件)索引
  • README.md: 更新导航链接和快速对比表

Source Repositories Analyzed

  • /root/git/qwen-code — commit 0b8ff03f8(2026-03-26)
  • /root/git/goose — commit 0ace570(2026-03-21)
  • /root/git/opencode — commit 41c77ccb3(2026-03-24)

Test Plan

  • 所有源码路径已从实际仓库验证
  • 命令数/工具数已从源码逐文件计数
  • 架构图已与实际源码对照确认
  • features.md 数据已交叉验证

Copy link
Copy Markdown
Owner Author

@wenshao wenshao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review: Deep source analysis PR

总体评价

这是一个高质量的源码分析 PR,为 Qwen Code(4 篇新文档)、Goose(4 篇新文档)和 OpenCode(EVIDENCE.md 扩充)提供了深度的源码级文档。+1580/-53 行,14 个文件,工作量大且来源标注清晰。


✅ 值得肯定的

  • Goose 文档非常出色:4 篇覆盖概述/命令/架构/扩展,crate 结构图、7 种传输类型、安全检查器管道、PermissionJudge 等细节此前文档库未覆盖
  • Qwen Code 文档系统化:41 命令逐一列出含子命令、4 种 ContentGenerator 区分清晰、Arena 模式源码路径完整
  • 源码路径标注:每个数据点都标注了源码文件路径,可审计
  • features.md 更新:命令数、/review Skill、/vim 支持等交叉引用同步

⚠️ 需要讨论的问题

1. OpenCode 语言描述冲突(最关键)

PR 将 OpenCode 从 "Go + TypeScript" 改为 "TypeScript(Bun monorepo,SolidJS TUI)"

但本仓库此前已通过 二进制分析 确认 OpenCode v1.2.15 是 Go + TypeScript 混合:

  • .opencode 二进制为 152MB ELF x86-64(Go 编译产物)
  • 数据库层使用 go-sqlite3 + sqlc + goose(Go 库)
  • internal/db/ 目录为 Go 源码
  • 03-architecture.md 第 215 行记录了 "Go→TypeScript 渐进重写"

建议:保持 "Go + TypeScript(混合 Monorepo)" 描述,或注明版本差异(可能 PR 作者分析的是更新版本?)。

2. Qwen Code 命令数:41 vs 40

我们此前验证为 40 命令(39 斜杠 + 1 Skill /review)。PR 中是 41。差异可能来自:

  • 计数方式不同(是否包含 /review Skill)
  • 或 v0.13.0 新增了一个命令

建议:明确列出 41 条命令的完整列表(PR 中的 02-commands.md 应已包含),便于交叉验证。

3. Goose EVIDENCE.md 未更新

PR 新增了 4 篇 Goose 文档(01-04),但原有的 docs/tools/goose/EVIDENCE.md 未同步更新。新文档中的源码发现(如 PermissionJudge、7 种传输类型)应补充到 EVIDENCE.md 作为永久证据记录。

4. 部分 deep-dive 文章可能需要同步

新文档中发现的数据(如 Goose 7 种传输类型 vs 我们 MCP deep-dive 中列出的 3 种、Qwen Code 41 命令 vs 功能缺口文档中的 40)可能与现有 deep-dive 文章有冲突。合并后需要做一次跨文件一致性检查。


📝 具体建议

  1. OpenCode 语言:建议 "Go + TypeScript(混合 Monorepo,Go 后端 + TS TUI)" 而非纯 TypeScript
  2. Goose README.md:新增的 docs/tools/goose/README.md 应列出 EVIDENCE.md(现有文件)
  3. Qwen Code 03-architecture.md:提到 GEMINI.md 0 引用——与我们的二进制验证一致 ✅
  4. features.md Goose 命令数16(斜杠)+ 15(CLI) 格式很好,比之前的 16 更准确

结论

推荐合并,但建议先修复 OpenCode 语言描述(与已有二进制验证冲突),其余问题可合并后修复。

审查基于:本仓库已有的二进制分析数据(Claude Code v2.1.84、Qwen Code v0.13.0 cli.js、OpenCode v1.2.15 ELF、Codex CLI Rust 二进制、Gemini CLI v0.34.0 npm)

@wenshao
Copy link
Copy Markdown
Owner Author

wenshao commented Mar 27, 2026

Code Review: Deep source analysis PR

总体评价

高质量的源码分析 PR,为 Qwen Code(4 篇)、Goose(4 篇)和 OpenCode(EVIDENCE.md 扩充)提供深度源码级文档。+1580/-53 行,14 个文件,源码路径标注清晰。

✅ 值得肯定

  • Goose 文档出色:crate 结构图、7 种传输类型、安全检查器管道、PermissionJudge 等细节此前文档库未覆盖
  • Qwen Code 系统化:41 命令含子命令、4 种 ContentGenerator、Arena 源码路径完整
  • features.md 同步更新:命令数、/review Skill、/vim 等交叉引用已同步

⚠️ 需要讨论

1. OpenCode 语言描述冲突(关键)

PR 改为 "TypeScript(Bun monorepo)",但本仓库此前通过二进制分析确认 OpenCode v1.2.15 是 Go + TypeScript 混合:

  • .opencode 二进制为 152MB ELF x86-64(Go 编译产物)
  • 数据库层用 go-sqlite3 + sqlc + goose
  • 03-architecture.md 记录 "Go→TypeScript 渐进重写"

建议保持 "Go + TypeScript" 或注明版本差异。

2. Qwen Code 命令数 41 vs 40

此前验证为 40(39 斜杠 + 1 Skill)。差 1 个,可能是计数方式或新增命令。建议明确完整列表。

3. Goose EVIDENCE.md 未同步

新增 4 篇文档但原有 EVIDENCE.md 未更新,新发现(PermissionJudge、7 传输类型)应补充。

📝 建议

  1. OpenCode 语言:建议 "Go + TypeScript(混合 Monorepo)"
  2. Goose README.md:应列出 EVIDENCE.md
  3. 合并后需跨文件一致性检查(deep-dive 文章中的数据)

推荐合并,建议先修复 OpenCode 语言描述。

审查基于:本仓库二进制分析数据(Claude Code v2.1.84、Qwen Code v0.13.0、OpenCode v1.2.15、Codex CLI Rust、Gemini CLI v0.34.0)

- Qwen Code: Add 4 new docs (01-overview, 02-commands, 03-architecture, 04-tools)
  covering 41 slash commands, 16 core tools, Arena mode, extension system,
  MCP integration, Hook/Skill/Subagent systems, full source file paths
- Goose: Add 4 new docs (01-overview, 02-commands, 03-architecture, 04-extensions)
  covering 16 interactive + 15 CLI commands, MCP native architecture with 7
  transport types, 11 Platform Extensions, 4 MCP builtin servers, security
  inspector pipeline, Recipe system, Electron desktop app
- OpenCode: Deepen EVIDENCE.md from ~50 lines to ~280 lines with exact source
  paths for all 19+ tools, 23 TUI slash commands, 7 agents, 37 LSP servers,
  3 auth plugins, models.dev integration, permission system
- Update features.md: correct command counts (Qwen Code 41, Goose 16+15,
  OpenCode 23), add /review skill for Qwen Code, /vim support
- Update tools/README.md: reflect new multi-file docs for Qwen Code (6 files)
  and Goose (5 files)
- Update main README.md: navigation links to deep-dive docs

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
@wenshao wenshao force-pushed the feat/deep-source-analysis-2026-03 branch from a2c47de to 9f2a95e Compare March 27, 2026 17:56
@wenshao
Copy link
Copy Markdown
Owner Author

wenshao commented Mar 27, 2026

Re-review: OpenCode 语言问题已验证 ✅

刚刚升级到 OpenCode v1.3.3 并重新分析二进制:

$ file .opencode
ELF 64-bit LSB executable, x86-64  # 看似 Go,实际是 Bun 编译的 TS

$ strings .opencode | grep -c "drizzle"
276  # Drizzle ORM(TypeScript ORM)

$ strings .opencode | grep -c "go-sqlite3"
0  # 之前我们说的 go-sqlite3 是错的

$ strings .opencode | grep "node_modules"
node_modules/.b...  # Bun 特征

结论:PR 作者是对的。 OpenCode 的 ELF 二进制是 Bun 编译的 TypeScript,不是 Go。之前我们在 v1.2.15 的分析结论有误——误将 Bun ELF 当成了 Go ELF(两者 file 命令输出相同)。

数据库也是 Drizzle ORM(276 引用),不是之前说的 go-sqlite3 + sqlc。

之前 review 的 3 个问题更新:

问题 之前评价 现在
OpenCode 语言 🔴 冲突 PR 正确,我们需要修正
Qwen Code 41 命令 🟡 差 1 🟡 保持(可能计数方式差异)
Goose EVIDENCE.md 🟡 未同步 🟡 保持(合并后可补)

建议:直接合并。 OpenCode 语言问题是我们需要修正的,不是 PR 的问题。

@wenshao wenshao merged commit e55af2c into main Mar 27, 2026
wenshao added a commit that referenced this pull request Mar 28, 2026
- Fix license name: "Sisyphus Use License" → "Sustainable Use License"
  (SUL = Sustainable, not Sisyphus — fact error survived 5 rounds)
- Remove "非 OSI 标准" editorial comment from header (keep simple like other docs)
- Remove redundant 劣势 #3 (依赖 OpenCode) — already covered by #1 (基座已归档)
- Add source annotation to Stars timeline ("基于 GitHub 数据")

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant