寫程式時間統計服務

Engineering & Development

一套自架的寫程式時間統計服務:編輯器裡的 WakaTime 外掛把寫程式的紀錄送來,整理成每日、每週的專案、語言與編輯器統計。以 Docker Compose 在自己的機器上起站,資料存在 SQLite,密碼鹽由腳本隨機產生,公開排行榜、寄信與錯誤回報預設關閉。衍生自 MIT 授權的開源統計服務軟體凍結快照;交付含自原始碼建置映像的編排檔、密碼鹽產生腳本和繁中快速開始文件。

訂閱US$49 每月
最近實跑2026-11-02
實際使用
開箱可用度4 / 5
你需要準備
修改工作量少4 / 5

適合誰

想自己掌握寫程式時間統計、不把紀錄交給第三方服務的個人開發者與小團隊。

如何啟動

$ sh scripts/quickstart/init-env.sh
$ docker compose up -d --build

瀏覽檔案

以下為固定版本的商品檔案。少數本店自用的檔案不會放進 zip。

檔案總覽562 個路徑
▸bruno20
Heartbeats/
Misc/
Shields/
Summary/
WakaTime/
bruno.json
collection.bru
environments/
▸config15
config.go
config_test.go
cookie.go
db.go
db_opts.go
eventbus.go
fs.go
jobqueue.go
logging.go
oidc.go
…
▸coverage1
coverage.out
▸data2
colors.json
data.go
▸etc2
Caddyfile
wakapi.service
▸helpers6
date.go
helpers.go
http.go
interval.go
interval_test.go
summary.go
▸lib1
concurrent_map.go
▸middlewares10
authenticate.go
authenticate_test.go
custom/
filetype.go
logging.go
principal.go
security.go
sentry.go
shared_data.go
▸migrations44
20201103_rename_language_mappings_table.go
20201106_migration_cascade_constraints.go
20210202_fix_cascade_for_alias_user_constraint.go
20210206_drop_badges_column_add_sharing_flags.go
20210213_add_has_data_field.go
20210221_add_created_date_column.go
20210411_add_imprint_content.go
20210411_drop_migrations_table.go
20210806_remove_persisted_project_labels.go
20211215_migrate_id_to_bigint.go
…
▸mocks19
aggregation_service.go
alias_repository.go
alias_service.go
api_key_service.go
base_repository.go
duration_repository.go
duration_service.go
heartbeat_repository.go
heartbeat_service.go
key_value_service.go
…
▸models58
alias.go
api_key.go
canonical_names.go
compat/
diagnostics.go
duration.go
durations.go
filters.go
filters_test.go
heartbeat.go
…
▸repositories17
alias.go
api_key.go
base.go
diagnostics.go
duration.go
duration_test.go
heartbeat.go
heartbeat_test.go
key_value.go
language_mapping.go
…
▸routes59
api/
compat/
handler.go
home.go
home_test.go
imprint.go
leaderboard.go
login.go
login_test.go
misc.go
…
▸scripts27
aggregate_durations_mysql.sql
aggregate_durations_postgres.sql
build.sh
bundle_icons.js
clean_duplicates.sql
convert_colors.py
count_duplicates_by_user.sql
create_user.sh
database_size_mysql.sql
dbmigrate.go
…
▸services39
activity.go
aggregation.go
aggregation_test.go
alias.go
alias_test.go
api_key.go
diagnostics.go
duration.go
duration_test.go
heartbeat.go
…
▸static52
assets/
contribute.json
docs/
▸testing98
compose.yml
config.mysql.yml
config.postgres.yml
config.sqlite.yml
data.sql
run_api_tests.sh
run_mail_tests.sh
schema.sql
wakapi_api_tests/
▸utils21
auth.go
collection.go
color.go
cron.go
date.go
date_test.go
db.go
dns.go
fs/
func.go
…
▸views31
alerts.tpl.html
entity-filter.tpl.html
foot.tpl.html
footer.tpl.html
head.tpl.html
header.tpl.html
imprint.tpl.html
index.tpl.html
leaderboard.tpl.html
login-btn.tpl.html
…
▫ATTRIBUTION.md
▫CONTRIBUTING.md
▫Dockerfile
▫LICENSE
▫LICENSE-99LL.md
▫PRODUCT.md
▫QUICKSTART.md
▫README.md
▫SECURITY.md
▫SECURITY.upstream.md
▫compose.yml
▫config.default.yml
▫delivery-manifest.txt
▫doap.rdf
▫entrypoint.sh
▫funding.json
▫go.mod
▫go.sum
▫main.go
▫package.json
▫sonar-project.properties
▫tailwind.config.js
▫version.txt
▫yarn.lock
▫設定檔與隱藏檔 16

購前披露

你買的是什麼

自架寫程式時間統計服務:編輯器裡的 WakaTime 外掛把寫程式的紀錄送來,整理成專案、語言與編輯器統計。跑密碼鹽產生腳本後用 Docker Compose 起站,資料存 SQLite。

