Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Autonomous spec-to-product coding-agent CLI with an MCP server exposing 39 tools over stdio.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"loki-mode": {
"command": "npx",
"args": [
"-y",
"loki-mode",
"mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add loki-mode -- npx -y loki-mode mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"loki-mode": {
"command": "npx",
"args": [
"-y",
"loki-mode",
"mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"loki-mode": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"loki-mode",
"mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub asklokesh ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (10.9.1) เข้า registry 34 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, TF Rooms
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Live room availability, rates and stay quotes for 12 New Leaf motels in Twin Falls, Idaho.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Your agent says done. Loki proves it: an autonomous coding agent that turns a task or issue into a verified pull request with a signed receipt you can check yourself.
Website | Quickstart | Install guide | User guide | CLI reference | Compare with opencode | Changelog
The npm badge above tracks the current release; see CHANGELOG.md for release notes.
CLI reference: docs/CLI-REFERENCE.md (generated from the command registry).
npm install -g loki-mode
The npm package installs the Bun runtime the engine needs as an optional dependency. Other ways in: bun install -g loki-mode, brew tap asklokesh/tap && brew install loki-mode, or docker pull asklokesh/loki-mode:latest (Docker guide). Upgrade with loki self-update.
Want to see a result before you install or spend anything?
npx loki-mode start # no git repo: a real receipt, no key, no spend
npx loki-mode tour # the same receipt when you are already inside a repo
npx downloads the package the first time, so that step needs the network. The receipt itself replays offline and checks with no provider and no key.
npx loki-mode wow # a provider is ready: one tiny real task in a temp repo, its own receipt
Loki needs a model. Claude Code (claude) is the default provider: install it and log in. The bundled Agent SDK with an ANTHROPIC_API_KEY can stand in for the CLI on the main path. Other coding CLIs are optional. See Requirements.
cd your-repo
loki setup # first-run wizard (or: loki doctor --fix) loki start "add rate limiting to /api/login" # the primary path: build, verify, seal a receipt, open a PR loki start prd.md # same, from a PRD file loki start owner/repo#123 # same, from a GitHub, GitLab or Jira issue loki "fix #123" # an issue of this checkout; a copied issue or PR URL works as is loki edit "rename fooBar to foo_bar" # one small change, no loop loki chat # interactive alternative: Plan and Build modes
loki start, loki " ", loki owner/repo#N and loki quick " " all run on the Loki 10 engine by default, whatever the flag order or input form. Add --no-pr to build and verify without opening a pull request, --max-cost to cap spend, and --provider to pick another coding CLI. The spend cap defaults to $100 when ANTHROPIC_API_KEY or OPENAI_API_KEY is set and to no dollar cap on a subscription login; budgets.per_run in loki.yaml also sets it. Inspect the route without running: loki route start prd.md or --explain-route. New here? The 5-minute quickstart walks through it.
Every run starts from a delivery contract derived from your task, writes checks from the task alone before touching code, implements, verifies, and ends in exactly one outcome: VERIFIED, ALREADY_SATISFIED, FAILED, BUDGET_STOP, BLOCKED or STALLED (exit codes). If the contract cannot be satisfied as written, the run stops and asks one question instead of guessing.
[PARTIAL] that leads with what is not proven; any other outcome keeps the branch local and prints where it is..loki/runs/ /receipt.json, signed with a local Ed25519 key created on first run.agents/types.json, scored by run.sh:FOCUS_KEYWORDS) by matching the changed files and diff against each reviewer's keywords.loki verify # newest run; or: loki verify <run-id>
loki verify re-hashes the receipt, checks its signature and checks it against the run's event log. It prints a verdict and exits 0 (VERIFIED), 1 (TAMPERED), 2 (UNCHECKED), 3 (UNSIGNED, refused unless --allow-unsigned), 4 (run outcome not verified) or 66 (no runs); [ $rc -eq 0 ] is the only safe test for "verified". It also checks that your checkout still matches the sealed code: a run that opened a PR returns you to your starting branch, so verify it from the run's branch (git fetch origin loki/ && git checkout --detach FETCH_HEAD), or it reads UNCHECKED and says so. loki start also requires fail-to-pass for a declared behavior change: a Wall test must fail on the old code and pass after, or the verdict stays PARTIAL (LOKI_MUTATION_STRICT=0 opts out). Full table: docs/exit-codes.md. On another machine, export the public key with loki keys export and pass it with loki verify --pubkey . A receipt claims only what its checks ran, and lists what they did not; signing proves who produced it, not that the code is bug-free. Details: docs/SIGNED-RECEIPTS.md.
For a multi-repo change set, loki start --workspace " " seals one signed composite.json over every child receipt, and loki verify /composite.json re-checks it offline (docs/WORKSPACES.md). A composite never reads higher than its weakest child.
Two vocabularies, not one. Receipt verdicts (sealed, 5): VERIFIED, PARTIAL, ALREADY_SATISFIED, SPEC_CONFLICT, FAILED. Run outcomes (printed, 8): VERIFIED, ALREADY_SATISFIED, PARTIAL, FAILED, BUDGET_STOP, BLOCKED, STALLED, CANCELLED. BUDGET_STOP, BLOCKED, STALLED and CANCELLED are run outcomes, never receipt verdicts.
| Run outcome | Receipt verdict | loki start exit |
|---|---|---|
| VERIFIED, ALREADY_SATISFIED | same | 0 |
| FAILED | same | 1 |
| PARTIAL | same | 6 |
| BUDGET_STOP | none (stopped at a cap) | 3 |
| BLOCKED | SPEC_CONFLICT | 4 |
| STALLED | none | 5 |
| CANCELLED | none | 130 |
Composite: every child VERIFIED or ALREADY_SATISFIED gives VERIFIED (all ALREADY_SATISFIED stays ALREADY_SATISFIED, any SPEC_CONFLICT child keeps SPEC_CONFLICT); one PARTIAL child caps it at PARTIAL; a FAILED child fails it. loki verify on a composite exits 0 VERIFIED, 1 TAMPERED, 2 UNCHECKED, 3 UNSIGNED.
Autonomy and deploy: .loki/policies.json autonomy: propose|execute|operate governs what loki start may do (propose opens nothing, execute opens a PR, operate also allows deploy); no file keeps today's behavior. loki trust prints advisory graduation advice from your receipts and never writes the policy. Loki deploys only behind loki deploy --execute (or loki start --deploy) plus a VERIFIED, HEAD-anchored receipt and the policy permission; --health-url and --auto-rollback add a post-deploy probe and a documented provider rollback. A Sentry alert webhook can enqueue a receipt-gated fix PR (docs/sentry-intake.md).
A finished run prints a short summary (every run on both engines also ends with a unified Result, Files, Cost, Elapsed, Receipt and next: block; --quiet prints only that block, --json adds a summary object):
Outcome: VERIFIED
PR: https://github.com/owner/repo/pull/1 Receipt: sha256:2f9a41c7e0b3... NOT PROVEN: full suite, app boot, security scan Cost: $0.42 (claude, 212k tokens) Time: 4m12s (intake 11s, plan 20s, implement 3m10s, verify 31s)
| Command | What it does | |||
|---|---|---|---|---|
loki start " " | The command you run: same provider model as a raw session, then the harness re-runs the checks and seals a receipt (--no-pr, --provider, --max-cost, --haiku to run implement and fix on Haiku, climbing to Sonnet on a failed check). loki " " and loki owner/repo#N are shorthand. No task and no git repo shows a receipt and spends nothing | |||
loki edit " " | One targeted change in one pass, no PR, plan or council (--verify, --receipt, --commit, --dry-run) | |||
loki quick " " | One small task with a verify loop, no PR | |||
loki chat | Interactive alternative: Plan and Build modes, slash commands, /run starts a loki start run, --attach joins one | |||
loki route start | Show the engine, provider, model and reason without running (also --explain-route) | |||
loki setup | First-run wizard: tools, Claude login, provider, model route, spend cap | |||
| `loki config list\ | get\ | set\ | path` | Read and write settings |
loki models [--local] | List model routes (OpenRouter, Ollama, LM Studio, llama.cpp, vLLM, custom); discover local models | |||
| `loki agents list\ | new\ | show\ | export --claude` | Custom child agents in .loki/agents/*.md |
loki status [run-id] | Status of the latest run, or of a given run | |||
loki verify [run-id] | Check a receipt's hash, signature and event log | |||
loki answer [run-id] " " | Answer a BLOCKED run; it continues under the same run id (also --text "...") | |||
loki doctor [--fix] [--json] | Check prerequisites, providers and login; --fix applies safe fixes | |||
loki control serve | Start the Control Plane (see below) | |||
loki dashboard | Open the Control Plane UI, starting it if needed | |||
loki tour | Show a sample receipt offline. loki start does this when you are not in a git repo and did not pass a task | |||
loki wow | Same live mini-task as a normal start, in a temp repo. Offline sample when no provider is ready | |||
loki factory " " | Same as loki start. The policy line is printed by start | |||
loki --help | Everything else; loki help for one command |
Core verbs: docs/CLI-CORE-VERBS.md. Every command (generated): docs/CLI-REFERENCE.md. Engine guide, provider table, model routes, custom agents and chat: docs/v10/GUIDE.md. Honest comparison with opencode: docs/COMPARE-OPENCODE.md.
Two providers are supported. Claude Code is the default Tier-1 provider (the claude CLI, or, with only ANTHROPIC_API_KEY, the Anthropic Agent SDK). --provider opencode (or LOKI_PROVIDER=opencode) runs opencode, which reaches any model, including OpenRouter: export OPENROUTER_API_KEY and pass --model openrouter/ / ; the Loki 10 engine enforces the wall-clock limit and a post-iteration guard scan there. codex, cline, aider and gemini were removed and exit 2 with a one-line migration message. To keep the Claude harness on OpenRouter or a local model, set LOKI_MODEL_ROUTE= / (kinds: openrouter, ollama, lmstudio, llamacpp, vllm, custom) before loki start; loki models --local finds local runtimes and prints ready-to-paste values.
LOKI_MODEL_ROUTE=ollama/qwen3-coder loki start prd.md
OPENROUTER_API_KEY=sk-or-... loki start --provider opencode --model openrouter/deepseek/deepseek-v3.2 prd.md
A local UI and API for all yo
ตัดมาแค่ช่วงต้น อ่านต่อใน repo