I develop distributed systems frameworks and solutions, game server software and solutions, and cross-platform middleware for game servers and clients. I also build runtime libraries and developer tools.
I work with C++, Rust, Go, Lua, JavaScript, TypeScript, and Java.
- Maintainer of @atframework and @xresloader
- Member of @open-telemetry, Approver for OpenTelemetry C++
- Based in Shanghai, China
- Writing notes, deep dives, and engineering case studies at owent.net
- Distributed systems & cloud-native infrastructure: server frameworks and deployment solutions, communication systems, gateway services, service discovery, topology-driven routing, and automatic reconnection
- Game server development & solutions: backend architectures, stateful object routing, write-ahead logging (WAL) based distributed transactions and message queues, and reusable components for rank board, chatting, friend, guild, matchmaking, teams, High-performance player-to-player (P2P) marketplaces(support search across multiple attributes and tags, exchange-style trading with dynamic pricing, and direct-trade modes for competitive order claiming, flash sales, and auctions), Unreal Engine Dedicated Servers supporting/optimization and etc.
- Cross-platform server/client middleware: communication libraries, RPC frameworks, protocol integration, client SDKs, shared gameplay components, and configuration/data loading pipelines
- Runtime & concurrency: coroutine libraries, task scheduling, channels, and low-overhead components
- Observability: OpenTelemetry integration, metrics/tracing pipelines, diagnostics, and performance tuning
- Build & engineering: CMake toolchains, CI/CD workflows, configuration/code generation, data export pipelines, and game server/client build, packaging, and deployment tooling
| Project | What it does | Start here |
|---|---|---|
| libcopp | C++ stackful coroutines, C++20 coroutines, tasks, and channels | Repo · Docs |
| atframework / atsf4g-co | Cloud-native game server framework with coroutines, communication/gateways, generated RPCs, WAL, stateful object routing, distributed transactions/message queues, reusable game services, and observability | Repo · Docs |
| xresloader | Excel export, batch conversion, validation, and generated data loaders | Repo · Docs |
| llm-usage | Desktop dashboard for local AI agent usage: tokens, requests, cache statistics, trends, import/merge, and budget reminders. Pre-alpha. | Repo · Docs · Download |
| AICodeReviewer | Self-hosted AI review orchestration across GitHub, GitLab, Gitea/Forgejo, Perforce, and SVN, with agent adapters and structured findings | Repo · Docs |
Some repositories now live under owent; their original organization URLs remain working aliases.
The project links below point to current repositories, with the original paths kept alongside them.
| Project | Function | Original path / alias |
|---|---|---|
| atframe_utils | Shared C++ utilities: logging, configuration, CLI parsing, algorithms, crypto, memory/data structures, and distributed-system primitives including WAL | atframework/atframe_utils |
| libatbus | Async messaging over shared memory and network connections, with topology-driven node routing | atframework/libatbus |
| libatapp | Application lifecycle, modules, configuration, messaging connectors, etcd service discovery, and topology-driven connection management/reconnection | atframework/libatapp |
| libcopp | Coroutine and task runtime used by the server framework | — |
| atsf4g-co | Cloud-native game server framework with atgateway and atproxy, generated RPCs, WAL, stateful object routing, Redis, OpenTelemetry, distributed transactions and message queues (DTMQ), leaderboards, friends, matchmaking/teams, shared gameplay components, and Orbit UE Dedicated Server management | — |
| cmake-toolset | CMake helpers, dependency builds, custom package versions/mirrors, and cross-compilation support | atframework/cmake-toolset |
| generate-for-pb | Protobuf-driven code generation with Mako and Jinja2 templates | — |
| atdtool | Deployment tooling: merge values, render per-instance configuration/scripts, generate IDs, and watch files | — |
| hiredis-happ | Async C++ Redis connector with reconnect/retry and Redis Cluster routing | — |
Go, Rust, C# bindings, and simulation tools
| Project | Function / status |
|---|---|
| atsf4g-go | Go game server framework intended to work with atsf4g-co |
| libatapp-go | Go application lifecycle, module, event, and configuration framework |
| libatbus-go | Go service communication layer; its README still lists core transport/routing work as TODO |
| atframe-utils-go | Go utility packages and build-tool/configuration management |
| libatbus-rs | Rust communication middleware under development; its README describes design goals |
| atlist-rs | Rust linked list with independently held iterators; other iterators survive insertions, moves, and removals |
| jiffies-timer-rs | Rust jiffies timer implementation |
| protoc-ext-render-rs | protoc plugin for customizing generated code |
| Atapp-CSharp | C# access to libatapp through its C binding |
| AtgwInnerCli-CSharp | C# access to the atgateway internal protocol through its C binding |
| simulator-co | Command-driven server/client simulation components with libuv and Lua integration |
| Project | Function | Original path / alias |
|---|---|---|
| xresloader | Java Excel export engine for Protobuf, MessagePack, Lua, JavaScript, JSON, XML, and UE data; validation, aliases, and merged tables | xresloader/xresloader |
| xresconv-cli | Rust CLI for XML-configured batch conversion, scheme selection, parallel jobs, and command previews | xresloader/xresconv-cli |
| xresconv-gui | Tauri 2 desktop batch converter with a Node.js backend, search, output selection, previews, cancellation, and logs | xresloader/xresconv-gui |
| xresconv-conf | Shared XML batch-conversion configuration specification and examples for the CLI and GUI | — |
| xres-code-generator | Generates configuration loaders and indexes from Protobuf declarations; C++, Lua, C#, Go, and UE templates | xresloader/xres-code-generator |
| xresloader-protocol | Data headers and Protobuf extensions used by the export/loading pipeline | xresloader/xresloader-protocol |
| xresloader-dump-bin | Inspect binary exports as readable text and extract strings/tagged fields | xresloader/xresloader-dump-bin |
| DynamicMessage-net | Dynamic Protobuf messages and indexed configuration loading for .NET using protobuf-net | — |
| xresloader-docs | Documentation source and examples | — |
| upload-to-github-release | GitHub Action for uploading release assets, including overwrite support | — |
Latest posts from owent.net · Subscribe via RSS
- 2026-09-07 · 大语言模型的基石:Transformer 入坑笔记(四) - 线性注意力(Linear Attention) 的基础
- 2026-06-28 · 大语言模型的基石:Transformer 入坑笔记(三) - 注意力机制和 Transformer
- 2026-06-25 · 大预言模型的基石:Transformer 入坑笔记(二) - 基本原理和 Word Embeddings
- 2026-05-01 · 大预言模型的基石:Transformer 入坑笔记(一) - 大模型训练链路
- 2026-05-01 · 国产大模型编码能力实测(GLM 5.1、Kimi K2.6、Mimo v2.5 Pro 和 DeepSeek V4 Pro)
- 2026-04-23 · 国产大模型(GLM 5.1、Kimi K2.6)真实场景效果和 Coding Plan 额度测试
More tools I maintain
| Project | Focus |
|---|---|
| wxwork_robotd | Enterprise WeChat bot access service |
| ddns-cli | DDNS client for Cloudflare / DNSPod |
| coredns-nftables | CoreDNS plugin for nftables integration |
| coredns-filter | CoreDNS response filtering plugin |






