MyGo 云音乐
用 Go 与 MyGo 写成的第三方网易云音乐桌面客户端。原生界面,没有 WebView;边下边播,无损与 Hi-Res,逐字歌词与「律动」,刘海播放器。
Translation pending
Your story bible, supercharged by AI
Translation pending
MediaTypeScript · HCLGitHub @kito-archOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A voice-first story-writing assistant. Dictate scenes, extract characters and facts automatically, then browse and edit your story world through an AI-powered narrative layer.
• Node.js 24+ (node -v)
• PostgreSQL 16+ (local or Docker)
• OpenAI API key (or another LLM provider configured in env)
• AssemblyAI API key (for voice dictation — optional in dev with mock mode)
• AWS credentials (for SQS async processing — optional in dev)
Leave STT_PROVIDER=mock to skip AssemblyAI and use the built-in mock for dictation in dev.
Optional — seed a sample story and character:Read the full README ↗A voice-first story-writing assistant. Dictate scenes, extract characters and facts automatically, then browse and edit your story world through an AI-powered narrative layer.
node -v)npm install
cp .env.example .env
Edit .env and set at minimum:
DATABASE_URL=postgres://postgres:postgres@localhost:5432/novelos
LLM_PROVIDER=openai
LLM_API_KEY=sk-...
Leave STT_PROVIDER=mock to skip AssemblyAI and use the built-in mock for dictation in dev.
createdb novelos # or use your PostgreSQL client
npm run db:migrate # applies all Drizzle migrations
Optional — seed a sample story and character:
DATABASE_URL=postgres://... npx tsx scripts/seed.ts
npm run dev
Open http://localhost:3000.
| Variable | Required | Default | Description |
|---|---|---|---|
DATABASE_URL | Yes (prod) | — | PostgreSQL connection string |
LLM_PROVIDER | Yes | openai | LLM backend (openai) |
LLM_API_KEY | Yes (real provider) | — | API key for the LLM provider |
LLM_CHEAP_MODEL | No | gpt-4o-mini | Model for lightweight tasks |
LLM_STANDARD_MODEL | No | gpt-4o | Model for standard agent tasks |
LLM_BEST_MODEL | No | gpt-4o | Model for high-accuracy tasks |
STT_PROVIDER | No | mock | Speech-to-text backend (assemblyai or mock) |
STT_API_KEY | If STT≠mock | — | AssemblyAI API key |
AWS_REGION | If SQS used | us-east-1 | AWS region for the SQS queue |
SQS_QUEUE_URL | If STT≠mock | — | Full SQS queue URL |
WEBHOOK_SECRET | If STT≠mock | — | Shared secret for AssemblyAI callback auth |
npm test # run all tests once
npm run test:watch # watch mode
Tests use in-memory mock adapters and never require a running database or API keys.
npm run typecheck
npm run lint
Copy and fill in the production env file:
cp .env.production.example .env.production
Start everything (Postgres + migrations + app):
docker compose up --build
The app runs on port 3000. The migrate service runs once before the app starts. See docker-compose.yml for service details and .env.production.example for all required variables.
src/
config/ # Zod-validated env config, startup validation
domain/ # Pure TypeScript types — entities, facts, scenes, chapters
adapters/
postgres/ # Drizzle ORM implementations
mock/ # In-memory adapters for tests and local dev
services/ # Application logic — agent loop, context builder, extraction
container/ # ioctopus IoC composition root; port contracts (tokens)
server/ # resolveContainer — builds and caches the DI container
app/ # Next.js App Router pages and API routes
ui/ # React components
drizzle/
schema.ts # Drizzle table definitions
migrations/ # SQL migration files
tests/
domain/ # Pure domain type unit tests
services/ # Service unit tests (mock adapters)
adapters/ # Adapter contract suites
integration/ # Full pipeline integration tests
POST /api/dictations/api/webhook/assemblyaiprocessTranscription:
/api/dictations/:id/status and reflects updates in the UI