Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
98b16a6
feat: launcher backend & ASR plugin system
ylxmf2005 May 27, 2025
63f57ba
remove egg-info
ylxmf2005 May 27, 2025
789ef17
update schemas & fix bugs
ylxmf2005 May 27, 2025
fc5a806
remove OLV1
ylxmf2005 May 27, 2025
5f1cbc3
rename sherpa_onnx_asr_plugin to sherpa_onnx_asr_cpu_plugin
ylxmf2005 May 27, 2025
52ac41c
add asr template (not complete) & format
ylxmf2005 May 27, 2025
8332b18
feat: launcher frontend (backup)
ylxmf2005 May 27, 2025
acd4f3a
refactor: multi-instance plugin support (experiment)
ylxmf2005 May 28, 2025
72eca62
improve plugin
ylxmf2005 May 28, 2025
bf1ecd3
update
ylxmf2005 May 28, 2025
28ee263
feat: tts plugin
ylxmf2005 May 29, 2025
2dcbe96
update docs
ylxmf2005 May 29, 2025
7d8cba7
feat: workspace
ylxmf2005 May 29, 2025
0ddf005
remove outdated readme
ylxmf2005 May 29, 2025
43d391d
update docs
ylxmf2005 May 29, 2025
244b9b6
Delete generate_tree.sh
ylxmf2005 May 29, 2025
879b224
remove workspace.json & update mdc
ylxmf2005 May 29, 2025
868cf15
feat: marketplace (backup)
ylxmf2005 May 30, 2025
92549cd
Update docs & change 127.0.0.1 -> localhost
t41372 Jun 9, 2025
1623c07
feat: olv_main websocket backend skeleton
t41372 Jun 10, 2025
1fc4f1f
fix spelling: presona in world.py
t41372 Jun 10, 2025
9071937
feat: add launcher url to olv_main config with test
t41372 Jun 11, 2025
5a7857c
feat: edit olv_main ws endpoint
t41372 Jun 11, 2025
887dda1
backup
ylxmf2005 Jun 11, 2025
5b590ef
Update docs/development/launcher/deployment.md
ylxmf2005 Jun 12, 2025
39e14bf
Merge remote-tracking branch 'origin/tim-working-branch' into dev
ylxmf2005 Jun 15, 2025
ff68950
remove useless files
ylxmf2005 Jun 16, 2025
ed93ac5
update cursor rules and reference
ylxmf2005 Jun 16, 2025
def5164
add character model
ylxmf2005 Jun 16, 2025
b02cbc6
add room and chat model
ylxmf2005 Jun 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
293 changes: 293 additions & 0 deletions .cursor/rules/nextjs/nextjs.mdc

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions .cursor/rules/project/always.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
description:
globs:
alwaysApply: true
---
Important: Use English to write codes and comments.

This is a long-term project in the early, internal development stage and not yet online.

Please use best practices and optimal architecture for long-term maintenance.
When modifying code and documentation, backward compatibility does not need to be considered, and the code version should always be 1.0.0. Do not include comments about deprecation or compatibility with old versions. Immediately remove any unused code instead of retaining it.

When receiving requirements from the user, first rephrase them using professional technical terminology to ensure mutual understanding and allow for corrections. The user acknowledges they may not use precise technical language, so clarification is encouraged.

Prioritize professional engineering judgment over literal instruction following. You are authorized to modify or extend requirements based on code quality, maintainability, and best practices. Focus on implementing the user's intent rather than their exact words, making technical decisions that serve the long-term health of the codebase.
57 changes: 57 additions & 0 deletions .cursor/rules/project/clean-code.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
description:
globs: *.py
alwaysApply: false
---
# Clean Code Guidelines

## Constants Over Magic Numbers
- Replace hard-coded values with named constants
- Use descriptive constant names that explain the value's purpose
- Keep constants at the top of the file or in a dedicated constants file

## Meaningful Names
- Variables, functions, and classes should reveal their purpose
- Names should explain why something exists and how it's used
- Avoid abbreviations unless they're universally understood

## Smart Comments
- Don't comment on what the code does - make the code self-documenting
- Use comments to explain why something is done a certain way
- Document APIs, complex algorithms, and non-obvious side effects
- Write docstrings to make the function's intent, usage, and parameters fully clear to someone who only reads the docstring. Save implementation details for the docstring, and reserve high-level, conceptual explanations for the documentation.

## Single Responsibility
- Each function should do exactly one thing
- Functions should be small and focused
- If a function needs a comment to explain what it does, it should be split

