DeepSeek Harness Remote
DeepSeek Harness Remote: DeepSeek Harness 실행 PC와 모바일·PC를 안전하게 연결해 어디서나 작업 이어받기
여러 프로젝트를 동시에 진행하는 사람들을 위한 오픈소스 시간 추적기, 항목을 프로젝트별로 분할
An open-source time tracker for people who work on several projects at once. Split one entry between projects, by hand or from Claude Code and Codex activity.
생산성Swift · C#GitHub @Threennovate온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
The open-source time tracker for parallel work with AI agents: one entry can count on several projects.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A classic time tracker puts each entry on one project. With AI agents, you start the timer on the project you are focused on, then hand off a small feature, a code review or a refactoring in one or two other projects while the agents work. By the end of the day that time adds up, and it is recorded nowhere. You can't split it at the moments you switched, because the work ran in parallel. Spindle lets an entry split its time between projects by share, and its Mac and Windows apps can suggest the split from your Claude Code, Codex and GitHub Copilot CLI logs, read locally. Nothing is saved until you confirm it.
It is a complete time tracker first: projects, clients, tasks and tags, billable and internal time, rates, reports and exports, teams, and apps for the web, the Mac, Windows, the iPhone and Android.
Where it is going, and what it deliberately won't do, is in docs/principles.md.
flowchart LR
logs["Claude Code, Codex and Copilot<br/>logs on your computer"] --> kept["When you sent prompts,<br/>in which repository and branch"]
kept --> projects["Each repository's project,<br/>as you linked it"]
projects --> suggestion["A suggested split,<br/>with the prompts behind it"]
suggestion --> you{"You"}
you -- "Split" --> split["One entry,<br/>split between projects"]
you -- "Keep" --> kept_entry["The entry as it was"]
Time between two prompts goes to the project of the first, and time the logs don't account for stays on the timer's project. A split you set yourself is never judged against the logs. How it works in detail is in docs/splits-and-suggestions.md.
What Spindle takes from the logs:
| Kept | Never kept |
|---|---|
| When each prompt was sent, and when agents were busy | Your prompts and the agents' answers |
| The repository and its branches | Code and files |
| Short session titles, only if you allow them | Which apps or windows you use, or screenshots |
The logs are read on your computer and stay there. Only if you turn on activity sync for your account do the Mac and Windows apps send the first column to your Spindle server, with each repository named by its git origin and never by its folder, so the web can show the same suggestions. It is yours alone: not admins, not reports. Turning sync off deletes it.
The apps:
| Platform | What it is | Where to get it |
|---|---|---|
| Web | The full app, including team and workspace settings; split suggestions with activity sync on | Spindle Cloud, or your own server |
| Mac | Native app with a menu bar; agent-log split suggestions and agent access | Download from the web app |
| Windows | Native app in the notification area; agent-log split suggestions and agent access | Download from the web app |
| iPhone | Timer, entries, calendar, reports and projects | App Store |
| Android | Timer, entries, calendar, reports and projects | Google Play |
The Mac, Windows and Android apps work with Spindle Cloud or with your own server. The iPhone app connects to Spindle Cloud for now; docs/self-hosting.md says what works differently on your own server.
The backend is ASP.NET Core with PostgreSQL, the web app React and TypeScript, the Apple apps Swift and SwiftUI, the Windows app .NET and Avalonia, and the Android app Kotlin and Jetpack Compose. How to run it locally, run the tests and send a change is in CONTRIBUTING.md. How the code is organised is in docs/architecture.md, and the apps in apple/README.md, windows/README.md and android/README.md.
Spindle's code is under the GNU Affero General Public License v3.0. If you run a modified version for
others over a network, the AGPL asks you to offer them its source: the web app links to it, and App__SourceUrl on
your server says where it is.
The Spindle name and logo are not under the AGPL; see TRADEMARKS.md. Third-party code and fonts keep their own licenses, listed in THIRD_PARTY_NOTICES.md.
Contributions are welcome under a contributor license agreement; CONTRIBUTING.md explains why. To report a vulnerability, see SECURITY.md.
Spindle is made by Threennovate.