衍生自 MIT 授權的開源統計服務軟體,非原專案本身。我方加工:自原始碼建置映像的編排檔、密碼鹽產生腳本與繁中快速開始文件。

交付形式是凍結快照:一份 zip 檔,內容取自商品倉庫 8a0bfab 這個版本。

已知限制

  • 服務以明文 HTTP 開在本機 3000 埠,TLS 與反向代理要自備
  • 介面為英文
  • 編輯器端的 WakaTime 外掛不在交付內,須自行安裝
  • 交付前沒有用真實的編輯器外掛送過紀錄
  • 註冊預設開放,建好帳號後須自行改設定關閉
  • 公開排行榜、寄信、錯誤回報與訂閱功能預設全部關閉
  • 密碼鹽在建立帳號後不能改,改了所有人的密碼都會驗證失敗
  • docker compose down -v 會刪除所有帳號與統計
  • 首次啟動要從原始碼建置映像,期間向 registry 與 Go 模組庫取件
  • 釘死在交付快照,不追上游。

責任上限、承諾範圍與法定底線,以服務條款為準。

查核紀錄

以下每一項皆依固定版本查核。每一項結果都附上理由、證據連結與查核人。未通過的項目也如實列出,以供檢驗。

5 通過0 需注意0 未通過

Source Review

原始碼審閱

PASS 通過

交付執行面逐項審:我方加工檔逐行審讀 —— compose.yml(對外埠只綁 127.0.0.1;密碼鹽缺少就拒絕啟動;SQLite 放具名資料卷;公開排行榜、寄信、錯誤回報與訂閱功能關閉)、scripts/quickstart/init-env.sh(openssl 產生隨機密碼鹽,.env 權限 600,已有 .env 不動)、Dockerfile 的改動(基礎映像以摘要固定)。上游 Go 原始碼未逐檔審讀,以 MIT 授權與容器隔離為依據。

證據存放於本店的私有程式庫(不對外開放):https://github.com/dev-zillio-cc/dsp-045-coding-time-tracker/blob/8a0bfab1e4dbff11fa9ada77909e7e70791178b5/compose.yml查核於 2026 年查核人 claude-code build-product session
Script Safety

腳本與權限

PASS 通過

買家交付路徑會執行的腳本逐一檢視:init-env.sh 為我方所寫(逐行審);建置走 Dockerfile(逐行讀過:在固定映像中編譯 Go 程式與一支靜態的健康檢查程式,複製進以非 root 使用者執行的 distroless 執行映像,未見下載後直接餵給 shell 執行的形狀)。

證據存放於本店的私有程式庫(不對外開放):https://github.com/dev-zillio-cc/dsp-045-coding-time-tracker/blob/8a0bfab1e4dbff11fa9ada77909e7e70791178b5/Dockerfile查核於 2026 年查核人 claude-code build-product session
Recency

90 天活躍度

PASS 通過

本商品為凍結快照,不追上游:上游原始碼釘死於商品倉庫建立當日取得的主線版本(見證據連結),商品倉庫由該快照加上我方加工 commits 組成。

License

授權

PASS 通過

SPDX:LicenseRef-99LL-Product

上游 LICENSE 逐字實查(證據連結指向釘死版本的檔案本體,並與商品倉庫內同一份比對一致):標準 MIT 全文,著作權行只寫年份、沒有具名著作權人。允許商用、修改、衍生、再散布與販售,義務為保留版權聲明與授權全文(LICENSE 與 ATTRIBUTION.md 隨 zip 交付);上游沒有 NOTICE 檔。非依 GitHub 的 license 欄位判定。商品整體另附 99LL 商品授權範本:上游 LICENSE 原樣保留,另置 LICENSE-99LL.md 作為加工部分的銷售與責任條款,spdx 記 LicenseRef-99LL-Product。

Dependency Licenses

相依套件授權

PASS 通過

記載的是宣告面,不是掃描結果:Go 相依以 go.mod 宣告、go.sum 校驗,套件本體由買家建置時自 Go 模組庫下載;基底映像由 registry 取得。這些相依樹未逐包掃描授權。上游沒有 submodule,沒有另外複製進來的第三方資料集(見 ATTRIBUTION.md)。

證據存放於本店的私有程式庫(不對外開放):https://github.com/dev-zillio-cc/dsp-045-coding-time-tracker/blob/8a0bfab1e4dbff11fa9ada77909e7e70791178b5/ATTRIBUTION.md查核於 2026 年查核人 claude-code build-product session
HEALTH 實測通過

最後實測通過:2026-11-02

訂閱即可下載全部商品
US$49/ 月原價 US$99

訂閱期間可下載目錄中的所有商品,不需要另外購買這一件。看方案內容

訂閱前請先以 Google 帳號登入。訂閱與帳單皆綁定你登入的信箱。

已訂閱即可直接下載。尚未訂閱時會前往方案頁,尚未登入時會先前往登入頁。