## DRY (Don't Repeat Yourself)
- Extract repeated code into reusable functions
- Share common logic through proper abstraction
- Maintain single sources of truth

## Clean Structure
- Keep related code together
- Organize code in a logical hierarchy
- Use consistent file and folder naming conventions

## Encapsulation
- Hide implementation details
- Expose clear interfaces
- Move nested conditionals into well-named functions

## Code Quality Maintenance
- Refactor continuously
- Fix technical debt early
- Leave code cleaner than you found it

## Testing
- Write tests before fixing bugs
- Keep tests readable and maintainable
- Test edge cases and error conditions

## Version Control
- Write clear commit messages
- Make small, focused commits
- Use meaningful branch names
12 changes: 12 additions & 0 deletions .cursor/rules/project/docs.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
description:
globs:
alwaysApply: true
---
Maintain all documentation in Chinese (but use English to write code). For overviews, refer to the docs/**/readme.md files. Use tables, code blocks, and mermaid flowcharts to make the documentation clear and visually appealing.

Avoid including actual code examples whenever possible. For API documentation, use generic configuration examples with comments explaining what should be filled in, rather than specific plugin configurations.

When providing configuration file examples, always use real examples found in the codebase—do not make them up. However, for API request/response examples, use generic placeholders with descriptive comments to ensure the documentation remains universally applicable across different plugins.

Focus on explaining the purpose and structure of parameters rather than specific values, emphasizing the distinction between plugin_config (for instance creation and routing) and custom (for runtime parameter overrides).
91 changes: 91 additions & 0 deletions .cursor/rules/python/fastapi.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
---
description:
globs:
alwaysApply: false
---
---
description: FastAPI best practices and patterns for building modern Python web APIs
globs: **/*.py, app/**/*.py, api/**/*.py
---

# FastAPI Best Practices

## Project Structure
- Use proper directory structure
- Implement proper module organization
- Use proper dependency injection
- Keep routes organized by domain
- Implement proper middleware
- Use proper configuration management

## API Design
- Use proper HTTP methods
- Implement proper status codes
- Use proper request/response models
- Implement proper validation
- Use proper error handling
- Document APIs with OpenAPI

## Models
- Use Pydantic models
- Implement proper validation
- Use proper type hints
- Keep models organized
- Use proper inheritance
- Implement proper serialization

## Database
- Use proper ORM (SQLAlchemy)
- Implement proper migrations
- Use proper connection pooling
- Implement proper transactions
- Use proper query optimization
- Handle database errors properly

## Authentication
- Implement proper JWT authentication
- Use proper password hashing
- Implement proper role-based access
- Use proper session management
- Implement proper OAuth2
- Handle authentication errors properly

## Security
- Implement proper CORS
- Use proper rate limiting
- Implement proper input validation
- Use proper security headers
- Handle security errors properly
- Implement proper logging

## Performance
- Use proper caching
- Implement proper async operations
- Use proper background tasks
- Implement proper connection pooling
- Use proper query optimization
- Monitor performance metrics

## Testing
- Write proper unit tests
- Implement proper integration tests
- Use proper test fixtures
- Implement proper mocking
- Test error scenarios
- Use proper test coverage

## Deployment
- Use proper Docker configuration
- Implement proper CI/CD
- Use proper environment variables
- Implement proper logging
- Use proper monitoring
- Handle deployment errors properly

## Documentation
- Use proper docstrings
- Implement proper API documentation
- Use proper type hints
- Keep documentation updated
- Document error scenarios
- Use proper versioning
21 changes: 21 additions & 0 deletions .cursor/rules/python/pydantic/description.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
description:
globs: **/models/**/*.py
alwaysApply: false
---
Description:
Guidelines for writing user-friendly field descriptions in Pydantic models:

- **Tone**: Use clear, present tense language. Avoid overly technical jargon.
- **Format**: Remove unnecessary annotations like "(Required)" or "(Optional)" - this info is already in Field definitions.
- **Voice**: Use active voice and directly state the field's purpose and function.
- **Length**: Keep descriptions concise but complete with all necessary information.
- **Technical Terms**: When technical terms are required, provide simple explanations.
- **Consistency**: Use similar phrasing patterns for fields with similar functions.
- **Punctuation**: End all descriptions with periods for consistency.

Examples:
- Good: "The unique identifier for this world."
- Bad: "Unique World ID. (Required)"
- Good: "Whether interactions in this world influence the character's memory."
- Bad: "Does this world's interactions influence this specific character's long-term memory? (Required)."
Loading