GitHits
Search public open-source code, documentation, metadata, vulnerabilities, changelogs, and examples.
ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ
Secure secrets proxy for AI agents — manages API keys so agents never see raw credentials.เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 2/3 · ทำงานบนเครื่องคุณ · ✓ ตรวจคำสั่งแล้ว 14 พ.ย. 2569
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน
ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
คัดลอกข้อความนี้ไปวางในแชตของ Claude AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ Janee ให้ Claude ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี Node.js ด้วยคำสั่ง node -v ถ้าไม่มี ให้บอกฉันไปลงจาก https://nodejs.org/en/download ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): { "mcpServers": { "janee": { "command": "npx", "args": [ "-y", "@true-and-useful/janee" ] } } } 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ไม่ต้องใช้คีย์ 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ Janee ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
node -vMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: เปิดหน้าดาวน์โหลดทางการ เลือกรุ่น LTS แล้วเลือกตัวติดตั้งแบบกดเอง: Mac ไฟล์ .pkg · Windows ไฟล์ .msi ดับเบิลคลิกแล้วกดถัดไปจนจบ ไม่ต้องใช้คำสั่ง curl
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: node -v
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Node.js
SettingsDeveloperEdit Config
{
"mcpServers": {
"janee": {
"command": "npx",
"args": [
"-y",
"@true-and-useful/janee"
]
}
}
}ใช้ Janee บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ Janee หรือมีชื่อเครื่องมือของ Janee ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
คำสั่งด้านบนใช้ได้เลยโดยไม่ต้องใส่ค่าเหล่านี้ ถ้าอยากปรับค่อยเพิ่มเองตามคำอธิบายของผู้ทำ
JANEE_CONFIG เส้นทางไปยังไฟล์การตั้งค่าความลับ คำอธิบายแปลอัตโนมัติ ชื่อตัวแปรคงตามต้นฉบับ ถ้าไม่แน่ใจให้ดูต้นฉบับ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ChatGPT ยังต่อ Janee ไม่ได้
Janee ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ
ก · ใช้แอปที่ต่อ Janee ได้
ข · ตัวอื่นในหมวด ความปลอดภัยไซเบอร์ ที่ต่อกับ ChatGPT ได้
เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์
ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน
ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
คัดลอกข้อความนี้ไปวางในแชตของ Claude Code AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ Janee ให้ Claude Code ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี Node.js ด้วยคำสั่ง node -v ถ้าไม่มี ให้บอกฉันไปลงจาก https://nodejs.org/en/download ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): claude mcp add --scope user janee -- npx -y @true-and-useful/janee 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ไม่ต้องใช้คีย์ 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ Janee ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
node -vMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: เปิดหน้าดาวน์โหลดทางการ เลือกรุ่น LTS แล้วเลือกตัวติดตั้งแบบกดเอง: Mac ไฟล์ .pkg · Windows ไฟล์ .msi ดับเบิลคลิกแล้วกดถัดไปจนจบ ไม่ต้องใช้คำสั่ง curl
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: node -v
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Node.js
Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell
claude mcp add --scope user janee -- npx -y @true-and-useful/janeeต้องเห็น Janee ในรายการและขึ้นว่าเชื่อมต่อแล้ว
ใช้ Janee บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude Code บอกว่ากำลังใช้ Janee หรือมีชื่อเครื่องมือของ Janee ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
คำสั่งด้านบนใช้ได้เลยโดยไม่ต้องใส่ค่าเหล่านี้ ถ้าอยากปรับค่อยเพิ่มเองตามคำอธิบายของผู้ทำ
JANEE_CONFIG เส้นทางไปยังไฟล์การตั้งค่าความลับ คำอธิบายแปลอัตโนมัติ ชื่อตัวแปรคงตามต้นฉบับ ถ้าไม่แน่ใจให้ดูต้นฉบับ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน
ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
คัดลอกข้อความนี้ไปวางในแชตของ Cursor AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ Janee ให้ Cursor ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี Node.js ด้วยคำสั่ง node -v ถ้าไม่มี ให้บอกฉันไปลงจาก https://nodejs.org/en/download ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): { "mcpServers": { "janee": { "command": "npx", "args": [ "-y", "@true-and-useful/janee" ] } } } 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ไม่ต้องใช้คีย์ 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ Janee ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
node -vMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: เปิดหน้าดาวน์โหลดทางการ เลือกรุ่น LTS แล้วเลือกตัวติดตั้งแบบกดเอง: Mac ไฟล์ .pkg · Windows ไฟล์ .msi ดับเบิลคลิกแล้วกดถัดไปจนจบ ไม่ต้องใช้คำสั่ง curl
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: node -v
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Node.js
ใช้ Janee บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Cursor บอกว่ากำลังใช้ Janee หรือมีชื่อเครื่องมือของ Janee ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
คำสั่งด้านบนใช้ได้เลยโดยไม่ต้องใส่ค่าเหล่านี้ ถ้าอยากปรับค่อยเพิ่มเองตามคำอธิบายของผู้ทำ
JANEE_CONFIG เส้นทางไปยังไฟล์การตั้งค่าความลับ คำอธิบายแปลอัตโนมัติ ชื่อตัวแปรคงตามต้นฉบับ ถ้าไม่แน่ใจให้ดูต้นฉบับ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน
ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
คัดลอกข้อความนี้ไปวางในแชตของ VS Code AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ Janee ให้ VS Code ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี Node.js ด้วยคำสั่ง node -v ถ้าไม่มี ให้บอกฉันไปลงจาก https://nodejs.org/en/download ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): { "servers": { "janee": { "type": "stdio", "command": "npx", "args": [ "-y", "@true-and-useful/janee" ] } } } 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ไม่ต้องใช้คีย์ 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ Janee ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
node -vMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: เปิดหน้าดาวน์โหลดทางการ เลือกรุ่น LTS แล้วเลือกตัวติดตั้งแบบกดเอง: Mac ไฟล์ .pkg · Windows ไฟล์ .msi ดับเบิลคลิกแล้วกดถัดไปจนจบ ไม่ต้องใช้คำสั่ง curl
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: node -v
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Node.js
ใช้ Janee บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า VS Code บอกว่ากำลังใช้ Janee หรือมีชื่อเครื่องมือของ Janee ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
คำสั่งด้านบนใช้ได้เลยโดยไม่ต้องใส่ค่าเหล่านี้ ถ้าอยากปรับค่อยเพิ่มเองตามคำอธิบายของผู้ทำ
JANEE_CONFIG เส้นทางไปยังไฟล์การตั้งค่าความลับ คำอธิบายแปลอัตโนมัติ ชื่อตัวแปรคงตามต้นฉบับ ถ้าไม่แน่ใจให้ดูต้นฉบับ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
Claude Code
claude mcp add --scope user janee -- npx -y @true-and-useful/janeeClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"janee": {
"command": "npx",
"args": [
"-y",
"@true-and-useful/janee"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"janee": {
"command": "npx",
"args": [
"-y",
"@true-and-useful/janee"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"janee": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@true-and-useful/janee"
]
}
}
}JANEE_CONFIG envคำอธิบายแปลอัตโนมัติ ชื่อตัวแปรคงตามต้นฉบับ ถ้าไม่แน่ใจให้ดูต้นฉบับ
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 15 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub rsdouglas ซึ่งเป็นเจ้าของ repo
แก้โค้ดล่าสุด 8 เดือนที่ผ่านมา นานกว่า 6 เดือน
ใช้ MIT
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
ไม่พบรายการใน OSV.dev สำหรับ @true-and-useful/janee@0.8.5
ตรวจเฉพาะตัวแพ็กเกจรุ่นนี้ ไม่ใช่ทุก dependency · ตรวจเมื่อ 15 พ.ย. 2569
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
ยังไม่มีรีวิว
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 2 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด 8 เดือนที่ผ่านมา และส่งรุ่นล่าสุด (0.8.5) เข้า registry 9 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี GitHits, Dependency Management MCP Server, Snyk MCP, Draugr, Spotdb
หมวดเดียวกันจากผู้ทำคนอื่น ผ่านตัวตรวจคำสั่งแล้ว ตัวทางการขึ้นก่อน แล้วเรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Search public open-source code, documentation, metadata, vulnerabilities, changelogs, and examples.
Sonatype component intelligence: versions, security analysis, and Trust Score recommendations
Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.
Ephemeral data sandbox for AI workflows with guardrails and security
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Secrets management for AI agents via MCP
Your AI agents need API access to be useful. But they shouldn't have your raw API keys.
Janee sits between your agents and your APIs — injecting credentials, enforcing policies, and logging everything.
| 🔒 Zero-knowledge agents | Agents call APIs without ever seeing keys |
| 📋 Full audit trail | Every request logged with timestamp, method, path, status |
| 🛡️ Request policies | Allow/deny rules per capability (e.g., read-only Stripe) |
| ⏱️ Session TTLs | Time-limited access with instant revocation |
| 🔌 Works with any MCP client | Claude Desktop, Cursor, OpenClaw, and more |
| 🏠 Local-first | Keys encrypted on your machine, never sent to a cloud |
| 🖥️ Exec mode | Run CLI tools with injected credentials — agents never see the keys |
| 🤖 GitHub App auth | Short-lived tokens for autonomous agents — no static PATs |
| 🐦 Twitter/X OAuth 1.0a | Per-request OAuth signing — 4 secrets stay encrypted |
| ☁️ AWS SigV4 | Sign AWS API requests server-side — SES, S3, and more |
| 🔧 Automatic git auth | git push/pull just works when credentials include GitHub tokens |
AI agents need API access to be useful. The current approach is to give them your keys and hope they behave.
Janee is an MCP server that manages API secrets for AI agents:
~/.janee/execute MCP toolYour keys stay on your machine. Agents never see them. You stay in control.
Set up your APIs in Janee once:
services:
stripe: baseUrl: https://api.stripe.com auth: { type: bearer, key: sk_live_xxx } github: baseUrl: https://api.github.com auth: { type: bearer, key: ghp_xxx } openai: baseUrl: https://api.openai.com auth: { type: bearer, key: sk-xxx }
Now every agent that connects to Janee can use them:
No more copying keys between tools. No more "which agent has which API configured?" Add a new agent? It already has access to everything. Revoke a key? Update it once in Janee.
One config. Every agent. Full audit trail.
npm install -g @true-and-useful/janee
janee init
This creates ~/.janee/config.yaml with example services.
Option 1: Interactive (recommended for first-time users)
janee add
Janee will guide you through adding a service:
Service name: stripe
Base URL: https://api.stripe.com Auth type: bearer API key: sk_live_xxx
✓ Added service "stripe"
Create a capability for this service? (Y/n): y Capability name (default: stripe): TTL (e.g., 1h, 30m): 1h Auto-approve? (Y/n): y
✓ Added capability "stripe"
Done! Run 'janee serve' to start.
Using an AI agent? See Non-interactive Setup for flags that skip prompts, or the agent-specific guides below.
Option 2: Edit config directly
Edit ~/.janee/config.yaml:
services:
stripe: baseUrl: https://api.stripe.com auth: type: bearer key: sk_live_xxx
capabilities: stripe: service: stripe ttl: 1h autoApprove: true
Some tools need credentials as environment variables, not HTTP headers. Exec mode handles this:
janee add twitter --exec \
--key "tvly-xxx" \ --allow-commands "bird,tweet-cli" \ --env-map "TWITTER_API_KEY={{credential}}"
Now agents can run CLI tools through Janee without ever seeing the API key:
// Agent calls janee_exec tool
janee_exec({ capability: "twitter", command: ["bird", "post", "Hello world!"], cwd: "/home/agent/project", // optional working directory reason: "User asked to post a tweet" })
Janee spawns the process with TWITTER_API_KEY injected, runs the command, and returns stdout/stderr. The credential never enters the agent's context.
Key flags:
--exec — configure as exec-mode (CLI wrapper instead of HTTP proxy)--allow-commands — whitelist of allowed executables (security)--env-map — map credentials to environment variables--work-dir — working directory for the subprocess--timeout — max execution time (default: 30s)When using exec mode with GitHub credentials, Janee automatically handles git authentication. No extra configuration needed — git push, git pull, and git clone just work:
capabilities:
// Agent can push code without ever seeing the token
janee_exec({ capability: "git-ops", command: ["git", "push", "origin", "main"], cwd: "/workspace/my-repo" })
Janee detects git commands with GH_TOKEN/GITHUB_TOKEN in the environment and creates a temporary askpass script for HTTPS authentication. The script is cleaned up automatically after the command completes.
Static tokens are risky for long-running agents. GitHub App auth generates short-lived installation tokens on demand — no long-lived PATs required.
Option 1: Use create-gh-app (recommended)
npx @true-and-useful/create-gh-app create my-agent --owner @me
npx @true-and-useful/create-gh-app janee-add my-agent
Done. Your agent now gets short-lived GitHub tokens through Janee's MCP proxy.
Option 2: Manual setup
janee add github-app \
--auth-type github-app \ --app-id 123456 \ --pem-file /path/to/private-key.pem \ --installation-id 789
Or via config:
services:
github: baseUrl: https://api.github.com auth: type: github-app appId: "123456" pemFile: /path/to/private-key.pem installationId: "789"
How it works: When an agent requests access, Janee signs a JWT with the app's private key, exchanges it for a 1-hour installation token via GitHub's API, and caches the token until expiry. The agent never sees the private key — only the short-lived token reaches the API.
janee serve
Agents that support MCP (Claude Desktop, Cursor, OpenClaw) can now call the execute tool to make API requests through Janee:
// Agent calls the execute tool
execute({ capability: "stripe", method: "GET", path: "/v1/balance", reason: "User asked for account balance" })
Janee decrypts the key, makes the request, logs everything, and returns the response.
Works with any agent that speaks MCP:
@true-and-useful/janee-openclaw)janee serveIf you're using OpenClaw, install the plugin for native tool support:
npm install -g @true-and-useful/janee
janee init
openclaw plugins install @true-and-useful/janee-openclaw
Enable in your agent config:
{
agents: { list: [{ id: "main", tools: { allow: ["janee"] } }] } }
Your agent now has these tools:
janee_list_services — Discover available APIsjanee_execute — Make API requests through JaneeThe plugin spawns janee serve automatically. All requests are logged to ~/.janee/logs/.
Janee exposes three MCP tools:
| Tool | Description |
|---|---|
list_services | Discover available APIs and their policies |
execute | Make an API request through Janee (HTTP proxy mode) |
exec | Run a CLI command with injected credentials (exec mode) |
manage_credential | View, grant, or revoke access to agent-scoped credentials |
reload_config | Reload config from disk after adding/removing services (available when started with janee serve) |
Agents discover what's available, then call APIs through Janee. Same audit trail, same protection.
Config lives in ~/.janee/config.yaml:
server:
host: localhost
services: stripe: baseUrl: https://api.stripe.com auth: type: bearer key: sk_live_xxx # encrypted at rest
github: baseUrl: https://api.github.com auth: type: bearer key: ghp_xxx
capabilities: stripe: service: stripe ttl: 1h autoApprove: true
stripe_sensitive: service: stripe ttl: 5m requiresReason: true
Services = Real APIs with real keys Capabilities = What agents can request, with policies
| Type | Description | Example |
|---|---|---|
bearer | Bearer token in Authorization header | Stripe, OpenAI, GitHub |
basic | HTTP Basic Auth (username + password) | Internal APIs |
hmac-bybit | HMAC-SHA256 signing for Bybit | Bybit exchange |
hmac-okx | HMAC-SHA256 + passphrase for OKX | OKX exchange |
hmac-mexc | HMAC-SHA256 signing for MEXC | MEXC exchange |
headers | Custom key-value headers | Non-standard APIs |
service-account | Google service account JSON key | Google Cloud |
github-app | Short-lived GitHub installation tokens | GitHub API |
oauth1a-twitter | OAuth 1.0a per-request signing | Twitter/X API v2 |
aws-sigv4 | AWS Signature V4 per-request signing | SES, S3, and other AWS services |
Janee computes OAuth 1.0a signatures (HMAC-SHA1) server-side, so your 4 Twitter secrets stay encrypted at rest and never enter the agent's context:
services:
twitter: baseUrl: https://api.x.com auth: type: oauth1a-twitter consumerKey: xxx # encrypted at rest consumerSecret: xxx # encrypted at rest accessToken: xxx # encrypted at rest accessTokenSecret: xxx # encrypted at rest
capabilities: twitter: service: twitter ttl: 1h autoApprove: true
Or use the built-in template:
janee add twitter
Janee computes AWS Signature V4 (HMAC-SHA256) per-request, keeping your access keys encrypted at rest. Non-secret fields (region, awsService) stay in plain config:
services:
aws-ses: baseUrl: https://email.us-east-1.amazonaws.com auth: type: aws-sigv4 accessKeyId