Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计通过

senado-federal联邦参议院

Agent Skill

senado-federal 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

12,681

周安装

518

GitHub Stars

公开资料未说明

下载量

4,103
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:senado-federal(联邦参议院)
来源仓库:https://github.com/olegantonov/senado-federal
安装命令:
openclaw skills install senado-federal
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install senado-federal

简介

通过开放数据 API 监控和研究巴西参议院立法活动,包括法案、议程、参议员、投票、委员会、演讲和授权。

SKILL.md

name
senado-federal
description
Monitor and research the Brazilian Senate (Senado Federal) legislative activity. Use when: (1) searching for Senate bills/matérias by type, author, keyword or year, (2) checking today's or upcoming plenary/committee agenda, (3) looking up senators by name, party or state, (4) tracking voting results (votações) in plenary or committees, (5) checking committee (comissão) schedules and composition, (6) monitoring specific bill tramitação/status, (7) researching senator speeches (discursos/apartes), (8) checking senator mandates, affiliations, academic history, (9) any question about the Senado Federal, senators, or Senate legislative process. Base URL: https://legis.senado.leg.br/dadosabertos — no auth required, supports .json and .xml suffixes.
version
1.0.1
author
Daniel Marques
license
MIT

Senado Federal — API de Dados Abertos

Base URL: https://legis.senado.leg.br/dadosabertos Swagger: https://legis.senado.leg.br/dadosabertos/api-docs/swagger-ui/index.html No authentication required. Format: append .json or .xml to endpoint paths.


Key Endpoints

Senators (Senadores)

GET /senador/lista/atual.json           # all senators currently in office
GET /senador/afastados.json             # senators on leave
GET /senador/lista/legislatura/{leg}.json  # by legislature number (e.g. 57)
GET /senador/partidos.json              # party list

GET /senador/{codigo}.json              # full senator profile
GET /senador/{codigo}/mandatos.json     # mandate history
GET /senador/{codigo}/filiacoes.json    # party affiliations
GET /senador/{codigo}/cargos.json       # positions held
GET /senador/{codigo}/comissoes.json    # committee memberships
GET /senador/{codigo}/liderancas.json   # leadership roles
GET /senador/{codigo}/discursos.json    # speeches
  ?dataInicio=YYYYMMDD&dataFim=YYYYMMDD&tipoPronunciamento=
GET /senador/{codigo}/apartes.json      # interjections
GET /senador/{codigo}/autorias.json     # authored bills
GET /senador/{codigo}/relatorias.json   # reports authored
GET /senador/{codigo}/votacoes.json     # voting history
GET /senador/{codigo}/profissao.json    # professional background
GET /senador/{codigo}/historicoAcademico.json
GET /senador/{codigo}/licencas.json     # leave periods

Bills / Matérias (API v2 — recommended)

GET /materia/pesquisa/lista.json
  ?sigla=PL          # type: PL, PEC, PLS, MSF, INC, etc.
  ?numero=123
  ?ano=2026
  ?autor=            # author name
  ?assunto=          # subject/keyword
  ?tramitando=S      # S=currently in progress
  ?codigoSituacao=

GET /materia/{codigo}.json              # by internal code
GET /materia/{sigla}/{numero}/{ano}.json  # e.g. /materia/PL/1234/2026.json
GET /materia/situacaoatual/{codigo}.json  # current status
GET /materia/votacoes/{codigo}.json     # votes on this bill
GET /materia/textos/{codigo}.json       # bill texts
GET /materia/emendas/{codigo}.json      # amendments
GET /materia/relatorias/{codigo}.json   # rapporteurs
GET /materia/autoria/{codigo}.json      # authorship
GET /materia/movimentacoes/{codigo}.json # full tramitação history
GET /materia/tramitando.json            # all currently in progress
GET /materia/legislaturaatual.json      # current legislature bills
GET /materia/atualizadas.json           # recently updated
  ?numdias=7         # last N days

Plenary Agenda & Results (Plenário)

GET /plenario/agenda/dia/{data}.json     # e.g. /plenario/agenda/dia/20260304.json
GET /plenario/agenda/mes/{data}.json     # e.g. /plenario/agenda/mes/202603.json
GET /plenario/agenda/cn/{data}.json      # Congresso Nacional joint session agenda

GET /plenario/resultado/{data}.json      # plenary results for a date (YYYYMMDD)
GET /plenario/resultado/mes/{data}.json  # monthly results (YYYYMM)

GET /plenario/lista/votacao/{dataInicio}/{dataFim}.json  # votes in date range (YYYYMMDD)
GET /plenario/votacao/nominal/{ano}.json  # all nominal votes in a year

GET /plenario/lista/discursos/{dataInicio}/{dataFim}.json  # speeches
GET /plenario/lista/legislaturas.json
GET /plenario/legislatura/{data}.json

GET /plenario/encontro/{codigo}.json       # session detail
GET /plenario/encontro/{codigo}/pauta.json # session agenda
GET /plenario/encontro/{codigo}/resultado.json
GET /plenario/encontro/{codigo}/resumo.json

Committees (Comissões)

