siGit CLI

si.sigit由 sigit.si 发布v1.3.0更新于 Oct 30, 2026

Run sigit.si locally: browse repos, search code, manage PRs, issues, and Cloud Sessions.

发布方自己的服务:siGit

已验证STDIO仅桌面效率与工作流开发者工具

概览

AI 生成的概览

本地 siGit CLI 服务器,通过 stdio 让 AI 助手操作 sigit.si 的仓库、拉取请求、议题、代码搜索和 Cloud Sessions。

可以做什么
  • 浏览和创建仓库,使用已登录凭据克隆,并把分支发布为站点
  • 列出、查看和创建拉取请求,默认使用当前检出目录的仓库和分支
  • 列出和创建议题,并在指定 ref 上搜索或查看代码
  • 设置和查看提交状态检查
  • 启动、列出和查看 Cloud Sessions 及其记录
  • 查看账户、模型和账单信息,或直接调用原始 API 端点
适用场景
适合在 sigit.si 仓库中工作时使用,让助手在终端里处理拉取请求、议题、代码搜索和状态检查;在仓库检出目录内运行时,仓库会被自动推断。
运行要求
以本地进程运行,通过 cargo 安装 sigit-si-cli 包,并以 si mcp 通过 stdio 启动。需要已通过 si auth login 登录的 sigit.si 账户,或提供 SIGIT_TOKEN 会话令牌(会覆盖已存储的令牌)。可用 SIGIT_TOOLSETS 或 --toolsets 限制暴露的工具;SIGIT_HOST 或 --environment 可切换到非默认服务器。
安装前请注意
部分工具会写入数据:创建仓库、拉取请求、议题、状态和会话,以及发布站点。SIGIT_TOKEN 是会话凭据,不应放入共享配置。可用 --read-only 移除所有写入类工具。仓库、议题和代码搜索数据经由 sigit.si 的 MCP 端点提供,内容会发送到该服务。

安装

在 SourceWeft 中

  1. 打开 控制台中的 siGit CLI,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

sigit-si-cli

si is the command line interface for sigit.si — sign in, manage repositories, review pull requests, triage issues, search code, and drive Cloud Sessions, all from the terminal.

Install

sh
cargo install --path crates/cli

This installs a binary named si.

Usage

sh
si auth login                     # sign in with your sigit.si accountsi repo list                      # your repositoriessi repo create my-project --privatesi repo clone seto/my-project      # clone with your sign-in, no token in the URLsi auth setup-git                  # or let plain `git clone` use it too
# Inside a repo checkout, si infers OWNER/NAME from the sigit.si git remote —# --repo is only needed when you're not standing in one.si pr listsi pr view 42si pr create --title "Fix the thing" --base main
si issue list --state opensi issue create --title "Bug: ..." --body "Steps to reproduce..."
si code search "TODO" --ref mainsi code view README.md
si status set HEAD --state success --context ci/testsi status view                     # the checks on HEAD
si run start --repo seto/app "Fix the failing build"si run listsi run view 12                     # status and the end of the transcript
si site publish --wait             # publish the default branch as a sitesi site view
si session new --title "Refactor auth"si modelssi billing show
si auth signup                     # also: resend, reset-password, delete-account
si browse                          # open the current repo on sigit.sisi api repos                       # raw escape hatch for any endpoint

Pass --json to any read command for machine-readable output.

As an MCP server

si mcp serves these same commands to an AI agent as MCP tools over stdio:

jsonc
{  "mcpServers": {    "sigit": { "command": "si", "args": ["mcp"] }  }}

There is nothing to authenticate — the server reuses the token si auth login stored. Point your editor at the directory of a checkout and repository tools default to the repo you're standing in, so the agent can say "list the open pull requests" without naming one; create_pull_request likewise defaults its head to the checked-out branch.

Trim the tool list when an agent doesn't need all of it:

sh
si mcp --read-only                    # drop every tool that writessi mcp --toolsets repo,issue,pr,code  # or SIGIT_TOOLSETS=repo,issue

Toolsets are account, repo, issue, pr, code, hook, session, and billing. sigit.si also hosts a remote MCP server at /api/v1/mcp for clients that would rather connect over HTTP than spawn a binary.

Environments

sh
si --environment dev repo list          # a local sigit.si server (localhost:3000)SIGIT_HOST=staging.example.com si repo list

Credentials are stored per-environment in ~/.sigit/token (or ~/.sigit-dev/token). SIGIT_TOKEN overrides the stored token, which is how CI authenticates without an interactive login.

Workspace layout

  • crates/sigit-si-api — a standalone, typed Rust client for the sigit.si JSON API. No CLI dependencies (clap, dialoguer, …); usable from any Rust project that wants to talk to sigit.si.
  • crates/cli — the si binary: command parsing, terminal rendering, git remote resolution, and credential storage, built on top of sigit-si-api.

Issues, pull requests, and code search have no REST surface on sigit.si yet — they're served over the same MCP (Model Context Protocol) JSON-RPC endpoint the AI agent uses. sigit-si-api speaks that transport internally; it's not visible at the call site.

MCP Registry listings

This repo publishes two entries to the official MCP Registry, one per way of reaching the same tools, so registry-aware clients can add either in one click:

ListingFileWhat it is
si.sigit/cliserver.jsonThis CLI: a cargo package listing that runs si mcp over stdio.
si.sigit/sigitserver-sigit.jsonThe hosted server at sigit.si/api/v1/mcp, a remote Streamable-HTTP listing. The endpoint sigit-si-api talks to, and the official server siGit Code bakes in.

The CLI holds server.json because it's what this repo ships, and that's the filename mcp-publisher defaults to. Sibling listings are named after their own leaf, so the file says which entry it publishes.

Both go out through the release-mcp-registry.yml workflow, and both prove namespace ownership with a DNS TXT record on sigit.si rather than GitHub OIDC, so one credential covers the pair. A package listing has a second hurdle: the registry fetches the crate from crates.io and looks for the mcp-name: si.sigit/cli marker in its README, which is why that marker sits in this file. Crate versions are immutable, so a release that ships without the marker can never be listed, and fixing it costs a new version. The internal setup and release runbook live with the server (private sigit-si repo).

To cut a release, bump [workspace.package].version and the sigit-si-api dependency in the root Cargo.toml, merge development into main, and push a vX.Y.Z tag. release-crates.yml checks the crate versions against the tag, publishes whichever of sigit-si-api and sigit-si-cli isn't on crates.io yet (through Trusted Publishing, so no token is stored), then dispatches release-mcp-registry.yml.

Development

sh
make build   # cargo build --workspacemake test    # cargo test --workspacemake lint    # cargo clippy --workspace --all-targets -- -D warningsmake fmt     # cargo fmt --allmake check   # fmt + lint + test

Disclaimer

All em dashes are written by Seto Elkahfi.

License

Apache-2.0

来源:README.md,提交 a3ab1b3

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:该软件包类型无法在沙箱中运行。

版本历史

2
  1. v1.3.0最新Oct 30, 2026
  2. v1.1.0Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。

其他 Sigit 集成