Jules会话管理工具

Juleson是一个Go命令行工具和MCP服务器,用于管理Google的Jules编码代理会话,支持源码发现、会话管理和开发任务。

  • by SamyRai
  • Go
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 SamyRai/juleson

使用说明

Juleson

Juleson是一个Go命令行工具和MCP服务器,用于操作谷歌的Jules 编码代理会话。它为源发现、会话提供本地命令 Jules创建了pull请求审查、模板管理和 开发任务。可重复使用的Jules REST API客户端可用作 github.com/SamyRai/go-jules.

发布资产安装两个可执行文件名:

  • juleson:面向用户的CLI。
  • jsn:同一CLI的短别名。

存储库还包含 builder,一个内部构建/测试/发布助手。 Juleson在该模块中保留了Jules API、操作员工作流程和MCP服务器; 通用AI编排属于此存储库之外。

需求

  • 对于源代码构建,请转到1.25.11或更高版本。发布版本使用Go 1.26.4。
  • Jules API键,用于调用Jules API的命令。
  • GitHub令牌仅在检查或合并Jules创建的pull请求时使用。

安装

Linux和macOS:

curl -L https://github.com/SamyRai/juleson/releases/latest/download/install.sh | bash

Windows PowerShell:

irm https://github.com/SamyRai/juleson/releases/latest/download/install.ps1 | iex

从源代码安装:

go install github.com/SamyRai/juleson/cmd/juleson@latest

本地构建:

go build -o bin/builder ./cmd/builder
./bin/builder build

看 安装 针对特定平台的选项。

配置

运行安装向导:

jsn setup

对于非交互式设置,请先设置环境变量。setup命令 读取它们并将结果值写入 configs/juleson.yaml:

export JULES_API_KEY="..."
export GITHUB_TOKEN="..."
jsn setup --non-interactive

Juleson寻找 juleson.yaml 在 ./configs,当前目录, $HOME, 和 /etc/juleson。它也加载 .env, $HOME/.env, $HOME/.juleson.env, 和 /etc/juleson/.env. JULES_API_KEY 直接从 环境。GitHub配置仅用于Jules创建的pull请求 背景。

看 配置 和 设置.

常用命令

以下示例使用 jsn 为简洁起见,但是 juleson 工作原理相同。

# Inspect available commands
jsn --help

# Work with Jules sources and sessions
jsn sources list
jsn sessions list
jsn sessions create sources/github/owner/repo "Fix failing tests"
jsn sessions create . --prompt-file task.md
jsn sessions create --no-source "Draft a migration plan"
jsn sessions batch sources/github/owner/repo task.md --parallel 3 --group-title "Fix CI"
jsn sessions watch SESSION_ID --follow-activities --cursor-output .juleson.cursor
jsn sessions approve SESSION_ID
jsn sessions artifacts list SESSION_ID
jsn sessions outputs SESSION_ID
jsn sessions preview SESSION_ID
jsn sessions apply SESSION_ID ./path/to/project --activity-id ACTIVITY_ID --artifact-index 0
jsn sessions apply SESSION_ID ./path/to/project --confirm
jsn official remote pull SESSION_ID

# Manage templates
jsn template list
jsn template show test-generation

# Jules-created pull request context
jsn pr list

# MCP server
jsn mcp serve --version
jsn mcp serve

# Development workflow for this repository
jsn dev build --all
jsn dev test --short
jsn dev check

看 CLI参考 用于命令映射和标志。

MCP服务器

Juleson通过stdio为MCP提供服务:

jsn mcp serve

使用 ghGitHub的CLI,或通用GitHub的官方GitHub MCP服务器 行动操作。

文档

相同的文档集发布到GitHub原生项目Wiki 导航。存储库 docs/ 目录仍然是真相的来源。

发展

go mod download
go test ./...
go run ./cmd/juleson --help

Go应用程序可以直接导入SDK包:

import jules "github.com/SamyRai/go-jules"

client := jules.NewClient(
    "api-key",
    jules.WithBaseURL("https://jules.googleapis.com/v1alpha"),
    jules.WithRetryAttempts(3),
)

SDK使用类型化的Jules状态和 time.Time 时间戳,遵循记录 会话/源/活动端点,并保持本地工件写入或补丁 应用程序内部代码中的应用程序。

CI工作流运行格式化、模块一致性、测试、linting、安全性 在Linux、macOS和Windows上进行扫描和构建。仅Markdown的更改将被忽略 按CI,因此仅文档更改应在本地检查 markdownlint '**/*.md'.

许可证

MIT。看 许可证.