本地 intent-engineering Journey 层:确认方向,按站推进,留下可恢复记录——执行交给 Codex。
Harnesses are for intent; Codex is for execution.
Orange 基于 @openai/[email protected]。它不替代 Codex 的模型、工具与 sandbox;它保存并投影 WHAT(要去哪、证据是什么、这一站发生了什么),把 HOW(改代码、跑命令)留给 Codex 的宽行动空间。
Orange 对齐一组公开讨论中的原则(启发,非官方背书):
| 原则 | 含义 | 在 Orange 中 |
|---|---|---|
| Intent Engineering | 少规定步骤,多描述结果 | Charter / 抵达证据 / 人确认 |
| Harness = intent | WHAT 升值,HOW 易腐烂 | 状态只承载意图与紧凑 Journal |
| Bitter Lesson Engineering | 勿用人类流程毒化模型 | 不自建第二套 agent runtime |
| Good harness | 丰富上下文,非逐步剧本 | Experience + compact 恢复上下文 |
| Fabric | 用 pattern 组织意图 | Lens 式短提示;不是 Fabric runtime |
更完整的映射与「刻意不做」见 docs/intent-engineering.md。
适合:本地、有人值守、已会 Codex、关心意图是否可确认/可恢复。
不适合:无人值守 agent、多租户 SaaS、期望通用第二代 harness。
只要意图仪式、不要 Orange 运行时:npx skills add https://github.com/civaapple-alt/orange --skill intent-workshop。确认后的 Charter 写在当前工作区 docs/journey/<slug>/charter.md。
v0 自 dogfood 成长,现以 MIT 公开;接口仍可能偏作者向。
| 概念 | 一句话 |
|---|---|
| Spark | 触发点:为什么现在要动 |
| Intent Workshop / Lens | 最多三轮短澄清(Problem / Compass / Frames / Challenge / Alignment),可 skip |
| Charter | 人确认后的方向、边界、抵达证据与证伪信号 |
| Station + Journal | 一站 Codex 执行;确认后的紧凑回顾写入 Journal(非聊天 transcript) |
| Experience | 作者 opt-in 的可复用经验,带进后续旅途 |
flowchart LR
Spark[Spark] --> Workshop[Intent Workshop]
Workshop --> Charter[确认 Charter]
Charter --> Station[Codex Station]
Station --> Recap[确认 Recap]
Recap --> Journal[Journal]
Journal --> Next{继续?}
Next -->|下一站| Station
Next -->|改向| Redirect[Redirect]
Redirect --> Station
Next -->|抵达| Arrive[Arrival Review]
Arrive --> Done[arrived]
- Orange 管 Journey 对象与确认边界;Codex 管 thread 与工具。
- Journal 不是完整对话;不持久化 reasoning / 原始命令 / MCP body。
- Station 中断可恢复;thread 丢失时需人确认 continuity break。
- 分工与状态机细节见 docs/architecture.md。
| 必须 | Node.js 22+、Git、当前目录为 Git worktree、Codex 已登录、可写 ~/.orange |
| 推荐 | 先读上文概念;跑通 orange doctor |
| 可选 | Web 设置调权限 / Codex mode;DeepSeek override 见配置文档 |
检查项与失败处理:docs/prerequisites.md(勿在 doctor 未绿时强行开 Journey)。
在目标 Git 仓库中(或先 git init):
npm install
npm --prefix frontend approve-scripts esbuild
npm install --prefix frontend
npm run build
npm link
orange doctor
orange web浏览器打开打印的 http://127.0.0.1:4189/(loopback 前台;Ctrl+C 停服务)。
在 Web 中:
- 新建 Journey,提交 Spark(或勾选短任务走 Quick Charter)。
- 完成 Intent Workshop → 确认 Charter。
- 输入 Station 目标并出发 → 确认 recap → 写入 Journal。
- 侧栏 设置(全屏叠层,不卸载当前 Journey)可切换权限与 Codex inherit/override。
常用选项:
orange web --no-open
orange web --port 4189前端热更新开发:
npm run web:dev打开 http://127.0.0.1:5173/(API 默认 4189)。改 src/ 服务端需重启 dev 或再 build:server。
无浏览器、脚本恢复或诊断时使用 orange / orange new / orange resume / orange list。
完整命令、Workshop 键盘流、Journey 内 / 命令 → docs/cli.md。
开发 Orange 源码自身:orange dev(见 CLI 文档与 dogfood-journey.md),不是日常产品入口。
- 默认 coding:
workspace-write(改代码;Station 内git commit/push通常不行)。离线 / 只读 / 完整访问与 Codex override → docs/codex-config.md 或 Web 设置。 orange web仅 loopback;写请求需同源 Origin;可选 bearer。- 对外写入/push/发布等依赖「先确认」约定,不是硬沙箱替代品;不适合无人值守。
- 状态在
~/.orange/(不进业务仓库);generation1。
npm run typecheck
npm test
npm run build真实 SDK 验收(耗额度,非默认 CI):
npm run accept:codex| 文档 | 内容 |
|---|---|
| docs/intent-engineering.md | 背景文献与 Orange 映射 |
| docs/architecture.md | 领域模型、线程、状态、边界 |
| docs/web-journey.md | Web cockpit 设计与行为 |
| docs/prerequisites.md | doctor 与前置细节 |
| docs/cli.md | CLI 命令与恢复 |
| docs/codex-config.md | 权限与 provider override |
| docs/dogfood-journey.md | 五日 dogfood 手册 |
| CHANGELOG.md | 变更记录 |