GET /comissao/lista/colegiados.json      # all standing committees
GET /comissao/lista/mistas.json          # joint CN/Congresso committees
GET /comissao/lista/{tipo}.json          # by type

GET /comissao/{codigo}.json              # committee detail
GET /comissao/agenda/{dataReferencia}.json   # YYYYMMDD
GET /comissao/agenda/{dataInicio}/{dataFim}.json
GET /comissao/agenda/mes/{mesReferencia}.json  # YYYYMM
GET /comissao/agenda/atual/iCal          # iCal feed

GET /comissao/reuniao/{codigoReuniao}.json
GET /comissao/reuniao/notas/{codigoReuniao}.json

GET /composicao/comissao/{codigo}.json   # membership
GET /composicao/comissao/resumida/mista/{codigo}/{dataInicio}/{dataFim}.json

Voting in Committees (VotaçãoComissão)

GET /votacaoComissao/comissao/{siglaComissao}.json
GET /votacaoComissao/materia/{sigla}/{numero}/{ano}.json
GET /votacaoComissao/parlamentar/{codigo}.json

Voting (Geral)

GET /votacao.json
  ?dataInicio=YYYYMMDD&dataFim=YYYYMMDD
  ?codigoSessao=

Leadership & Composition

GET /composicao/mesaSF.json           # Senate presiding board
GET /composicao/mesaCN.json           # CN presiding board
GET /composicao/lideranca.json        # leadership
GET /composicao/lista/liderancaSF.json
GET /composicao/lista/liderancaCN.json
GET /composicao/lista/partidos.json
GET /composicao/lista/blocos.json
GET /composicao/bloco/{codigo}.json

Authors / Autores

GET /autor/lista/atual.json
GET /autor/tiposAutor.json

Legislation / Normas

GET /legislacao/lista.json
  ?tipo=&ano=&numero=
GET /legislacao/{codigo}.json
GET /legislacao/urn.json?urn={urn}

Taquigrafia (Transcripts)

GET /taquigrafia/notas/sessao/{idSessao}.json
GET /taquigrafia/notas/reuniao/{idReuniao}.json
GET /taquigrafia/videos/sessao/{idSessao}.json
GET /taquigrafia/videos/reuniao/{idReuniao}.json

Speeches / Discursos

GET /discurso/texto-integral/{codigoPronunciamento}.json
GET /discurso/texto-binario/{codigoPronunciamento}.json

Common Tasks

Today's plenary agenda

DATE=$(date +%Y%m%d)
curl "https://legis.senado.leg.br/dadosabertos/plenario/agenda/dia/$DATE.json"

Find a senator (search in lista/atual)

curl "https://legis.senado.leg.br/dadosabertos/senador/lista/atual.json" | \
  python3 -c "
import json,sys
data = json.load(sys.stdin)
senators = data['ListaParlamentarEmExercicio']['Parlamentares']['Parlamentar']
for s in senators:
    name = s['IdentificacaoParlamentar']['NomeParlamentar']
    if 'Pontes' in name:
        print(json.dumps(s, ensure_ascii=False, indent=2))
"

Search bills

curl "https://legis.senado.leg.br/dadosabertos/materia/pesquisa/lista.json?sigla=PL&ano=2026&tramitando=S&assunto=transporte"

Recent plenary votes

START=$(date -d '7 days ago' +%Y%m%d)
END=$(date +%Y%m%d)
curl "https://legis.senado.leg.br/dadosabertos/plenario/lista/votacao/$START/$END.json"

Committee agenda (current month)

MONTH=$(date +%Y%m)
curl "https://legis.senado.leg.br/dadosabertos/comissao/agenda/mes/$MONTH.json"

Bill tramitação

# By sigla/number/year:
curl "https://legis.senado.leg.br/dadosabertos/materia/movimentacoes/{codigo}.json"

Notes

  • Date formats vary: plenary agenda uses YYYYMMDD; senator speeches use YYYYMMDD; materia pesquisa uses YYYY
  • Current legislature: 57 (started Feb 2023)
  • Senator codes (CodigoParlamentar) found in /senador/lista/atual.json
  • Materia codes (codigo) found in /materia/pesquisa/lista.json results
  • API v1 /materia/{sigla}/{numero}/{ano} is deprecated since 2025; prefer /processo or /materia/pesquisa/lista
  • iCal feed available for committee agenda: /comissao/agenda/atual/iCal
  • Full endpoint list: see references/api-endpoints.md

API Quirks & Tips

  • Single-item responses: When an endpoint returns only 1 item, the Senado API may return a dict instead of a list. Always use the pattern: isinstance(x, list) else [x] if x else []
  • Deeply nested JSON: Responses are typically 3-4 levels deep (e.g., data["ListaParlamentarEmExercicio"]["Parlamentares"]["Parlamentar"]). The Python client's _get_list() uses DFS to find the first list.
  • Date format inconsistency: Plenário endpoints use YYYYMMDD; some senator endpoints also use YYYYMMDD; matéria pesquisa uses just YYYY for year filters.
  • Processo vs Materia: /processo/{codigo}.json returns richer data (autuações, situações, tramitação completa) than /materia/{codigo}.json. Prefer processo for detailed status tracking.
  • API v1 deprecation: /materia/{sigla}/{numero}/{ano} is deprecated since 2025. Use /materia/pesquisa/lista.json with params instead.
  • Retry recommended: The API can be slow or return 500s. The Python client implements exponential backoff (2^attempt seconds).

