You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
2.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 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`,项目级用 `<cwd>/.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