# 00 产品定义 ## 一句话 G-CODE 是跑在 Windows 上的个人 Coding Agent:用户在终端里下任务,模型按 ReAct 循环读文件、改文件、跑命令、必要时开浏览器;过程画在自研 TUI 上。经典 CMD 无法承载 TUI 中文输入时,自动回退 REPL,保证还能干活。 ## 它不是什么 - 不是 QozeCode 换皮 - 不是 IDE 插件,也不是 Web 对话页 - 不是「十家模型 + 语音 + 菜单栏」的功能全集 ## 两条路径 | 路径 | 作用 | |------|------| | 参考 | `D:\ideaProject\QozeCode-main` | | 实现 | `D:\ideaProject\gcode` | | 方案 | 本目录 | ## 已拍板 | 决策 | 选择 | |------|------| | 主界面 | 自研 Textual TUI。模块:消息列表、思考区、工具状态、底部输入。观感可与 Qoze 大差不差,品牌 / CSS / 文案自己写 | | Windows 输入 | **方案 C**:能跑 TUI 的终端开 TUI;conhost / 经典 cmd **拒绝 TUI**,提示改用 Windows Terminal,并自动进入 REPL | | cmd 里 TUI 打中文 | **不作为验收项**(业界基本做不到) | | 多模型 | yaml 注册表;一期只实现 `openai_compatible`(DeepSeek / 千问 / 智谱 / Kimi / Azure 兼容 / LiteLLM / Agicto) | | 浏览器 | 只做 Microsoft `@playwright/mcp`。无 Node 则提示不可用,不做 Python Playwright 备选 | | 人在回路 | 写文件展示 diff 后 y/N;跑命令展示命令后 y/N。拒绝则写回 ToolMessage,模型改方案 | | 配置根 | 单一 home:Windows 用 `%APPDATA%\gcode`,项目级用 `/.gcode` | ## 一期做 - LangGraph 两节点 ReAct:`llm_call` ⇄ `tool_node` - 工具:读文件、列目录、精确替换、执行命令(含 Windows 编码与超时杀进程) - HITL、SQLite 会话、短静态 prompt + 动态上下文 - 终端探测 + TUI + REPL 回退 + `/edit` - 模型注册表与启动选模型 - 薄 MCP 客户端,默认只接 Playwright MCP ## 一期不做 - Skills、Subagent、Plan 模式(Qoze README 有、代码无,G-CODE 不宣传未实现功能) - Island 菜单栏、语音 / PyAudio、飞书 - 进程内 Playwright、`chrome-devtools-mcp`(附着已开 Chrome,不是 Playwright) - Vertex / Anthropic / Bedrock 原生协议 - 全局单例 `llm` / `agent`;工具反向 import 图模块 ## 验收原则 1. 以代码为准,文档不写没做的功能 2. 核心图不依赖 TUI:REPL 与 TUI 都只消费 `astream` 3. 能 15 分钟讲完:输入从哪进、图怎么转、工具如何确认、会话存在哪 4. 密钥只放用户目录或环境变量,不进 git