Commit Graph
3655 Commits
Author SHA1 Message Date
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
刘梓恒 51bff3ed73 chore(agent): add computer-use-mcp agent governance (#1737)
Co-authored-by-agent: Antigravity <antigravity@gemini.com>
2026-04-27 15:31:02 +08:00
刘梓恒 f92e670dd9 feat(computer-use-mcp): add transcript truth source and safe projection (#1734)
Co-authored-by-agent: Antigravity <antigravity@gemini.com>
2026-04-27 15:25:26 +08:00
刘梓恒 e145ce81c1 feat(computer-use-mcp): add read-only DOM tools parity to extension bridge (#1733)
Co-authored-by-agent: Antigravity <antigravity@gemini.com>
2026-04-27 15:24:27 +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
SaintaDream f1227232b0 chore(README.md): improve readability and update DevLog section (#1730) 2026-04-26 05:55:12 +08:00
Lovehsigure_520 4141df0141 chore(docs): simplify versions download pages (#1718) 2026-04-26 05:54:18 +08:00
刘梓恒 2e9020a06f fix(computer-use-mcp): route target clicks through action executor (#1727)
---------

Co-authored-by-agent: Antigravity <antigravity@gemini.com>
2026-04-26 05:53:15 +08:00
Neko Ayaka a9359a3924 chore(ci): skip windows if signpath.io failed to sign us 2026-04-26 05:43:57 +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
刘梓恒 d7402ade9f feat(stage-tamagotchi,stage-ui,computer-use-mcp): intro agent-owned session and ghost pointer phases (#1649) 2026-04-25 04:14:33 +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 4b133b169f fix(stage-tamagotchi): render server-channel QR always as dark-on-light (#1725) 2026-04-25 04:05:29 +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 3cc9c87b0f fix(stage-tamagotchi): stage widget tool was broken 2026-04-24 04:12:26 +08:00
Neko Ayaka a7941f27dd chore(AGENTS.md): updated 2026-04-24 04:12:26 +08:00
Neko Ayaka 47074021c0 chore(deps): updated eventa 2026-04-24 04:12:25 +08:00
fbd779563d fix(stage-web): remove duplicate page for route /devtools (#1677)
## Description

<!-- Please insert your description here and especially provide info
about the "what" this PR is solving -->

`vue-router` is producing a warning about duplicate route `/devtools` on
`stage-web`. Removing `stage-web/src/pages/devtools/index.vue` resolves
the warning.
There is a duplicate route introduced in
`stage-pages/src/pages/devtools/index.vue`. The file in `stage-web` is
removed in favor of the one in `stage-pages`.
related commit
[`44ec5e4`](https://github.com/moeru-ai/airi/commit/44ec5e416c04ab6fe1d39f01f67330703078439d)

## Linked Issues

<!-- Optional, if you have any -->

## Additional Context

<!-- e.g. is there anything you'd like reviewers to focus on? -->

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Neko <neko@ayaka.moe>
2026-04-23 22:22:31 +08:00
0976c53d32 chore(ci): modified CI for Godot stage (#1716)
## Description

This PR adds basic CI for Godot stage via ci.yml.

---------

Co-authored-by: Neko <neko@ayaka.moe>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Qi <shengen.qi@hpe.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-23 22:06:15 +08:00
Lilia_Chen 6a61248cd4 refactor(stage-tamagotchi-godot): move to engines dir (#1715) 2026-04-23 19:30:53 +08:00
0xSelenicDove ad7cf632ed chore(docs): add missing tamagotchi setup-and-use page to sidebar (#1713) 2026-04-23 18:42:18 +08:00
Neko Ayaka 20a515e169 chore(ci): added Godot vscode extension recommendation, and .prototools for managing dotnet versions 2026-04-23 02:19:44 +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 762fd017b0 chore(.agents/skills): added agent-browser-electron for better self-verification 2026-04-23 01:09:46 +08: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
Neko Ayaka ee86608195 fix(stage-ui): overflow chat bubble 2026-04-23 01:09:45 +08:00
567fd6666e feat(stage-tamagotchi-godot): initiation of Godot stage (#1697)
## Description

This PR introduces `@proj-airi/stage-tamagotchi-godot` as the initial
Godot C# workspace package for the desktop-only `stage-tamagotchi` stage
runtime track.

The current scope is intentionally limited to G0 bootstrap work:
- add the Godot/.NET project files and workspace wrapper files
- establish the package boundary for the Godot-backed desktop stage
runtime
- add a minimal runnable scene and script so the Godot project can be
opened, built, and executed inside the repo

Concretely, this PR adds:
- the new `packages/stage-tamagotchi-godot` package
- Godot project files (`project.godot`, `.csproj`, `.sln`, editor/config
files)
- a minimal `stage-root` scene and `StageRoot.cs` script
- basic visible scene contents for runtime validation (`Camera3D`,
`OmniLight3D`, `Box`)
- a package README describing scope and ownership boundaries
- minimal package scripts for build/typecheck via `dotnet build`

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: LemonNeko <self@lemonneko.moe>
Co-authored-by: Garfield Lee <Garfield550@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Neko <neko@ayaka.moe>
2026-04-23 01:04:01 +08:00
0xSelenicDove c259cec35f feat(pipelines-audio): Universal Speech Transformer port with CJK & keep-text support (#1702) 2026-04-22 02:48:41 -07:00
Neko Ayaka 94031bf1c4 fix(stage-ui,ui): histoire wasn't configured correctly 2026-04-22 16:57:35 +08:00
Neko Ayaka ca4c99f074 fix(stage-pages,stage-ui): plugin host update 2026-04-22 14:23:45 +08:00