vtemian/octto
GitHub: vtemian/octto
octto 是一个基于浏览器的交互式头脑风暴工具,用于与 AI 智能体协作,解决终端输入效率低下的问题。
Stars: 391 | Forks: 26
# octto 工具
一个用于AI头脑风暴的交互式浏览器界面。告别终端输入,开始在浏览器中点击。
https://github.com/user-attachments/assets/9ba8868d-16f3-4451-9b73-6b7e1fc54655
当你描述你的想法时,octto 会打开一个交互式界面:
- 点击选项而非输入
- 一次性查看所有问题
- 按任意顺序回答
- 即时查看后续问题
- 可视化地审阅最终方案
**10分钟的终端输入 → 2分钟的点击。**
## 快速开始
添加到 `~/.config/opencode/opencode.json`:
```
{ "plugin": ["octto"] }
```
选择 **octto** 智能体:
```
I want to add a caching layer to the API
```
一个浏览器窗口将打开。点击你的答案。完成。
## 交互式界面
### 丰富的题型
无需再输入所有内容。从14种可视化输入类型中选择:
| 类型 | 您看到的 |
|------|----------|
| `pick_one` | 单选按钮 |
| `pick_many` | 复选框 |
| `confirm` | 是/否按钮 |
| `slider` | 可拖动的范围条 |
| `rank` | 拖动排序 |
| `rate` | 星级评分 |
| `thumbs` | 赞/踩按钮 |
| `show_options` | 展示优缺点的卡片 |
| `show_diff` | 并排代码差异对比 |
| `ask_code` | 带语法高亮的编辑器 |
| `ask_text` | 文本输入(在需要时) |
| `ask_image` | 图片上传 |
| `ask_file` | 文件上传 |
| `emoji_react` | 表情选择器 |
### 实时更新
- 当您回答完上一个问题,下一个问题即会显示
- 进度指示器显示剩余问题数
- 已完成的答案可供参考
- 最终方案渲染为可供审阅的章节
### 并行分支
您的请求将被拆分为2-4个探索分支。所有初始问题会一次性出现:
```
┌─ Branch 1: [question card]
Request ─┼─ Branch 2: [question card]
└─ Branch 3: [question card]
↓
Answer any, in any order
```
每个分支都会深入进行直到满足需求。有些只需2个问题,有些则需要4个。
## 幕后工作原理
### 3个智能体
| 智能体 | 职责 |
|--------|------|
| **bootstrapper** | 将您的请求拆分为多个分支 |
| **probe** | 判断一个分支是否需要更多问题 |
| **octto** | 编排整个会话流程 |
### 流程
1. Bootstrapper 从您的请求中创建2-4个分支
2. 每个分支获得一个初始问题 → 全部在浏览器中显示
3. 您回答(点击,而非输入)
4. Probe 智能体评估:需要更多问题还是完成?
5. 重复直到所有分支完成
6. 显示最终方案供您批准
7. 设计保存到 `docs/plans/`
## 配置
可选的 `~/.config/opencode/octto.json`:
```
{
"port": 3000,
"agents": {
"probe": { "model": "anthropic/claude-sonnet-4" }
}
}
```
### 选项
| 选项 | 类型 | 默认值 | 描述 |
|------|------|--------|------|
| `port` | number | `0` (随机) | 用于浏览器界面服务器的固定端口 |
| `agents` | object | - | 覆盖智能体模型/设置 |
| `fragments` | object | - | 注入到智能体提示词中的自定义指令 |
### 片段
将自定义指令注入智能体提示词中。适用于按项目或全局自定义智能体行为。
**全局配置** (`~/.config/opencode/octto.json`):
```
{
"fragments": {
"octto": ["Always suggest 3 implementation approaches"],
"probe": ["Include emoji in every question"],
"bootstrapper": ["Focus on technical feasibility"]
}
}
```
**项目配置** (位于项目根目录的 `.octto/fragments.json`):
```
{
"octto": ["This project uses React - focus on component patterns"],
"probe": ["Ask about testing strategy for each feature"]
}
```
片段会被合并:全局片段首先加载,项目片段随后追加。每个片段都会成为添加到智能体系统提示词前的 `` 块中的一个要点。
### 环境变量
| 变量 | 描述 |
|------|------|
| `OCTTO_PORT` | 覆盖端口(优先于配置文件) |
对于 Docker 工作流,设置一个固定端口:
```
OCTTO_PORT=3000 opencode
```
## 开发
```
bun install
bun run build
bun test
```
## 许可证
MIT
标签:AI助手, AI编程工具, OpenCode集成, 交互式UI, 交互设计, 可视化输入, 多问题表单, 头脑风暴工具, 实时反馈, 并行分支, 效率提升, 数据可视化, 浏览器插件, 用户界面设计, 终端替代, 编码辅助, 自动化攻击