SeaClip-Lite CLI 操作手册:基于 FastAPI + SQLite 的项目管理与 6-Agent 流水线编程控制
发布时间:2026/9/10 3:24:43 作者:尧图编辑部 阅读量:1,286

SeaClip-Lite CLI 操作手册基于 FastAPI SQLite 的项目管理与 6-Agent 流水线编程控制【免费下载链接】CLI-AnythingCLI-Anything: Making ALL Software Agent-Native -- CLI-Hub: https://clianything.cc/项目地址: https://gitcode.com/GitHub_Trending/cl/CLI-AnythingSeaClip-Lite 是一个基于 FastAPI SQLite 构建的轻量级项目管理看板提供问题跟踪、6-Agent CI/CD 流水线、GitHub 定时同步与活动流能力。cli-anything-seaclip是其官方 CLI harness通过 HTTP API 与只读 SQLite 查询实现对这些功能的纯命令行编程控制。阅读本文后你将掌握该 CLI 的安装、六大命令组、交互式 REPL、关键 API 端点与数据表结构并能将其无缝接入脚本或 Agent 工作流。概述一个无状态的 CLI 设计SeaClip-Lite CLI 是一个薄封装它本身不保存任何本地状态每一次调用都实时读取后端数据。核心设计原则包括无状态模型CLI 在两次调用之间不持有任何本地状态每个命令都在调用时从 API 或数据库读取。没有项目文件、会话或撤销/重做栈。双通道传输大多数 FastAPI 端点返回 JSON直接通过 HTTP 调用但部分端点返回 HTMX 局部片段而非 JSON这类数据改由直接 SQLite 只读查询提供见 后端实现 中的_query_db方法它使用 SQLite URI 只读模式file:{path}?modero打开数据库从设计上杜绝写入风险。面向 Agent 的输出CLI 支持--json标志输出结构化 JSON便于 LLM/Agent 解析与引用。架构分层层技术用途API 服务器FastAPIIssue CRUD、流水线控制、调度器同步数据库SQLite持久化存储 issues、agents、schedules、activityCLI 传输HTTPrequests针对 issues、pipeline、health 的 JSON API 调用CLI 传输SQLite只读 SQLite针对 agents、schedules、activity 的直接数据库读取从源码结构看CLI 入口 是一个 Click 应用将SeaClipBackend实例注入上下文ctx.obj所有子命令通过该后端对象路由到 FastAPI JSON 端点或 SQLite 数据库。cli组通过invoke_without_commandTrue实现无子命令时自动进入 REPL的行为。后端连接配置FastAPI 服务地址http://127.0.0.1:5200可通过SEACLIP_URL环境变量或--url选项覆盖SQLite 数据库路径由SEACLIP_DB环境变量指定。注意只有agent list、scheduler list、activity list需要它HTTP 通道的命令issue、pipeline不需要。在 seaclip_backend.py 中URL 解析优先级为--url参数 SEACLIP_URL环境变量 默认值http://127.0.0.1:5200并对末尾斜杠做rstrip(/)归一化。HTTP 请求统一走requests.Session默认超时 30 秒。安装cd agent-harness pip install -e .安装前提见 setup.pyPython 3.10依赖click8.0.0、prompt-toolkit3.0.0、requests2.28.0测试依赖pytest7.0.0、pytest-cov4.0.0通过[dev]extra 安装控制台命令cli-anything-seaclip由 entry_points 注册指向cli_anything.seaclip.seaclip_cli:main使用一次性命令健康检查cli-anything-seaclip --json server healthIssue 管理# 列出全部 issue cli-anything-seaclip --json issue list # 按状态 优先级过滤 cli-anything-seaclip --json issue list --status backlog --priority high # 创建 issue cli-anything-seaclip --json issue create --title Fix login bug --priority high # 移动到看板列 cli-anything-seaclip --json issue move ISSUE_UUID --column done # 更新状态 cli-anything-seaclip --json issue status ISSUE_UUID --set in_progress # 删除 issue cli-anything-seaclip --json issue delete ISSUE_UUID参数细节来自 issues.pyissue list支持--statusbacklog、todo、in_progress、done、--prioritylow、medium、high、critical、--search关键字、--limit整数限制条数issue create的--title为必填--description默认为空字符串--priority默认mediumissue move需要位置参数ISSUE_ID与必填的--columnissue status需要ISSUE_ID与必填的--set非 JSON 模式下issue 列表渲染为表格ID 取前 8 位、标题截断 40 字符创建/移动/删除均输出简短成功信息Agent 花名册cli-anything-seaclip --json agent list该命令走 SQLite 只读通道读取agents表非 JSON 模式展示 Name / Label / Status 三列表格。流水线控制# 以自动模式启动某 issue 的流水线 cli-anything-seaclip --json pipeline start --issue UUID --mode auto # 查询流水线状态 cli-anything-seaclip --json pipeline status --issue UUID # 恢复被暂停的流水线 cli-anything-seaclip --json pipeline resume --issue UUID # 停止运行中的流水线 cli-anything-seaclip --json pipeline stop --issue UUIDpipeline start的--mode限定为auto或manualClickChoice校验非法值直接报错退出pipeline status在非 JSON 模式下以状态块展示 Issue / Stage / Status / Mode 四元信息。调度器# 列出全部调度配置SQLite 只读 cli-anything-seaclip --json scheduler list # 新增定时调度HTTP API cli-anything-seaclip --json scheduler add --name nightly --cron 0 2 * * * --repo https://github.com/org/repo # 手动触发一次同步 cli-anything-seaclip --json scheduler sync SCHEDULE_ID--name与--cron为必填--repo可选scheduler add构造{name, cron, repo}配置体发送到/api/scheduler/add。活动流cli-anything-seaclip --json activity list --limit 20--limit默认 20走 SQLite 读取activity_log表按时间倒序。交互式 REPL不指定子命令直接运行即可进入 REPLcli-anything-seaclip # 输入 help 查看命令quit 退出REPL 特性见 seaclip_cli.py优先尝试prompt_toolkit提供历史与补全失败则回退到原生input支持quit、exit、q退出help或?展示全部命令摘要每行输入经shlex.split解析后复用同一 Click 入口分发standalone_modeFalse并捕获UsageError、MissingParameter等异常友好提示不中断会话可用命令即上文各命令组的子命令issue list/create/move/status/delete、agent list、pipeline start/status/resume/stop、scheduler list/add/sync、activity list、server health命令组与传输矩阵组命令传输方式issuelist, create, move, status, deleteHTTP APIagentlistSQLitepipelinestart, status, resume, stopHTTP APIschedulerlist, add, syncSQLitelist/ HTTP APIadd, syncactivitylistSQLiteserverhealthHTTP API关键 API 端点方法路径说明GET/health后端健康检查GET/api/issues列 issue查询参数status、priority、search、limitPOST/api/issues创建 issueJSON bodytitle、description、priorityPOST/api/issues/{id}/move移动 issue 到列POST/api/issues/{id}/status更新 issue 状态DELETE/api/issues/{id}删除 issuePOST/api/pipeline/{id}/start启动流水线GET/api/pipeline/{id}/status流水线状态POST/api/pipeline/{id}/resume恢复流水线POST/api/pipeline/{id}/stop停止流水线POST/api/scheduler/add新增调度POST/api/scheduler/{id}/sync触发同步对应实现中SeaClipBackend的_get/_post/_delete三个底层方法封装了这些调用并对所有响应执行raise_for_status()任何 HTTP 错误都会向上抛出并最终转化为 JSON 错误对象或终端错误提示。SQLite 表结构CLI 只读访问表CLI 使用的列agentsname, role, status, current_issue_id, last_completed_at, last_error, updated_atschedule_configsid, repo, enabled, interval_minutes, target_column, auto_pipeline, pipeline_mode, ai_mode, last_synced_at, issues_syncedactivity_logevent_type, summary, created_at从实现看agents表按created_at排序、schedule_configs按id排序、activity_log按created_at DESC倒序并受LIMIT约束。需要说明的是源码中agent list展示的列名label、status与文档列存在细微差异实际渲染以表查询结果为准。输出模式与错误处理--json所有命令以json.dumps(..., indent2)输出结构化 JSON错误路径输出{error: ...}并以非零退出码结束SystemExit(1)。人类可读模式通过ReplSkin提供成功/错误/状态/表格等终端渲染。--url覆盖后端地址全局还支持--version。测试与验证cd agent-harness pip install -e . python -m pytest cli_anything/seaclip/tests/ -v测试体系分为两层见 tests 目录单元测试test_core.py所有 HTTP/SQLite 调用均被 mock无需后端即可运行。覆盖 URL 构造与SEACLIP_URL环境变量、各命令组的 JSON 输出格式、参数解析如--mode bogus非法值、缺失--column报错、activity默认 limit20、错误路径连接拒绝、DB 锁定、未知命令以及--version/--help。E2E 测试test_full_e2e.py通过subprocess调用真实cli-anything-seaclip二进制未安装时回退python -m cli_anything.seaclip.seaclip_cli需要 SeaClip-Lite 后端运行在localhost:5200后端不可达时自动跳过skip_no_backend标记。E2E 测试还演示了 Agent 化集成的标准姿势统一追加--json、解析标准输出为 JSON、校验退出码与结构——这正是一个无状态 CLI 作为 Agent 工具的调用范式。小结cli-anything-seaclip用一个无状态的 Click 薄壳把 SeaClip-Lite 的 issue 管理、6-Agent 流水线、GitHub 定时调度和活动流全部暴露为可脚本化、可被 Agent 直接消费的命令。理解HTTP 通道 SQLite 只读通道的双通道架构与--json输出约定即可在 CI 脚本、自动化任务或 LLM Agent 中无缝复用这套项目管理能力。【免费下载链接】CLI-AnythingCLI-Anything: Making ALL Software Agent-Native -- CLI-Hub: https://clianything.cc/项目地址: https://gitcode.com/GitHub_Trending/cl/CLI-Anything创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考