GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - AstrBotDevs/astrbot-sdk: ALMOST DONE

BranchesTags
Open more actions menu

Latest commit

 

History

52 Commits
52 Commits

Folders and files

NameName
Last commit message
Last commit date
docs
docs
 
 
examples/hello
examples/hello
 
 
src/astrbot_sdk
src/astrbot_sdk
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
README.md
README.md
 
 
pyproject.toml
pyproject.toml
 
 
uv.lock
uv.lock
 
 

Repository files navigation

AstrBot SDK

This package contains the public API and transport-independent runtime used by AstrBot SDK plugins.

The current minimum implementation includes:

  • metadata.yaml v2 parsing;

  • immutable message and event DTOs;

  • Plugin, on.command, on.message, and lifecycle registration;

  • plugin entrypoint loading;

  • coroutine and async-generator handler invocation;

  • protocol v1 frames and SDK DTO codecs;

  • isolated stdio Runner and Host client;

  • bidirectional Peer requests with connection-bound capability grants;

  • cross-process yield/ack flow control;

  • ctx.storage (Host-held plugin KV) and ctx.messages.send services;

  • ctx.conversations (conversation.read/write) with a generic dataclass protocol codec;

  • ctx.assets (assets.transfer) with chunked upload/download and automatic upload of local media sources before results cross the protocol;

  • a segment codec registry with forward-compatible downgrading of unknown segment types (Face and Forward included);

  • on.message handlers (message.receive) with host-side filter compilation (message types, platforms, roles, regex);

  • ctx.plugins (plugin.inspect) and ctx.render (render.image) services;

  • on.tool static LLM tools and ctx.tools dynamic tool registration (llm.tool.register) with annotation-derived parameter schemas;

  • ctx.llm (llm.generate): provider queries, one-shot generate, and flow-controlled streaming over the capability yield/ack protocol;

  • ctx.llm.embed/transcribe/synthesize (llm.embed, speech.transcribe, speech.synthesize), with ambient UMO provider selection;

  • ctx.llm.run_agent (llm.agent): the built-in tool-loop agent with a plugin-scoped toolset, reserving custom agent runner fields;

  • hooks.* Pipeline hooks with write-tracked in-place DTO modification and modify-capability-gated write application (12 stages including lifecycle and error notification hooks);

  • command parameter schema in the Runner handshake;

  • an AstrBot Core bridge (astrbot.core.star.sdk_bridge) that loads SDK plugins into the real Pipeline with command matching, typed arguments, yield/ack semantics, and Host capability dispatch.

  • a legacy compatibility layer (astrbot_sdk.compat.v1): unmodified legacy plugins (Star, filter.command/regex/event_message_type, plain_result/ chain_result, Context KV/send/config) run isolated via the astrbot.api import facade and the --legacy Runner mode; isolated legacy is opt-in via runtime.isolated in metadata.yaml.

WebSocket transport is not implemented yet. Legacy Provider/hook/tool facades (astrbot.api.provider, astrbot.api.all, register, native actions, session_waiter) are not covered by the compat layer yet.

About

ALMOST DONE

Resources

Readme
Activity
Custom properties

Stars

12 stars

Watchers

0 watching

Forks

4 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.