update: kimi-code skill, fallback chain → groq kimi-k2

This commit is contained in:
Alexander Whitestone
2026-03-14 15:09:28 -04:00
parent 7a9acc8caa
commit 804ffb5cf0
4 changed files with 88 additions and 5 deletions

View File

@@ -1,5 +1,5 @@
{
"updated_at": "2026-03-14T14:38:52.799160",
"updated_at": "2026-03-14T15:08:54.695649",
"platforms": {
"discord": [
{

View File

@@ -199,8 +199,8 @@ custom_providers:
fallback_model:
- provider: groq
model: llama-3.3-70b-versatile
- provider: kimi-coding
model: kimi-k2.5
- provider: groq
model: moonshotai/kimi-k2-instruct
- provider: custom
model: qwen3.5:latest
base_url: "http://localhost:11434/v1"

View File

@@ -1,9 +1,9 @@
Alexander's token: ~/.config/gitea/token (user: rockachopa). Hermes has own Gitea user "hermes" (id=4), token at ~/.hermes/gitea_token, write collaborator on Timmy-time-dashboard. Manus has Gitea user "manus" (id=3), also write collaborator. Hermes commits as "Hermes Agent <hermes@timmy.local>" (repo-local git config). Git remote uses hermes token for auth.
Gitea (localhost:3000): Users: rockachopa(admin), hermes(id=4), manus(id=3), kimi(id=5). Repos: rockachopa/Timmy-time-dashboard, rockachopa/hermes-agent (sovereign fork), rockachopa/hermes-config. Hermes token: ~/.hermes/gitea_token. Alex token: ~/.config/gitea/token.
§
Timmy architecture plan: Replace hardcoded _PERSONAS and TimmyOrchestrator with YAML-driven agent config (agents.yaml). One seed class, all differentiation via config. User wants to update YAML files, not Python, to add capabilities. Key files to refactor: agents/timmy.py, agents/base.py, tools_delegation/__init__.py, tools_intro/__init__.py. SubAgent class stays mostly as-is, just reads from YAML. Routing should be config-based pattern matching, not LLM calls. Per-agent model assignment (big model for orchestrator/code/research, small for simple tasks). qwen3:30b pulling as primary local model (~18GB, MoE 3B active).
§
Hermes-Timmy workspace set up at ~/Timmy-Time-dashboard/workspace/. Flat file correspondence journal (correspondence.md), inbox/ (Hermes→Timmy), outbox/ (Timmy→Hermes), shared/ (handoff patterns, reference docs). Protocol: append-only, timestamped. Plan: plug into Timmy's heartbeat tick so he auto-replies to new correspondence.
§
2026-03-14 work session: Fixed 3 Timmy issues (#39 corrupted memory state, #36 event loop bug, #40 fact distillation). Created 5 new issues (#36-#40), closed 4 stale ones (#10-12, #27). QA: timmy interview 8/8 pass, timmy tick gives grounded responses. PRs #41-#43 merged to main. Next big target: #37 memory consolidation (three stores → one).
2026-03-14: Fixed Timmy issues #36-#40, PRs #41-#43 merged. Built voice loop. Added Hermes fallback chain (Anthropic→Groq→Kimi→Local) with recovery-up. Set up source control: hermes-agent sovereign fork (rebase workflow) + hermes-config repo. GROQ_API_KEY + KIMI_API_KEY in env. hermes-sync script at ~/.hermes/bin/.
§
2026-03-14 voice session: Built sovereign voice loop (timmy voice). Piper TTS + Whisper STT + Ollama, all local. Fixed event loop (persistent loop for MCP sessions), markdown stripping for TTS, MCP noise suppression, clean shutdown hooks. 1234 tests passing. Alexander wants to eventually train a custom voice using his own voice samples — noted for future.

View File

@@ -0,0 +1,83 @@
---
name: kimi-code
description: Delegate coding tasks to Kimi Code CLI (Moonshot). Non-interactive print mode for automation. Subscription-based OAuth. kimi-k2.5 under the hood.
version: 1.0.0
author: Hermes Agent
license: MIT
metadata:
hermes:
tags: [Coding-Agent, Kimi, Moonshot, K2.5, Automation]
related_skills: [claude-code, codex, hermes-agent]
force: true
---
# Kimi Code CLI
Delegate coding tasks to Kimi Code CLI via the Hermes terminal. Powered by kimi-k2.5 with 262K context. OAuth subscription — no API key needed.
## Prerequisites
- Kimi CLI installed (check `which kimi`)
- Logged in: `kimi login`
- Config at `~/.kimi/config.toml`
## One-Shot Tasks (Print Mode)
```
terminal(command="kimi --print -p 'Fix the XSS vulnerability in swarm_live.html by sanitizing innerHTML'", workdir="~/project", timeout=120)
```
Quiet mode (final answer only, no tool traces):
```
terminal(command="kimi --quiet -p 'Give me a git commit message for the current changes'", workdir="~/project", timeout=60)
```
## Key Flags
| Flag | Effect |
|------|--------|
| `--print` | Non-interactive mode, exits after executing |
| `-p "prompt"` | Pass the instruction (also `-c`) |
| `--quiet` | Shortcut for --print --output-format text --final-message-only |
| `--yolo` | Auto-approve all operations (implicit in --print) |
| `-w DIR` | Set working directory |
| `--output-format stream-json` | JSONL output for programmatic parsing |
| `--final-message-only` | Only output the final assistant message |
## Background Mode (Long Tasks)
```
# Start in background
terminal(command="kimi --print -p 'Refactor the auth module to use JWT'", workdir="~/project", background=true, timeout=300)
# Returns session_id
# Monitor
process(action="poll", session_id="<id>")
process(action="wait", session_id="<id>", timeout=300)
```
## Parallel Work with Git Worktrees
```
# Create worktrees for parallel tasks
terminal(command="git worktree add -b fix/issue-47 /tmp/timmy-47 main", workdir="~/project")
terminal(command="git worktree add -b fix/issue-25 /tmp/timmy-25 main", workdir="~/project")
# Fire off Kimi in each (background)
terminal(command="kimi --print -p 'Fix XSS in swarm_live.html. Commit when done.'", workdir="/tmp/timmy-47", background=true, timeout=180)
terminal(command="kimi --print -p 'Fix bare excepts in src/. Commit when done.'", workdir="/tmp/timmy-25", background=true, timeout=180)
# Monitor both
process(action="list")
process(action="wait", session_id="<id1>", timeout=180)
```
## Rules
1. **Use `--print` for automation** — default mode is interactive and blocks
2. **No PTY needed** — unlike Codex, print mode works without a pseudo-terminal
3. **OAuth-based** — subscription, not API key. Must be logged in via `kimi login`
4. **262K context** — kimi-k2.5 has huge context, good for large codebase tasks
5. **Background for long tasks** — use `background=true` + `process(action="wait")`
6. **Parallel is fine** — run multiple Kimi processes across worktrees
7. **Set timeout generously** — Kimi can take 1-3 minutes for complex tasks