Commit Graph
1784 Commits
Author SHA1 Message Date
github-actions[bot]andCrowdin Bot de9bc52f75 chore(i18n): update translations (#1771)
This PR contains updated translations from Crowdin. Created from [GitHub
Actions](https://github.com/moeru-ai/airi/blob/main/.github/workflows/crowdin-cron-sync.yml).

You can review the source of translations
[here](https://crowdin.com/project/proj-airi)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-05-04 13:39:50 +08:00
Ryanba a5d45bdd77 fix(server-runtime): preserve explicit empty data destinations (#1635) 2026-05-04 06:40:13 +08:00
Pratyush Sharma af9c0203e7 fix(stage-ui): auto-degrade content arrays for strict providers (#1740) 2026-05-04 06:38:33 +08:00
Neko Ayaka ca722f69b7 release: v0.10.0 2026-05-03 23:17:03 +08:00
github-actions[bot]andCrowdin Bot ce9b808b5f chore(i18n): update translations (#1767)
This PR contains updated translations from Crowdin. Created from [GitHub
Actions](https://github.com/moeru-ai/airi/blob/main/.github/workflows/crowdin-cron-sync.yml).

You can review the source of translations
[here](https://crowdin.com/project/proj-airi)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-05-03 16:33:49 +08:00
Neko Ayaka 32087c05de feat(docs): authors region, published at, more tweaks on ui, @assets() fix 2026-05-02 22:47:35 +08:00
Neko Ayaka 755550915f chore(docs): indentation of nested sidebar 2026-05-02 14:38:15 +08:00
github-actions[bot]andCrowdin Bot f930199e1d chore(i18n): update translations (#1732)
This PR contains updated translations from Crowdin. Created from [GitHub
Actions](https://github.com/moeru-ai/airi/blob/main/.github/workflows/crowdin-cron-sync.yml).

You can review the source of translations
[here](https://crowdin.com/project/proj-airi)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-05-01 10:07:23 +08:00
Octopusandocto-patch 44cfbae5bf fix(stage-pages): show scrollbar in module provider lists so all items are reachable (#1723)
---------

Co-authored-by: octo-patch <octo-patch@github.com>
2026-04-29 22:47:17 +08:00
Richard Pinedo d660103672 feat(stage-ui): port model selector redesign and live2d validation (#1297)
Co-authored-by-agent: Unknown <unknown@example.com>
2026-04-29 22:46:24 +08:00
Neko Ayaka 09b0390aba refactor(stage-ui): advanced tool rendering, error handling, and ui improvements 2026-04-29 06:05:49 +08:00
Neko Ayaka 2d099e336b feat(ui): new <Tuncatable /> component 2026-04-29 06:05:10 +08:00
Neko Ayaka c9fbbfd783 fix(stage-ui,stage-tamagotchi,core-agent): tool error should be handled 2026-04-29 00:45:05 +08:00
Neko Ayaka 1e30b05bf1 fix(stage-ui): plugin tools not enabled 2026-04-29 00:45:04 +08:00
Neko Ayaka 1ca972f362 refactor(stage-tamagotchi): consolidate electron plugin static assets 2026-04-29 00:45:04 +08:00
RainbowBird 6f0b7e0b9b feat(auth): delete account (#1756) 2026-04-28 20:53:00 +08:00
RainbowBirdandLiet Blue 0af7d294a8 feat(auth): oidc jwt bearer plugin & linked social accounts (#1753)
Co-authored-by: Liet Blue <127093491+lietblue@users.noreply.github.com>
2026-04-28 16:56:51 +08:00
Iro cb7e058067 fix(stage-ui): correct stream reuse when switching sources + improve capture pipeline (#1744) 2026-04-28 14:50:59 +08:00
Neko Ayaka 9b4be893ad refactor(core-agent): spark:notify, and related refactor 2026-04-28 01:20:04 +08:00
RainbowBird 4d4c582160 fix(spark-notify): add options to expose built-in tools for no response and spark command 2026-04-28 00:38:43 +08:00
RainbowBird c0859c9798 fix(server/docker): squash auth ui to server image 2026-04-28 00:34:14 +08:00
RainbowBirdandLiet Blue 172e4ce59c feat(auth): email login & profile (#1745)
Co-authored-by: Liet Blue <127093491+lietblue@users.noreply.github.com>
2026-04-28 00:07:38 +08:00
Neko Ayaka 0346aa729e chore(ui): simplify button style, no more ring. 2026-04-27 18:13:32 +08:00
Neko Ayaka d42810e47d chore(stage-ui): prevent using node:assert 2026-04-27 17:24:07 +08:00
fuyua9 8001052a5a fix(stage-ui): guard Kokoro generation until ready (#1728) 2026-04-27 15:32:24 +08:00
Neko 0c8c99dae3 Revert "fix(stage-ui): correct stream reuse when switching sources + improve capture pipeline" (#1741)
Reverts moeru-ai/airi#1731
2026-04-27 15:22:19 +08:00
4ba5b13c0d fix(stage-ui): correct stream reuse when switching sources + improve capture pipeline (#1731)
---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-04-27 15:14:10 +08:00
Neko 06fd6d9223 chore(stage-web): added Web Haptics devtools (#1736) 2026-04-27 01:57:08 +08:00
github-actions[bot]andCrowdin Bot 598f58b5f2 chore(i18n): update translations (#1703)
This PR contains updated translations from Crowdin. Created from [GitHub
Actions](https://github.com/moeru-ai/airi/blob/main/.github/workflows/crowdin-cron-sync.yml).

You can review the source of translations
[here](https://crowdin.com/project/proj-airi)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-04-26 09:01:36 +08:00
RainbowBird 9db55c3496 refactor(chat): remove datetime context and implement per-message timestamp prefixing 2026-04-25 22:43:51 +08:00
Makito 3566e8b4a8 feat(stage-tamagotchi,stage-shared): essentials for global shortcut 2026-04-25 21:30:10 +09:00
RainbowBird f292ab9b99 feat(ui): add ErrorBoundary component for error handling in Vue 2026-04-25 17:23:43 +08:00
RainbowBird 7312e471bc fix(background-store): rename store id to avoid collision with stage-layouts 2026-04-25 17:05:41 +08:00
RainbowBird bc030812d3 fix(stage-ui): configure Histoire to exclude node_modules from vendor chunking 2026-04-25 16:46:08 +08:00
Neko Ayaka 2b125d5fff fix(plugin-sdk-tamagotchi): improved naming, use @moeru/eventa offered window-message adapter 2026-04-25 06:50:47 +08:00
Neko Ayaka 0f0d88a8aa chore(stage-ui,stage-tamagotchi): removed useless 2026-04-25 06:34:55 +08:00
0xSelenicDove 3545c71b3a fix(pipelines-audio): resolve narrative stripping edge cases and add comprehensive tests (#1708) 2026-04-25 04:06:30 +08:00
Asish Kumar fe568e8e99 fix(stage-tamagotchi): show friendly empty state when widgets window has no id (#1726) 2026-04-25 04:04:17 +08:00
RainbowBird 0b30ced0c2 refactor(speech): remove selectedLanguage from speech store and related components 2026-04-25 03:38:58 +08:00
Lilia_Chenandautofix-ci[bot] c6c0494998 feat(stage-tamagotchi-godot): add Godot stage G0 sidecar preview (#1724)
## Summary

Add the G0 Godot Stage sidecar preview for `stage-tamagotchi`.

## Design

- Keep Electron as the desktop host and run Godot as a separate sidecar
window by design.
- Use the settings window as the entry point for starting/stopping the
experimental Godot Stage.
- Require explicit `GODOT4` in development mode instead of
auto-discovering local Godot installs.
- Use the packaged sidecar under `process.resourcesPath/godot-stage` in
the packaged runtime.
- Close the Godot WebSocket lifecycle channel on startup failure and
stage shutdown.

## Changes

- Add the Electron main-side Godot Stage lifecycle service.
- Add renderer/settings wiring for switching to the experimental Godot
Stage.
- Add the minimal Godot stage runtime skeleton and WebSocket handshake
path.
- Add Godot export presets for sidecar builds.
- Add sidecar path verification for the Godot export preset and
`electron-builder` resource contract.
- Document the development runtime setup and packaging expectations.

## CI/CD

- Align Godot CI to `4.6.2`.
- Add Linux Godot export smoke coverage as the fastest CI export path.
- Add sidecar contract verification to CI.
- Run packaged sidecar verification after `electron-builder --dir`.

CD is intentionally deferred in this PR. The release workflow still
needs a later step to export the Godot sidecar before packaging release
artefacts.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-25 00:56:03 +08:00
刘梓恒 255ce71cba feat(stage-tamagotchi,computer-use-mcp): implement browser-native DOM action routing (#1648)
---------

Co-authored-by-agent: Antigravity <antigravity@gemini.com>
Co-authored-by-agent: Codex <267193182+codex@users.noreply.github.com>
2026-04-25 00:08:22 +08:00
刘梓恒 632aa1ad99 [1/3] feat(desktop): add desktop observation and overlay baseline (#1647)
---------

Co-authored-by-agent: Antigravity <antigravity@gemini.com>
Co-authored-by-agent: Codex <267193182+codex@users.noreply.github.com>
2026-04-24 23:43:40 +08:00
NJX 6a50da8e82 feat(stage-ui): added AbortController for inference utils (#1682) 2026-04-24 23:42:55 +08:00
NJXandCopilot d85709f900 feat(stage-ui): webgpu detect improved (#1681)
---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-24 23:33:09 +08:00
NJXandautofix-ci[bot] f7ac65289a feat(stage-ui): should handle WebGPU device-loss (#1680)
---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-24 23:30:58 +08:00
Richard Pinedo 4e6da5ef04 feat(stage-*): port artistry & chatbox enhancements (#1636)
Co-authored-by-agent: Unknown <unknown@example.com>
2026-04-24 23:25:04 +08:00
Neko Ayaka 47074021c0 chore(deps): updated eventa 2026-04-24 04:12:25 +08:00
Lilia_Chen 6a61248cd4 refactor(stage-tamagotchi-godot): move to engines dir (#1715) 2026-04-23 19:30:53 +08:00
chaosreloadandautofix-ci[bot] a189536489 feat(providers): add Amazon Bedrock provider (#1256)
## Summary

Add support for Amazon Bedrock as an LLM provider using the native
**Converse API** with API Key authentication.

## Motivation

AWS Bedrock provides access to frontier models (Claude, Amazon Nova,
Llama, DeepSeek etc.) with enterprise-grade security and compliance.
Many teams running AI workloads on AWS infrastructure want to use
Bedrock directly, keeping all traffic within the AWS network.

## Implementation

- Uses Amazon Bedrock's native **Converse API**
(`bedrock-runtime.{region}.amazonaws.com/model/{modelId}/converse`)
- Authentication via **Amazon Bedrock API Key** (`Authorization: Bearer
<key>`) — no SigV4 signing, no extra dependencies
- Config: `apiKey` (Bedrock API key) + `region` (AWS region, default:
`us-east-1`)
- All Bedrock-specific config is declared via the generic
`onboardingFields` mechanism on the provider definition — no
`isAmazonBedrock` branching, no `ProviderConfigData` type changes
- Dynamic model listing via `ListFoundationModels` +
`ListInferenceProfiles` APIs, with fallback to a static list
- Streaming: calls `/converse` (standard JSON response), then re-emits
the full text as `text/event-stream` character-by-character —
bearer-token auth does not support the binary AWS Event Stream protocol
required by `/converse-stream`

## Supported Models

**Anthropic Claude (via Bedrock)**
- Claude Opus/Sonnet/Haiku 4.x
- Claude Sonnet 3.7 (hybrid reasoning)
- Claude Sonnet 3.5 v2

**Amazon Nova**
- Nova Pro (multimodal)
- Nova Lite (multimodal, low cost)
- Nova Micro (text-only, lowest cost)

**Meta / Others**
- Llama 3.3 70B Instruct
- DeepSeek, Moonshot, Minimax models available via inference profiles

## Authentication

Generate a Bedrock API key in: **AWS Console → Amazon Bedrock → API
Keys**

> Note: Long-term API keys have a 30-day expiry. AWS recommends them for
development/exploration use.

## Notes

⚠️ **CORS in browser**: Like other providers (Anthropic, etc.), direct
browser calls to Bedrock are subject to CORS restrictions. Works out of
the box in Tauri desktop app and Node.js server environments. For
browser use, a CORS proxy is needed.

## Testing

```
pnpm vitest run packages/stage-ui/src/libs/providers/providers/amazon-bedrock/index.test.ts
```

---------
Co-authored-by-agent: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-22 17:37:29 +00:00
Neko Ayaka a3249ccd68 feat(stage-tamagotchi,stage-ui,ui): input should not flink, added retry for errored item, adjusted button 2026-04-23 01:09:46 +08:00