Python Client (async)

You can use the async Python client for programmatic access:

import asyncio
from senado_client import get_senado_client

async def main():
    client = get_senado_client()
    
    # Listar senadores atuais
    senators = await client.lista_senadores_atuais()
    
    # Buscar por nome
    resultado = await client.buscar_senador_por_nome("Bolsonaro")
    
    # Pesquisar matérias
    materias = await client.pesquisar_materia(sigla="PL", ano=2026)
    
    # Votações da semana
    from datetime import date, timedelta
    votacoes = await client.get_votacoes_periodo(
        date.today() - timedelta(days=7),
        date.today()
    )
    
    await client.close()

asyncio.run(main())

Requires: pip install httpx

Available Methods

Senadores:

  • lista_senadores_atuais() — Senadores em exercício
  • buscar_senador_por_nome(nome) — Busca por nome
  • get_senador_detalhe(codigo) — Detalhes completos
  • get_autorias_senador(codigo) — Matérias de autoria
  • get_discursos_senador(codigo, data_inicio?, data_fim?) — Discursos
  • get_senador_votacoes(codigo) — Histórico de votações
  • get_senador_comissoes(codigo) — Comissões
  • get_senador_mandatos(codigo) — Mandatos
  • get_senador_filiacoes(codigo) — Filiações partidárias
  • get_senador_cargos(codigo) — Cargos exercidos
  • get_senador_liderancas(codigo) — Lideranças
  • get_senador_apartes(codigo) — Apartes/intervenções
  • get_senador_relatorias(codigo) — Relatorias
  • get_senador_profissao(codigo) — Profissão
  • get_senador_historico_academico(codigo) — Histórico acadêmico
  • get_senador_licencas(codigo) — Licenças

Matérias/Proposições:

  • pesquisar_materia(sigla?, numero?, ano?, tramitando?) — Pesquisa
  • pesquisar_materia_por_assunto(assunto, tramitando?) — Por assunto
  • get_materia_detalhe(codigo) — Detalhes
  • get_materia_movimentacoes(codigo) — Movimentações
  • get_materia_tramitacao(codigo) — Tramitação
  • get_materia_por_sigla(sigla, numero, ano) — Por sigla completa
  • get_materia_situacao_atual(codigo) — Situação atual
  • get_materia_textos(codigo) — Textos
  • get_materia_emendas(codigo) — Emendas
  • get_materia_relatorias(codigo) — Relatorias
  • get_materia_autoria(codigo) — Autoria
  • get_materias_tramitando() — Em tramitação
  • get_materias_atualizadas(dias?) — Atualizadas recentemente

Plenário:

  • get_agenda_plenario_dia(data?) — Agenda diária
  • get_agenda_plenario_mes(ano, mes) — Agenda mensal
  • get_votacoes_periodo(data_inicio, data_fim) — Votações em período
  • get_resultado_plenario_dia(data) — Resultado do dia
  • get_resultado_plenario_mes(ano, mes) — Resultado do mês
  • get_votacoes_nominais_ano(ano) — Votações nominais
  • get_discursos_plenario(data_inicio, data_fim) — Discursos
  • get_encontro_plenario(codigo) — Detalhes de sessão
  • get_encontro_pauta(codigo) — Pauta de sessão

Comissões:

  • get_lista_comissoes() — Lista de comissões
  • get_agenda_comissao_dia(data?) — Agenda do dia
  • get_agenda_comissao_periodo(data_inicio, data_fim) — Agenda de período
  • get_comissao_detalhe(codigo) — Detalhes
  • get_comissao_reuniao(codigo_reuniao) — Reunião
  • get_composicao_comissao(codigo) — Membros
  • get_lista_comissoes_mistas() — Comissões mistas

Votação em Comissões:

  • get_votacao_comissao(sigla_comissao) — Votações
  • get_votacao_comissao_materia(sigla, numero, ano) — Por matéria
  • get_votacao_comissao_parlamentar(codigo) — Por parlamentar

Composição e Lideranças:

  • get_mesa_senado() — Mesa diretora do Senado
  • get_mesa_congresso() — Mesa do CN
  • get_liderancas() — Lideranças partidárias
  • get_blocos_parlamentares() — Blocos parlamentares

Processo:

  • get_processo(codigo) — Processo legislativo completo

Autores, Legislação, Discurso:

  • get_autores_atuais() — Autores atuais
  • pesquisar_legislacao(tipo?, ano?, numero?) — Pesquisa legislação
  • get_discurso_texto_integral(codigo_pronunciamento) — Texto integral

Utilitários:

  • get_materias_recentes(dias?) — Matérias recentes
  • get_votacoes_semana() — Votações da semana
  • get_agenda_semana() — Agenda da semana

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

85.61%
按下载量换算3,513

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills