Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,11 @@ npm --prefix apps/desktop run prepare:pragent # 对齐嵌入式 pr-agent 运
- **独立 Go module,不入 npm/Nx**:自带 `cli/go.mod`(纯 Go、无 CGO),非 workspace 成员、不进 Nx——根 `lint/typecheck/test/build` 不覆盖它,CLI 自成一套。
- **本地命令**(在 `cli/`):`go vet ./...` → `go test ./...` → `go build ./...`,改完 CLI 三步过了再收尾。`go.sum` 入库(锁校验和);构建产物(`bin/` / `meebox` 等)已 gitignore(见 `cli/.gitignore`)。
- **CI 分两条**:PR 门禁 [ci-cli.yml](.github/workflows/ci-cli.yml)(路径过滤 `cli/**`,跑 vet/test/build,与 Node 的 ci.yml 分开);发布产出在 [release.yml](.github/workflows/release.yml) 的 `cli` job(`v*` tag 触发,交叉编译 Windows / macOS / Linux×2,出压缩包挂同一 Release;Windows / macOS 用 `.zip`、Linux 用 `.tar.gz`)。版本经 `-ldflags -X …/cmd.version` 注入、与应用同 tag。
- **压缩包即 skill 目录**:CLI 压缩包除二进制外一并打包 `LICENSE` + `cli/README.md` + `cli/SKILL.md`(frontmatter `name: meebox`)——解压投放到 agent 的 skills 目录即得可用 skill(面向 agent 交付的主形态)。改命令树 / 边界时同步更新 `SKILL.md` 与 `README.md`。
- **压缩包即 skill 目录**:CLI 压缩包除二进制外一并打包 `LICENSE` + `cli/README.md` + `cli/SKILL.md`(frontmatter `name: meebox`)——解压投放到 agent 的 skills 目录即得可用 skill(面向 agent 交付的主形态)。
- **写边界**:CLI 做浏览 + **评审写动作**——approve / needswork(远端评审决断)与 comment(发评论),经服务端专用端点(复用 GUI 同源 controller)。仍**不开放**:merge(合并)与 pr-agent 变更类工具(publish 等,`instruct` 只读白名单 describe/review/ask/improve 在 CLI 与服务端双重把关)。新增命令先确认对应 API 端点已存在;放开新写端点须评估远端副作用。CLI 不得绕过 API 直连应用内部。
- **契约同步**:CLI 与服务端唯一耦合是 HTTP/JSON 线协议。当前手写 Go 结构对齐契约,契约增长后转 OpenAPI / Schema 代码生成。默认输出 YAML(人类向、保序)、`--output json` 供机器(亦保序);PR 列表返回精简投影、PR 标识对外为 `id`、PR 关联命令用 `--pr <id>`。连接配置走 flag / 环境变量(`MEEBOX_API_URL` / `MEEBOX_TOKEN`)/ `~/.code-meeseeks/cli.yaml`,**不读 GUI 的 `config.yaml`**(避免越权触达连接层机密);代理遵循标准 `HTTP(S)_PROXY` / `NO_PROXY`。
- **领域归类**:CLI / API / GUI 都是同一 service 层之上的薄前端,命令树与端点应**镜像业务领域**。新增 CLI 命令 / API 端点按语义归位——PR 相关入 `pr`、评审 Agent 入 `agent`;与具体 PR / Agent 无关的**系统性 / 会话级**操作(whoami / version 等)置于**根层级**,不套领域组。归属看**语义而非是否 PR 维度**(如 `categories` / `refresh` 无 `--pr` 仍属 `pr`——它们服务于 PR 列表)。完整理由见 [CLI 设计](docs/arch/04-integration/02-cli.md)。
- **文档对齐**:CLI 改动(命令树 / 写边界 / 输出契约 / 连接配置)须同步三类文档,缺一即漂移——① **arch 设计**:[docs/arch/04-integration/02-cli.md](docs/arch/04-integration/02-cli.md)(命令树与边界),涉及 API 端点再改 [01-service-api.md](docs/arch/04-integration/01-service-api.md)(端点表);② **guide 用法**:[docs/guide/06-cli.md](docs/guide/06-cli.md);③ **skill 交付**:`cli/SKILL.md` + `cli/README.md`(随压缩包投放为 agent skill 的主形态)。新增 / 改命令务必三类齐更。

## 约定

Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,9 @@ Code Meeseeks(内部开发代号 `meebox`)是命令行工具 [pr-agent](http

#### 🔌 外部集成与 CLI

- **本地 API 服务** —— 可选开启一个本机 API,把 PR 浏览与评审 Agent 操作以接口形式开放给外部 agent / 脚本;默认仅本机可达、强制访问令牌鉴权,不开放合并与变更类工具。
- **跨平台命令行工具 `meebox`** —— 随发布提供 Windows / macOS / Linux 命令行客户端,经本地 API 浏览 PR、操作评审 Agent 并执行评审写动作(approve / needswork / comment),便于脚本与外部 agent 集成;压缩包即 agent skill 目录,可直接投放。用法见 **[CLI 命令行工具](docs/guide/06-cli.md)**。
- **可供外部 Agent 集成** —— PR 评审能力经本机 HTTP 接口 + 跨平台 CLI 对外开放,让本机 agentic 工具(如 claude / codex)、脚本、CI 把 PR 发现 / 浏览 / 评审 Agent 操作纳入自动化流程。
- **本地 API 服务** —— 可选开启一个本机 API,将 PR 发现 / 浏览 / diff / 评审 Agent 操作 / 评审写动作以语言无关的 HTTP 契约开放出来;默认仅本机可达、强制访问令牌鉴权,不开放合并与变更类工具。
- **跨平台命令行工具 `meebox`** —— 随发布提供 Windows / macOS / Linux 客户端,经本地 API 浏览 PR、驱动评审 Agent 并执行评审写动作(approve / needswork / comment);`meebox login` 一次存好凭据即可免传参,**压缩包即 agent skill 目录、可直接投放到 agent 的 skills 目录**。用法见 **[CLI 命令行工具](docs/guide/06-cli.md)**。

#### 🎨 界面与体验

Expand Down
249 changes: 0 additions & 249 deletions apps/desktop/src/main/services/api-server/routes.ts

This file was deleted.

Loading
Loading